Skip to content

MySQL Server mit PhpMyAdmin installieren

Wir installieren uns den MySQL Server aus den Debian Paketen. Bei der Installation wird nach dem root Passwort gefragt, welches wir dann setzen müssen.

root:~# apt-get install mysql-server mysql-client

Im Anschluss daran installieren wir das Paket phpmyadmin. Dabei werden wir wieder nach dem MySQL root Passwort gefragt, was wir bei der Installation vom MySQL Server vergeben haben. Ausserdem müssen wir noch den Webserver (Apache) auswählen, für den das phpmyadmin installiert werden soll.

root:~# apt-get install phpmyadmin

Wir möchten das phpmyadmin per SSL unter folgender URL (https://phpmyadmin.example.com/) erreichbar ist. Dazu erstellen wir uns zwei VirtualHosts in einer Datei.

<VirtualHost *:80>
  ServerAdmin postmaster@example.com
  ServerName phpmyadmin.example.com
  ServerSignature Off

  DocumentRoot /var/www

  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R=302,L]
  </IfModule>

</VirtualHost>

<VirtualHost *:443>
  ServerAdmin postmaster@example.com
  ServerName phpmyadmin.example.com
  ServerSignature Off

  DocumentRoot /usr/share/phpmyadmin
  Include /etc/phpmyadmin/apache.conf

  # PHP settings - mod_fcgid.c
  <IfModule mod_fcgid.c>
    <Files ~ "\.php$">
      FCGIWrapper /etc/apache2/fcgid/php5-cgi .php
      Options +ExecCGI
    </Files>
  </IfModule>

  CustomLog ${APACHE_LOG_DIR}/ssl_phpmyadmin.example.com_acc.log combined env=!DONTLOG
  ErrorLog ${APACHE_LOG_DIR}/ssl_phpmyadmin.example.com_err.log
  LogLevel warn

  SSLEngine on
  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

Damit wir SSL nutzen können, müssen wir das Apachemodul mod_ssl erst aktivieren. Das machen wir mit folgendem Befehl.

root:~# a2enmod ssl

Nun müssen wir noch in der Datei ports.conf einen neuen VirtualHost für den Port 443 definieren. Das machen wir in der Directive <IfModule mod_ssl.c>.

....
<IfModule mod_ssl.c>
  NameVirtualHost *:443
  Listen 443
</IfModule>
....

Nun müssen wir noch die Datei /etc/phpmyadmin/apache.conf öffnen und den Alias /phpmyadmin entfernen.

....
#Alias /phpmyadmin /usr/share/phpmyadmin
....
<Directory /usr/share/phpmyadmin>
  ....
  AllowOverride None
  Order allow,deny
  allow from all
  ....
</Directory>
....

Nun aktivieren wir den VirtualHost für phpmyadmin und starten den Apache Webserver neu.

root:~# a2ensite phpmyadmin
root:~# service apache2 restart