hpMyAdmin installieren neben dem Webserver NGINX. Dabei wird phpmyadmin nach var/www
separat vollständig kopiert und mit einer eigenen NGINX Konfiguration definiert. Hierbei wird phpMyAdmin mit eigenem Port (z.B. 8080) angewendet und betrieben.
Ein Standard-Aufruf mit Web-Port 80
ist gewöhnlich mit einer anderen Anwendung vordefiniert. Daher wird parallel der Aufruf für das Webinterface von phpMyAdmin ein beliebig anderer Port verwendet.
Voraussetzung hierfür ist ein bereits installierter Datenbankserver MariaDB. Daher gehe ich hier nicht näher darauf ein.
phpMyAdmin mit NGINX installieren
Datenbank und User pma
erstellen
mysql -u root -p
CREATE DATABASE phpmyadmin CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'pma'@'%' IDENTIFIED BY 'dein-passwort';
GRANT ALL PRIVILEGES ON phpmyadmin .* TO 'pma'@'%';
FLUSH PRIVILEGES;
EXIT;
Neues Verzeichnis erstellen
mkdir /var/www/phpmyadmin
Lade das PhpMyAdmin-Paket herunter ( Releases )
cd /var/www
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
Entpacke das Archiv nach /var/www/phpmyadmin
tar -zxvf phpMyAdmin-5.2.1-all-languages.tar.gz -C /var/www/phpmyadmin --strip-components=1
Lösche das gepackte Archiv
rm phpMyAdmin-5.2.1-all-languages.tar.gz
Durch das benutzerfreundliche Interface von phpMyAdmin kann man sehr bequem die Datenbanken verwalten und diverse andere Aufgaben erledigen. Somit braucht man dies nicht über die CLI (Konsole) machen.
Importiere die Datenbankvorlagen für pma
cd /var/www/phpmyadmin/sql
mysql -u pma -p phpmyadmin < create_tables.sql
Hier wird nach dem zuvor erstellen Datenbank-Passwort vom Benutzer pma
gefragt.
Folgende PHP-Pakete installieren, falls noch nicht vorhanden
apt install php8.0-fpm php8.0-mysql php8.0-gd php8.0-phpdbg php8.0-bcmath php8.0-xml php8.0-mbstring php8.0-zip php8.0-apcu php8.0-curl apache2-utils mlocate
Erstelle Konfigurationsdatei von PhpMyAdmin
cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
Bearbeite Konfigurationsdatei
nano /var/www/phpmyadmin/config.inc.php
Ergänze und füge ein:
openssl rand -base64 32
$cfg[‚blowfish_secret‘] = ‚deine-32-Byte-Zeichenfolge‘;
$cfg[‚Servers‘][$i][‚controlhost‘] = ‚localhost‘;
$cfg[‚Servers‘][$i][‚controlport‘] = ‚3306‘;
$cfg[‚Servers‘][$i][‚controluser‘] = ‚pma‘;
$cfg[‚Servers‘][$i][‚controlpass‘] = ‚dein-passwort‘;
Setze die Verzeichnisrechte
chown -R www-data:www-data /var/www/phpmyadmin
Erstelle die NGINX Konfigurationsdatei
nano /etc/nginx/sites-available/phpmyadmin.conf
server { listen 8080 default_server; listen [::]:8080 default_server; root /var/www/phpmyadmin; index index.php; server_name _; location / { try_files $uri $uri/ =404; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.0-fpm.sock; } }
Bedenke das deine Konfiguration etwas abweichen kann. Dies hier dient ausschließlich nur als Vorlage.
Symlink erstellen und aktivieren
ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
Prüfe ob deine NGINX Konfiguration in Ordnung ist
nginx -t
PHP Service && NGINX neu starten
systemctl restart php8.0-fpm
systemctl restart nginx
Die phpMyAdmin Installation ist nun abgeschlossen und kann parallel zum Standard-Port 80 genutzt werden. Der Aufruf erfolgt mit der zusätzlichen Angabe des Ports hinter der IP-Adresse. (z.B. :8080
).
http://IP-Adresse:Port
Have Fun 😉
Weitere Infos zu phpMyAdmin findest du hier.