Wie aktiviert man unter openSUSE .htaccess?

G

Geheimagent

Jungspund
Bei openSUSE sind die Einstellungen für den Apachen auf mehrere Dateien verteilt.
Ich habe das ganze soweit hinbekommen, dass die das URL rewrite unter der von draußen erreichbaren Adresse funktioniert, aber nicht von der internen.
geheim.netz ist das Intranet, das andere wäre von draussen erreichbar. Verzeichnisse über die .htaccess Datei intern zu sperren ist möglich.

in der http.conf
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>

default-server.conf
DocumentRoot "/srv/www/htdocs"
<Directory "/srv/www/htdocs">
RewriteEngine on
Options +FollowSymLinks
AllowOverride FileInfo
Order allow,deny
Allow From 127.0.0.1
Allow From 192.168.2.
</Directory>

yast2_vhost.conf
<VirtualHost *>
DocumentRoot /srv/www/dyndns/
ServerName geheim.dyndns.org
ServerAdmin **********
<Directory /srv/www/dyndns/>
RewriteEngine on
Options +FollowSymLinks
AllowOverride FileInfo
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost geheim.netz>
DocumentRoot /srv/www/htdocs
ServerName geheim.netz
ServerAdmin **********
<Directory /srv/www/htdocs>
RewriteEngine on
Options +FollowSymLinks
AllowOverride FileInfo
Order allow,deny
Allow From 127.0.0.1
Allow From 192.168.2.
</Directory>
</VirtualHost>
 
Wie in jedem anderen Apache auch:

Code:
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

Und diese Direktive kannst du entweder global in der apache2.conf definieren oder aber fuer jedes VHost einzeln.

:rtfm:
 
Momentan läuft das ja wie gesagt auf dem einem virtuellen Host. Bei dem Intranet will es aber nicht, nur wenn die folgenden Zeilen ausdokumentiert sind:
Code:
#RewriteEngine on
#Options +FollowSymLinks
#AllowOverride FileInfo
Mit diesen Zeilen funktioniert es aber auf dem anderen virtuellen Host. Auch das ausdokumentieren der IPs und setzen von Allow from allbringt scheinbar nichts. Muss, bzw. kann ich den Eintrag in der default-server.conf, welcher oben steht löschen?
Edit: also der Eintrag geht offenbar zu löschen. Doch die Einträge welche ich hier ausdokumentiert habe nimmt er nicht. Es entsteht ein: Error 500

Error 404 entsteht bei dem von bitmuncher gemachten Vorschlag.
 
Zuletzt bearbeitet:
404 bedeutet, dass er eine angeforderte Datei nicht gefunden hat, auf die du versuchst hast zuzugreifen. Die Webserver-Logdateien duerften hier Aufschluss geben, auf welche Datei er nicht zugreifen kann und warum nicht.
 
Beim 404 steht drin, dass das Dolument nicht gefunden wurde. Allerdings kann das nicht sein, da genau das selbe CMS extern funktioniert.

Bei 500 sagt er mir, Options not allow here.

Meine Annahme, dass es ev an der Rewrite Rule lag brachte auch nichts.

Hat das irgendwas mit dem Pfad zu tun? Ansonsten sind die beiden directorys ja gleich.

yast2_vhost.conf
<VirtualHost *>
DocumentRoot /srv/www/dyndns/
ServerName geheim.dyndns.org
ServerAdmin **********
<Directory /srv/www/dyndns/>
RewriteEngine on
Options +FollowSymLinks
AllowOverride FileInfo
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost geheim.netz>
DocumentRoot /srv/www/htdocs
ServerName geheim.netz
ServerAdmin **********
<Directory /srv/www/htdocs>
RewriteEngine on
Options +FollowSymLinks
AllowOverride FileInfo
Order allow,deny
Allow From 127.0.0.1
Allow From 192.168.2.
</Directory>
</VirtualHost>[/QUOTE]

Ich habe übrigens mehrere CMS ausprobiert:
Joomla, MediaWiki, WordPress, serendipity,
- Wobei ich die jeweils in einem Unterordner habe.

Setze ich folgendes ein:
Code:
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
meckert so auch der Apache beim Restart.
Code:
linux:~ # rcapache2 restart
Syntax error on line 19 of /etc/apache2/vhosts.d/yast2_vhosts.conf:
AccessFileName not allowed here
 
Zuletzt bearbeitet:
Hast du den AccessFileName mal global gesetzt? Da meckert er nämlich nicht rum.
 
Also ich habe jetzt noch mal die Dateien durchgeforstet, der Eintrag:

Code:
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

steht per default, oder durch die Aktivierung von mod rewrite über YaST in der http.conf. Deswegen funktioniert es auch über den einen virtuellen Host.

Edit: Nicht aber über den anderen Host, der in /srv/www/htdocs liegt. Also das Problem ist immer noch das Gleiche, wie am Anfang. Ein Host funktioniert, der andere nicht.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ich habe jetzt mal im 2ten den AllowOverride von FileInfo auf All gesetzt, und dann ging es. Ist mit Sicherheit nicht die eleganteste Lösung. :brav:
 
Zuletzt bearbeitet:

Ähnliche Themen

NGINX bietet intern abgerufene Seiten nur zum Download an, extern geht's

Nginx als Reverse Proxy für Nextcloud und Emby

Probleme mit virtual hosts

Apache2 mod_proxy

Repository-Freigabe funktioniert nicht

Zurück
Oben