Das Update auf Ubuntu 14.04 macht dem Webentwickler wenig Spaß: Erst ist der PEAR-Installer kaputt, und dann wurde auch noch Apache auf 2.4 aktualisiert, womit sich ja doch einiges ändert. Das wichtigste dürfte wohl die Änderung an der Syntax für die Authentifizierung sein, doch auch die kleineren Änderungen machen sich bemerkbar:
Mit 2.4 wurde der Default-Wert für AllowOverride von All auf None geändert. Leider kommt Ubuntu mit einer ziemlich minimalen Konfiguration für Apache, die gar keine Einstellung für diesen Wert enthält. Dadurch werden jetzt alle .htaccess Dateien deaktiviert! Man kann sich jetzt natürlich streiten, was der sinnvollere Default-Wert ist, aber zumindest für das Desktop-Ubuntu, dass ja doch eher zum entwickeln benutzt wird, fände ich „AllowOverride All“ ganz nett. (AllowOverride steuert, welche Werte der Konfiguration in einer .htaccess Datei überschrieben werden können, besonders auch die beliebten mod_redirect Regeln. Ohne diese Regeln funktionieren die meisten Websites ja gar nicht mehr).
Zusätzlich wird auch das LogLevel nicht gesetzt, wodurch es relativ hoch ist, und Apache sich im error.log nicht beschwert, dass die Anweisungen in der .htaccess gesperrt sind. Da soll man erst Mal drauf kommen…. Das kann noch besser werden, Ubuntu!
Wie aktiviert man die .htaccess Dateien also wieder? Ganz einfach: In der Datei /etc/apache2/site-availabe/000-default.conf diese Zeile vor dem </VirtualHost> einfügen:
<Directory /var/www/html/> AllowOverride All </Directory>
Dadurch wird in dem Verzeichnis /var/www/html (das neue DocumentRoot), sowie allen Unterordner die Unterstützung wieder aktiv geschaltet. Auf einem Server sollte man statt „All“ vielleicht über sinnvollere Werte nachdenken.
Mit dieser Anpassung lief die von mir betreute Anwendung dann auch wieder auf meinem Ubuntu-Rechner. 😉