Witajcie!
Dziś w krótkim poradniku opiszę jak zainstalować najnowszą* wersję phpmyadmin, czyli popularnego narzędzia do zarządzania bazami danych MySQL. Do poradnika został użyty czysty VPS KVM reinstalowany przez funkcje panelu.
⚠️ Jeśli używasz konta administratora "root", nie musisz dodawać przedrostku sudo lub w przypadku błędu o braku komendy po prostu go usuń.
Krok 1: Instalacja potrzebnych pakietów
Na początek zajmijmy się instalacją potrzebnych pakietów, co do instalacji apache i mariadb odsyłam do poradnika autorstwa @adminek153 : https://lvlup.rok.ovh/t/www-instalacja-apache-php-i-mysql-na-vps-dedyku/582
Debian 10 domyślnie w swoich repozytoriach posiada PHP w wersji 7.3, a więc dodawanie kluczy, repozytoriów możemy pominąć. Wpisujemy więc poniższe polecenie i czekamy na zakończenie instalacji wszystkich pakietów:
sudo apt install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp unzip
Po instalacji pakietów w przypadku Apache2 wpisujemy:
systemctl restart apache2
Krok 2: Pobranie i instalacja PhpMyAdmin
⚠️ Jeśli potrzebujesz zainstalować inną wersję phpmyadmin należy podmienić link po poleceniu wget i nazwę archiwum po poleceniu unzip.
Przechodzimy do naszego katalogu domowego lub dowolnego katalogu gdzie chcemy pobrać nasze archiwum, po czym wpisujemy:
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
Po pobraniu należy wypakować archiwum. Robimy to poleceniem:
unzip phpMyAdmin-latest-all-languages.zip
⚠️ Jeśli chcesz zmienić miejsce, w którym zapiszesz phpmyadmin zapamiętaj ściężkę do folderu, będzie później potrzebna!
Następnie przenosimy katalog do katalogu /usr/share
sudo mv phpMyAdmin-latest-all-languages /usr/share/phpmyadmin
Następnie w celu uniknięcia problemów z uprawnieniami plików ustalamy użytkownika serwera www (www-data) jako właściciela plików:
sudo chown -R www-data:www-data /usr/share/phpmyadmin
Krok 3: Tworzenie bazy danych dla PhpMyAdmin
Następnym krokiem w naszym poradniku jest stworzenie bazy danych dla naszego narzędzia. W tym celu musimy wejść do naszego serwera MySQL:
sudo mysql -u root
Kiedy już to zrobiliśmy musimy utworzyć wcześniej powiedzianą bazę danych, więc w konsoli serwera mysql:
CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Następnie tworzymy użytkownika, który będzie miał do niej dostęp zamieniając super_tajne_haslo
na ustalone przez nas hasło:
⚠️ Pamiętaj o utworzeniu mocnego hasła, używanie słabych haseł może narazić Cię na włamanie i/lub utratę danych, a tego byśmy nie chcieli prawda?
GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'twoje_super_tajne_haslo';
Następnie przeładowujemy uprawnienia poleceniem:
FLUSH PRIVILEGES;
Gdy zrobiliśmy już poprzednie kroki możemy wyjść z klienta mysql poleceniem:
EXIT;
Krok 4: Konfiguracja Apache2 do obsługi phpmyadmin
⚠️ Jeśli wcześniej zmieniłeś ścieżkę zapisu narzędzia musisz je również zmienić w VirtualHoście. Inaczej serwer nie będzie mógł dobrze zinterpretować tego gdzie ma szukać naszego phpmyadmin.
Nadchodzi ten czas, ostatni krok w tym poradniku, a chodzi o konfigurację Apache2, aby poprawnie obsługiwał nasz PhpMyAdmin
Zaczynamy od stworzenia VirtualHosta, a po więcej informacji na ich temat odsyłam do wątku autorstwa @LinGruby : https://lvlup.rok.ovh/t/apache-virtualhost/252
Zaczynamy od stworzenia nowego pliku konfiguracyjnego VirtualHosta:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Następnie musimy utworzyć wpis VirtualHosta. Następujący wzór pozwoli na połączenie się z phpmyadmin przy użyciu http://mojeip/phpmyadmin
:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
# Disallow web access to directories that don't need it
Require all denied
Require all denied
Require all denied
Gdy już mamy nasz VirtualHost musimy go włączyć poleceniem:
sudo a2enconf phpmyadmin.conf
Następnie tworzymy "folder tymczasowy" dla naszego phpmyadmin:
sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown www-data:www-data /var/lib/phpmyadmin/tmp
Na koniec przeładowujemy nasz serwer Apache2, aby zaaktualizował konfigurację:
sudo systemctl reload apache2
Zakończenie:
Gratulacje użytkowniku! Właśnie przebrnąłeś przez niniejszy poradnik i powinieneś móc już cieszyć się efektami swojej pracy wchodząc na adres:
http://moje_ip/phpmyadmin
Pamiętaj jednak, aby dbać o używanie silnych haseł oraz o aktualności narzędzia, gdyż nowsze wersje mogą zawierać poprawki sporej ilości błędów, łatki bezpieczeństwa i poprawy stabilności.
To na tyle w tym poradniku, życzę miłego korzystania z PhpMyAdmin!
*Najnowsza wersja na dzień pisania poradnika to: 4.9.0.1