Virtualmin & suEXEC – Der „Failed to save enabled features“-Fehler
Auf einem meiner Server wollte ich das installierte Subversion mittels Webmin/Virtualmin verwalten lassen. Dazu hätte ich eigentlich nur das Webmin-eigene Subversion Plugin aktivieren müssen, wenn da nicht der Fehler „Failed to save enabled features: The Suexec command on your system is configured to only run scripts under /var/www, but the Virtualmin base directory is /home. CGI and PHP scripts run as domain owners will not be executed.
“ gewesen wäre.
Ja, suExec hatte ich auf dem Server installiert, um PHP Skripte stets mit den Rechten des aktuellen vHosts auszuführen. Jetzt streckte es mir die Zunge raus und machte Fratzen. Das Problem ist nämlich, dass die von mir installierte suExec Version aus den Ubuntu Repositories bereits mit der voreinstellung compiliert wurde nur Skripte unter /var/www/
auszuführen, während meine Installation eben alles aus /home/username/public_html
ausliefert.
Klar, der geneigte Linux Spezi läd sich jetzt den suExec Quellcode runter, compiliert diesen mit eigenen Einstellungen, bli-bla-blubb. Keine Zeit, keine Lust, keine Ahnung 😉 Ich wollte etwas, das schnell geht und mich nicht wieder für einen Nachmittag beschäftigt.
Meine Lösung fand ich bei Simon Schönbeck, der einfach die zwei Verzeichnisse mit einem mount
-Befehl zusammenfügte.
mount --bind /var/www /home
Schon konnte ich das besagte Plugin aktivieren. Man muss allerdings daran denken diese Bindung auch wieder rückgängig zu machen (umount /home
oder ein Reboot), sonst findet der Apache (wie in meinem Fall) die ganzen Unterverzeichnisse von /home/
nicht mehr, die ja momentan mit denen von /var/www/
ersetzt sind.
Sollte man den Eintrag dennoch dauerhaft und auch nach einem Reboot behalten möchten, dann trägt man einfach folgende Zeile in die /etc/fstab
ein:
/quelle /ziel none bind 0 0