LAMP Server – phpMyAdmin
Als Zusatz zu meiner LAMP Server Artikelreihe zeige ich nun noch wie man die beliebte phpMyAdmin Datenbank Administrationsoberfläche installiert. Damit fällt das Einrichten der Datenbank für die Webapplikation deutlich einfacher und ist quasi Standard bei den Hostern.
LAMP Server – phpMyAdmin
Gleich vorweg, phpMyAdmin ist eine eigene Webapplikation und steht deshalb nicht als Paket im Debian Repository zur Verfügung. Die Installation gestaltet sich deshalb etwas komplexer, mit meiner Anleitung ist das aber trotzdem überhaupt kein Problem.
Installation
Die aktuelle Versionsnummer vom phpMyAdmin findet man auf der offiziellen Webseite in der Download-Unterseite.
Dort steht mit 4.9.5 die aktuellste stabile Version zum Download bereit, folglich ergibt sich für den LAMP Server folgender Downloadpfad (den solltest du mit der aktuellen Version anpassen):
1 2 | su wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz |
damit wird das Archiv heruntergeladen.
Mit folgendem Befehl wird das Archiv schließlich auf dem Datenträger entpackt:
1 2 | tar xvf phpMyAdmin-5.0.2-all-languages.tar.gz mv phpMyAdmin-*/ /usr/share/phpmyadmin |
und danach in den /usr/share/phpmyadmin Ordner verschoben.
phpMyAdmin braucht zur Laufzeit ein temporäres Verzeichnis. In den folgenden beiden Kommandos wird dieses Verzeichnis erstellt und dem Webserver Prozess darauf volle Rechte gegeben:
In den nächsten beiden Zeilen wird ein Ordner für die .htpasswd Datei erstellt und die Beispielkonfiguration aus dem Programmverzeichnis kopiert:
Konfiguration
Die kopierte Beispiel-Konfigurationsdatei wird nun bearbeitet:
1 | nano /usr/share/phpmyadmin/config.inc.php |
Es sind 2 Werte auszufüllen:
- Mit einem online Generator habe ich mir einen zufällige Zeichenkette aus 32 Zeichen erstellt. Diese setze ich im Feld ‚blowfish_secret‘ ein:
- den zuvor erstellten temporären Ordner füllen wir für UploadDir und SaveDir aus
- einen weiteren dritten Wert müssen wir am Ende der Datei noch ergänzen
Damit ist die Konfiguration auch schon abgeschlossen. Was nun fehlt ist die Konfiguration des Webservers, damit phpMyAdmin vom Browser aus aufgerufen werden kann.
1 | nano /etc/apache2/conf-enabled/phpmyadmin.conf |
Dort wird folgende Konfiguration eingefügt und abgespeichert:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php <IfModule mod_php5.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> 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 </IfModule> <IfModule mod_php.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> 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 </IfModule> </Directory> # Authorize for setup <Directory /usr/share/phpmyadmin/setup> <IfModule mod_authz_core.c> <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </IfModule> </Directory> # Disallow web access to directories that don't need it <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Require all denied </Directory> |
Jetzt muss man den Webserver nur noch neu starten:
1 | systemctl restart apache2.service |
und schon erreicht man mit dem Browser über IP-Adresse/phpmyadmin die Weboberfläche des Datenbanktools:
Fazit
In diesem Artikel habe ich gezeigt wie man den virtuellen LAMP Server noch um das sehr hilfreiche Datenbanktool phpMyAdmin erweitert. Damit ist es nun sehr einfach möglich auf der Datenbank zu arbeiten und effizient Änderungen zu machen.