Pomimo tego, że wielu użytkowników potrzebuje funkcjonalności systemu zarządzania bazą danych typu MySQL, nie mogą oni czuć się komfortowo w interakcji z systemem wyłącznie za pomocą konsoli z MySQL.
phpMyAdmin stworzono z myślą o tym, żeby użytkownicy mogli współdziałać z MySQL poprzez stronę internetową. Niżej przedstawimy, jak zainstalować i zabezpieczyć phpMyAdmin. Dzięki temu będziesz mógł go bezpiecznie używać do zarządzania bazami danych z systemu Ubuntu 16.04 na Serwerach SSD VPS lub fizycznych maszynach.
Wstępne wymagania
Przed rozpoczęciem musisz sprawdzić kilka rzeczy.
Po pierwsze, powinieneś być użytkownikiem innym niż administrator z uprawnieniami sudo
.
Oprócz tego zakładamy, że masz zainstalowane zestaw LAMP (Linux, Apache, MySQL i PHP) na serwerze VPS z Ubuntu 16.04.
Wreszcie, istnieją ważne kwestie bezpieczeństwa, których należy przestrzegać podczas korzystania z oprogramowania podobnego do phpMyAdmin ponieważ:
- Komunikuje się ono bezpośrednio z instalacją MySQL
- Obsługuje uwierzytelnienia używając poświadczeń MySQL
- Wykonuje i zwraca wyniki arbitralnych zapytań SQL
W związku z powyższym oraz z racji tego, że jest to często atakowana i powszechnie wdrażana aplikacja PHP, nigdy nie uruchamiaj phpMyAdmin w zdalnych systemach poprzez zwykłe połączenie HTTP.
Instalowanie phpMyAdmin
Zainstaluj phpMyAdmin z domyślnych repozytorium Ubuntu.
Możesz to zrobić aktualizując lokalny indeks pakietów, a następnie za pomocą systemu zarządzana pakietami apt
w celu pobrania plików oraz ich instalacji w systemie Ubuntu:
sudo apt-get update
sudo apt-get install phpmyadmin php-mbstring php-gettext
Zobaczysz kilka pytań związanych z prawidłowym konfigurowaniem instalacji.
Uwaga: Po pojawieniu się pierwszego wiersza, apache2 jest podświetlone, lecz nie jest wybrane. Jeżeli nie przyciśniesz Spacji w celu wyboru Apache, niezbędne pliki nie zostaną zainstalowane. Przyciśnij Spację, Tab, a następnie Enter w celu wybrania Apache.
- W celu wybrania serwera wybierz apache2.
- Wybierz yes w przypadku prośby wykorzystania
dbconfig-common
w celu utworzenia bazy danych - Zostaniesz poproszony o podanie Twojego hasła administratora
- Następnie zostaniesz poproszony o potwierdzenie hasła dla aplikacji
phpMyAdmin
Konfiguracyjny plik phpMyAdmin Apache w trakcie instalacji zostanie dodany do katalogu /etc/apache2/conf-enabled/
, gdzie zostanie automatycznie odczytany.
Jedyną rzeczą, którą powinniśmy zrobić, jest włączenie rozszerzeń PHP mcrypt
i mbstring
, czego możemy dokonać wpisując:
sudo phpenmod mcrypt
sudo phpenmod mbstring
Następnie zrestartuj Apache w celu uruchomienia wprowadzonych zmian:
sudo systemctl restart apache2
Teraz masz dostęp do strony internetowej poprzez odwiedzenie domeny serwera lub publicznego adresu IP z końcówką /phpmyadmin
:
https://domena_czy_adres_IP/phpmyadmin
Zaloguj się do interfejsu za pomocą nazwy użytkownika root
oraz hasła administracyjnego skonfigurowanego podczas instalacji MySQL.
Po zalogowaniu zobaczysz interfejs użytkownika, który wygląda mniej więcej następująco:
Zabezpieczenie phpMyAdmin
Gratulacje. Teraz nasz interfejs phpMyAdmin dość dobrze działa. Jednak to jeszcze nie koniec. Ze względu na jego powszechne wykorzystanie, phpMyAdmin jest często poddawany atakom. Będziesz musiał zrobić kilka dodatkowych rzeczy, aby zapobiec nieautoryzowanemu dostępowi.
Jednym z najprostszych sposobów podwyższenia bezpieczeństwa jest umieszczenie i włączenie uwierzytelniania i autoryzacji Apache za pomocą .htaccess
Konfigurowanie Apache w celu autoryzacji .htaccess
Po pierwsze, musimy umożliwić korzystanie z plików .htaccess
edytując konfiguracyjny plik Apache.
Edytujmy połączony plik mieszczący się w katalogu konfiguracyjnym Apache:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Dodajmy dyrektywę AllowOverride All
w sekcji <Directory /usr/share/phpmyadmin>
pliku konfiguracyjnego w następujący sposób:
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .
Po dodaniu powyższego wiersza, zapisz i zamknij plik.
Zresetuj Apache w celu uruchomienia wprowadzonych zmian:
sudo systemctl restart apache2
Stworzenie pliku .htaccess
Po włączeniu .htaccess dla naszej aplikacji, powinniśmy go stworzyć w celu zapewniania dodatkowego bezpieczeństwa.
Powodzenie powyższego działania jest możliwe pod warunkiem stworzenia pliku w katalogu aplikacji. Możemy stworzyć niezbędny plik i otworzyć go w naszym edytorze tekstowym z uprawnieniami użytkownika root wpisując:
sudo nano /usr/share/phpmyadmin/.htaccess
W pliku powinniśmy wprowadzić następujące informacje:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Przeanalizujmy znaczenia każdego wiersza:
AuthType Basic
: Ten wiersz określa typ wdrażanego uwierzytelnienia. Niniejszy typ wdroży uwierzytelnienia za pomocą hasła przy użyciu pliku haseł.AuthName
: Tutaj ustawiamy wiadomość do okna dialogowego. Zachowaj ten uniwersalny szablon, aby osoby nieupoważnione nie mogły uzyskać żadnych informacji chronionych.AuthUserFile
: Ten wiersz ustawia lokalizację pliku haseł wykorzystywanych w celach uwierzytelnienia. Powinien on się znajdować poza obsługiwanymi katalogami. Stworzymy ten plik niebawem.Require valid-user
: Ten wiersz precyzuje, że tylko uwierzytelnieni użytkownicy powinni mieć dostęp do tego zasobu. To właśnie on rzeczywiście blokuje dostęp nieautoryzowanym użytkownikom.
Po zakończeniu, zachowaj i zamknij.
Stworzenie pliku .htpasswd w celu uwierzytelnienia
Po określeniu lokalizacji pliku haseł za pomocą dyrektywy AuthUserFile w pliku .htaccess
powinniśmy stworzyć ten plik.
W celu zakończenia tego procesu potrzebujemy dodatkowego pakietu. Możemy go zainstalować z domyślnego depozytorium:
sudo apt-get install apache2-utils
Teraz mamy dostępne narzędzia htpasswd
.
Dla pliku haseł wybraliśmy następującą lokalizację “/etc/phpmyadmin/.htpasswd
“. Teraz stworzymy plik i przekażemy początkowemu użytkownikowi wpisując:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd login
Zostaniesz poproszony o wybranie i potwierdzenie hasła dla stworzonego użytkownika. Następnie tworzony jest plik ze stworzonym przez ciebie zakodowanym hasłem.
Jeżeli chcesz wprowadzić dodatkowego użytkownika, powinieneś to zrobić bez markiera -c
w następujący sposób:
sudo htpasswd /etc/phpmyadmin/.htpasswd dodatkowyuzytkownik
Po otrzymaniu dostępu do podkatalogu phpMyAdmin, zostaniesz poproszony o podanie loginu i hasła, które właśnie skonfigurowałeś:
https://domena_czy_adres_IP/phpmyadmin
Po uwierzytelnieniu w Apache, zostaniesz przekierowany do strony uwierzytelnienia phpMyAdmin w celu wprowadzenia danych do logowania się do bazy danych. Z uwagi na fakt, że w przeszłości phpMyAdmin ucierpiała z powodu niedociągnięć, powyższe działania zapewniają dodatkowe bezpieczeństwo.
Podsumowanie
Teraz masz skonfigurowany phpMyAdmin, który jest gotowy do użycia na serwerze Ubuntu 16.04. Używając tego interfejsu można łatwo stwarzać bazy danych, użytkowników, tabele itd., a także wykonywać takie typowe operacje, jak usuwanie i modyfikacja struktury bazy i jej danych.
Comments (1)
daniel
witam, mam problem gdyż zrobiłem wszystko według poradnika i po wpisaniu http://195.242.117.68/phpmyadmin/
404 Not Found
nginx/1.10.3 (Ubuntu)