NEU - Mamas Garten - Passwörter: Privat: <Name meiner Mama>, Urlaubsbilder: <Name meiner Katze>

phpMyAdmin

Seit Debian Buster ist phpMyAdmin nicht mehr in den Repositories zu finden und muss manuell installiert werden.

Weseln Sie auf dem Server (auf dem ihr phpMyAdmin installiert werden soll) zu folgendem Pfad:

cd /usr/share

und holt euch mittels wget die aktuellste Version von https://www.phpmyadmin.net/

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip

Im Anschluss wird die Zip Datei entpackt, umbenannt und mit den passenden Rechten für den Apache Webserver ausgestattet:

unzip phpMyAdmin-4.9.0.1-all-languages.zip
mv phpMyAdmin-4.9.0.1-all-languages phpmyadmin
chown www-data:www-data -R phpmyadmin

Als nächstes erstellen wir unter MariaDB eine Datenbank sowie einen Benutzer für phpMyAdmin. ACHTUNG: Passwort unbedingt abändern!

mysql -u root
CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'Ihr-Sicheres-Passwort';
FLUSH PRIVILEGES;
EXIT;

Sollten nicht alle Abhängigkeiten von PHP installiert sein, so kann man dies wie folgt nachholen:

apt install php-phpseclib php-php-gettext php-imagick php7.3-imap php7.3-gmp php7.3-common php7.3-gd php7.3-mbstring php7.3-xml php7.3-json php7.3-curl php7.3-zip php7.3-bz2 php7.3-intl php7.3-mysql

Nun wird die Konfigurationsdatei für den Apache Server unter /etc/apache2/conf-available/phpmyadmin.conf angelegt:

Alias /nichtphpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    <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>
<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>

Bitte darauf achten nicht /phpmyadmin als Alias zu verwenden, da dieser Pfad von Hackern und Co immer zuerst ausprobiert wird. Im obigen Beispiel wurde der Alias /nichtphpmyadmin verwendet. Achten Sie auch auf die Zeile

AllowOverride All

Diese ist nur erforderlich, wenn Sie die Installation zusätzlich mit einem htaccess Passwortschutz versehen wollen (empfohlen), andernfalls ändern Sie die Angabe in AllowOverwrite None.

Um den Passwortschutz einzurichten, legen sie die Datei /usr/share/phpmyadmin/.htaccess mit folgendem Inhalt an:

AuthName "Restricted"
AuthType Basic
AuthUserFile /etc/phpmyadmin/.htpasswd
require valid-user

Die .htpasswd Datei wird unter /etc/phpmyadmin/.htpasswd erstellt. Der Ordner /etc/phpmyadmin muss dazu ggf. neu erstellt werden.

htpasswd -c /etc/phpmyadmin/.htpasswd meinBenutzerName

Jetzt erstellen wir ein temporäres Arbeitsverzeichnis für phpMyAdmin:

mkdir -p /var/lib/phpmyadmin/tmp
chown www-data:www-data /var/lib/phpmyadmin/tmp

Die Apache Konfigurationsdatei wird noch aktiviert und Apache neu gestartet:

a2enconf phpmyadmin.conf
systemctl restart apache2

Zum Schluss kann man entweder die URL von phpMyAdmin mit einem angehängten /setup aufrufen um die Konfiguration abzuschließen, oder man kopiert die config.sample.inc.php zu config.inc.php und ergänzt manuell einen 32stelligen Blowfish Secret Schlüssel. Dieser muss nicht gemerkt werden.

phpMyAdmin
Nach oben scrollen