Phpmyadmin installieren
Der phpmyadmin ist unter Debian fix installiert. Ich gehe davon aus, dass Ihr bereits einen Apache2, php5 und mysql5 am Laufen habt. Danach setzt als root folgenden Befehl ab:
apt-get install phpmyadmin
Nach erfolgreicher Installation könnt Ihr den phpmyadmin schon aufrufen. Dazu in Eurem Browser
http://meineurl/phpmyadmin
eingeben.
Im Grunde könnte man das jetzt auch schon so lassen, nur würde ich nun noch ein paar Dinge umbiegen bzw. ergänzen. Da der phpmyadmin als Standard immer unter /phpmyadmin aufzurufen ist, verleitet es vielleicht mal den einen oder anderen Cracker zu versuchen, darüber an die Datenbank zu kommen. Von daher wäre es ratsam, das Standardverzeichnis umzubenennen und eventuell nochmals über ein htaccess passwortgeschützt zu schalten. Zwar muss man sich über den phpmyadmin auch anmelden, nur wer dann noch den Fail2ban am Laufen hat, der sperrt hier schnell auch die Bruteforce Attacken aus, falls es sich jemand am htaccess versuchen will.
Also legen wir noch ein htaccess Login an und verstellen die Standard-URL.
Standard URL ändern:
Der phpmyadmin wird nicht einfach in einem neuen Unterverzeichnis im Dokumenten Root des Apache abgelegt, sondern findet sich innerhalb /usr/share/phpmyadmin . Damit der Apache das entsprechend umlinkt muss das auch in einer eigenen Konfig festgelegt werden. Deswegen müsst Ihr zunächst diese editieren:
nano /etc/apache2/conf.d/phpmyadmin.conf
Der Alias muss entsprechend Euren Vorstellungen geändert werden:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
[...]
Z.b. in "meinedatenbank" . Das würde dann so aussehen:
# phpMyAdmin default Apache configuration
Alias /meinedatenbank /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
[...]
Startet den Apache neu:
/etc/init.d/apache2 restart
Nun könnt Ihr phpmyadmin z.B. mit
http://meineurl/meinedatenbank
aufrufen.
htaccess hinzufügen:
Hierfür muss wieder die phpmyadmin.conf angepasst werden:
nano /etc/apache2/conf.d/phpmyadmin.conf
Fügt nun die AllowOverride All Zeile ein:
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
# Authorize for setup
<Files setup.php>
[...]
Wechselt nun in das phpmyadmin Verzeichnis:
cd /usr/share/phpmyadmin
und legt eine neue Datei an:
nano .htaccess
und füllt diese gleich mit folgendem Inhalt:
AuthType Basic
AuthName phpmyadmin
AuthUserFile /usr/share/phpmyadmin/.htpasswd
require valid-user
Jetzt legt die Passwortdatei an:
htpasswd -c .htpasswd username
(für username Euren gewünschten Usernamen)
Danach das Passwort eingeben und bestätigen wenn Ihr abgefragt werdet.
Sicherheitstipp: Ihr könnt die Passwortdatei auch außerhalb des /usr/share/phpmyadmin Verzeichnisses legen, müsst dies aber dann entsprechend auch in der .htaccess angeben.
Danach einfach den Apache neu starten:
/etc/init.d/apache2 restart
Jetzt werdet Ihr erstmal nach einem Login gefragt, bevor Ihr Euch im phpmyadmin anmelden könnt.
Neuen Datenbankuser mittels phpmyadmin anlegen:
Es ist ratsam, dass Ihr wenn Ihr später ein CMS, Forum, Blog installiert, nicht über den Root-Account der mysql Datenbank arbeitet, sondern über einen eigenen User. Den könnt Ihr recht einfach selbst unter phpmyadmin anlegen. Loggt Euch dazu als php - root ein und klickt auf der Startseite gleich auf "Rechte" wie hier im linken Bild rot dargestellt wird.
An der Stelle könnt Ihr auch für jeden bereits aqngelegten Datenbankuser die Rechte im Naqchgang individuell anpassen.
Im unteren Teil der Maske klickt einfach dann auf "Neuen Benutzer hinzufügen". Danach erhaltet Ihr folgende Eingabemöglichkeit in der Ihr den Namen des Nutzers, den Server (normalerweise "localhost") und das neue Passwort des frisch angelegten Users eingebt. Verwendet hierfür kryptische Passwörter (also Buchstaben, Sonderzeichen, Zahlen), da Datenbanken gerne angegriffen werden.
Eine neue Datenbank legen wir mal nicht an, das machen wir später als User.
Bei den Rechten wählt folgendes aus:
Das dürfte das wichtigste abdecken.
Speichert die Einstellungen ab. Nun könnt Ihr Euch als neuer Nutzer einloggen und neue Datenbanken anlegen. Wenn Ihr keine Datenbankenlimitierung habt (was auf einen privaten Server normal nicht der Fall ist), dann empfiehlt es sich auch, für jedes CMS, Blog oder Forum auch eine eigene Datenbank anzulegen. Das ist zum einen übersichtlicher und ressourcenschonender, wenn die Datenbanken mal etwas größer werden sollten.
Erhaltet Ihr beim Login eine Fehlermeldung "Verbindung für controluser ist fehlgeschlagen" unten im Fenster angezeigt, dann sucht in der /etc/phpmyadmin/config.inc.php die beiden folgenden Zeilen:
$cfg['Servers'][$i]['controluser'] = $dbuser;
$cfg['Servers'][$i]['controlpass'] = $dbpass;
Gebt dort als dbuser root und beim dbpass Euer root Passwort der mySQL Datenbank an. Dann sollte der Fehler verschwinden.
Viele Grüße!
Euer
Gargi