Ubuntu 16.04: phpMyAdmin zeigt PHP-Code an

Dieses Wochenende habe ich mir einen neuen Rechner zusammengebaut. Nach der Installation von phpMyAdmin zeigte dieses allerdings nur PHP-Code an.

Das Beheben des Problems ist eigentlich ganz einfach. Man muss nur mit dem folgenden Befehl ein fehlendes Paket installieren:

sudo apt-get install libapache2-mod-php7.0

Tutorial: mod_rewrite auf Ubuntu-Rechner mit Apache2

Wer einen frischen Ubuntu-Rechner mit LAMP versorgen will, braucht oft auch mod_rewrite und htaccess, um, so wie ich, zum Beispiel die Urls schöner darstellen zu können. Da ich heute vor demselben Problem, wie vor vier Jahren stand (neuer Rechner, der mit mod_rewrite versorgt werden soll), will ich hier eine Anleitung schreiben.

Zuerst: mod_rewrite aktivieren

sudo a2enmod rewrite

Dann: Nötiges Verzeichnis anlegen:

sudo mkdir -p /var/run/apache2
sudo chown -R www-data /var/run/apache2 

Nun: Die Apache2-Config bearbeiten:

sudo gedit /etc/apache2/apache2.conf

Dort:

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

Das AllowOverride auf „All“ setzen:

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>

Anschließend: Neu laden:

sudo /etc/init.d/apache2 force-reload 

Zu beachten:

Anders als auf Debian-Servern, wird auf Ubuntu-Rechnern das aktuelle Verzeichnis anders darstellt:

# AUF UBUNTU-RECHNER:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([^/]*)$ ./index.php?site=$1 [L]
</IfModule>
# AUF DEBIAN VSERVER:
# Options -Indexes
# <IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteRule ^([^/]*)$ /index.php?site=$1 [L]
# </IfModule>

(Auf Ubuntu: „./index.php“, auf Debian-Server: „/index.php“)