Beziehungsprobleme bei .htaccess und Confixx
25. May 2015
Das ist wie im richtigen Leben, wenn sich 2 nicht richtig aufeinander beziehen, führt das zu Beziehungsproblemen, das gilt auch für das Zusammenspiel von irgendwelchen, verbreiteten Verwaltungsoberflächen mit häufig eingesetzten Zugangssteuerungsdateien wie .htaccess. Im folgenden ein kurze Paartherapie;-)
Auf meinem Strato-Server läuft Confixx 3.xxx klaglos seit Jahr und Tag. Jetzt wollte ich mal wie die Großen mit .htaccess und mod-rewrite arbeiten und siehe da, ich habe mir selbst den Zugang zu meiner eigenen Seite verwehrt, nachdem ich meine .htaccess mit den Google-kompatiblen Rewrit-Regeln in das entsprechende Web geladen hatte. Error 403, fragen Sie Ihren Webmaster…
Dabei waren meine Gehversuche ganz harmlos, Kieck ma meen .htaccess:
Auf meiner Spielweise, wo meine Testwebs laufen (in diesem Falle /srv/www/htdocs/web0/….. funktionierte alles) das Basis-Web, das Confixx ohne weitere Extra-Einstellungen bereit hält. Gut Zureden half nicht, Streicheleinheiten auch nicht.. Nach stundenlangem Googlen fand ich folgenden Therapieansatz in verschiedenen Foren:
Confixx ergänzt httpd.con (/etc/apache2/…) durch die Includes confixx_mhost.conf, das seinerseits confixx_vhost.conf einbettet, und zwar in dieser Reihenfolge. Nun steht in httpd.conf noch ganz richtig:
# forbid access to the entire filesystem by default
In dem zweiten Abschnitt <Files…> steht explizit, dass .htaccess verwendet werden soll, um den Verzeichniszugriff zu steuern bzw. zu überschreiben, da er ja in dem ersten Abschnitt <Directory /> zunächst rigoros unterbunden wird.
In confixx_mhost.conf finden sich die folgenden Einträge:
womit symbolische Links erlaubt werden, was etwas weiter unten nochmals steht
und somit auch für virtuelle Hosts, also die verschiedenen Kunden (Websites) auf dem Server gilt. Bis hierher funktioniert meine .htaccess auch.
Die Einschränkung findet in der confixx_vhost.conf statt, in der sämtliche virtuellen Server individuell eingestellt sind, nicht aber "web0". Für alle anderen virtuellen Hosts sieht der Eintrag standardmäßig so aus:
und genau hier werden nämlich die symbolischen Links explizit ausgeschaltet.
Es reicht die Zeile
Options -FollowSymLinks -SymLinksIfOwnerMatch
zu löschen (auszukommentieren) und .htaccess Rewrite funzt.
Ja so ist det mit den Beziehungskisten, wenn der Eene nich will, kann der andere ooch nüscht dafür.
Dabei waren meine Gehversuche ganz harmlos, Kieck ma meen .htaccess:
RewriteEngine on
RewriteRule home.html$ index.php?pid=0001
RewriteRule ueberuns.html$ index.php?pid=0002
Auf meiner Spielweise, wo meine Testwebs laufen (in diesem Falle /srv/www/htdocs/web0/….. funktionierte alles) das Basis-Web, das Confixx ohne weitere Extra-Einstellungen bereit hält. Gut Zureden half nicht, Streicheleinheiten auch nicht.. Nach stundenlangem Googlen fand ich folgenden Therapieansatz in verschiedenen Foren:
Confixx ergänzt httpd.con (/etc/apache2/…) durch die Includes confixx_mhost.conf, das seinerseits confixx_vhost.conf einbettet, und zwar in dieser Reihenfolge. Nun steht in httpd.conf noch ganz richtig:
# forbid access to the entire filesystem by default
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
In dem zweiten Abschnitt <Files…> steht explizit, dass .htaccess verwendet werden soll, um den Verzeichniszugriff zu steuern bzw. zu überschreiben, da er ja in dem ersten Abschnitt <Directory /> zunächst rigoros unterbunden wird.
In confixx_mhost.conf finden sich die folgenden Einträge:
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks
womit symbolische Links erlaubt werden, was etwas weiter unten nochmals steht
<VirtualHost xx.xxx.xxx.xx:80>
ServerName h12345.serverkompetenz.net
#User confixx
#Group confixx
DocumentRoot /srv/www/htdocs/confixx/html
Options FollowSymLinks
und somit auch für virtuelle Hosts, also die verschiedenen Kunden (Websites) auf dem Server gilt. Bis hierher funktioniert meine .htaccess auch.
Die Einschränkung findet in der confixx_vhost.conf statt, in der sämtliche virtuellen Server individuell eingestellt sind, nicht aber "web0". Für alle anderen virtuellen Hosts sieht der Eintrag standardmäßig so aus:
<Directory "/srv/www/htdocs/web1/html">
Options -FollowSymLinks -SymLinksIfOwnerMatch
und genau hier werden nämlich die symbolischen Links explizit ausgeschaltet.
<IfModule mod_access.c>
Allow from all
</IfModule>
</Directory>
Es reicht die Zeile
Options -FollowSymLinks -SymLinksIfOwnerMatch
zu löschen (auszukommentieren) und .htaccess Rewrite funzt.
Ja so ist det mit den Beziehungskisten, wenn der Eene nich will, kann der andere ooch nüscht dafür.