vhost unter /srv/www/htdocs geht - vhost im homeverz. nicht

Alles, was den Apache betrifft, kann hier besprochen werden.

vhost unter /srv/www/htdocs geht - vhost im homeverz. nicht

Postby xhosch » 01. November 2007 12:12

Hallo in die Runde,
seit ca. 2 Jahren setze ich meine lokale Entwicklungsumgebung mit openSuse, Apache, und php immer mal wieder neu auf. (Kein Xampp) Stets klappte es, wenn auch hin und wieder nicht gleich auf Anhieb. Das was mir derzeit Kopfschmerzen bereite hatte ich bisher so jedoch noch nicht....

Lege ich ein vhost unter : /srv/www/htdocs/ an, so kann ich meine unter"/srv/www/htdocs/vhost/amnesty-kiel/htdocs/phpinfo.php abgelegte Datei problemlos über die Eingabe der Adresse http://www.meineDomain.local/phpinfo.php erreichen.

Lege ich die vhost jedoch unter "/home/username/daten/meineDomain/htdocs" an, so bekomme ich von meinem Browser die Rückantwort "Zugriff verweigert" Error 403

Hier meine yast2_vhost.conf in der funktionierenden Variante
Code: Select all
<VirtualHost 192.168.178.22>
 ServerAdmin webmaster@meineDomain.local
 ServerName www.meineDomain.local
 DocumentRoot /srv/www/htdocs/vhost/meineDomain/htdocs
 ErrorLog /srv/www/htdocs/vhost/meineDomain/logs/error.log
 CustomLog /srv/www/htdocs/vhost/meineDomain/logs/access.log common
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 <Directory /srv/www/htdocs/vhost/meineDomain">
  AllowOverride all
 </Directory>
</VirtualHost>


In dieser funktionierenden Variante habe ich meine .htaccess - Datei und das Verzeichnis "logs" mit seinen Dateien "error.log" und access.log" unter "/srv/www/htdocs/vhost/meineDomain" abgelegt.

Die .htaccess - Datei hat folgendes zum Inhalt:
Order deny,allow
deny from all
allow from 192.168.178.22

Eigentümer und Gruppe ist bis einschließlich des Verzeichnisses "/srv/www/htdocs/vhost" "root"
Darüberhinaus also ab dem Verzeichnis "~/meineDomain/htdocs ist der Eigentümer "userName" und die Gruppe "users"
Die Rechte stehen ab "/srv" auf 755

Hier meine yast2_vhost.conf in der _nicht_ funktionierenden Variante
Code: Select all
 
<VirtualHost 192.168.178.22>
 ServerAdmin webmaster@meineDomain.local
 ServerName www.meineDomain.local
 DocumentRoot /home/userName/daten/meineDomain/htdocs
 ErrorLog /home/userName/daten/meineDomain/logs/error.log
 CustomLog /home/userName/daten/meineDomain/logs/access.log common
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 <Directory /home/userName/daten/meineDomain">
  AllowOverride all
 </Directory>
</VirtualHost>


In dieser _nicht_ funktionierenden Variante habe ich meine meine .htaccess - Datei und das Verzeichnis "logs" mit seinen Dateien "error.log" und access.log"
unter "/home/xhosch/daten/meineDomain" abgelegt.

Auch diese .htaccess - Datei hat folgendes zum Inhalt:
Order deny,allow
deny from all
allow from 192.168.178.22

Eigentümer und Gruppe ist bis einschließlich des Verzeichnisses "~/userName/daten/meineDomain/htdocs" "userName" und "users"
Die Rechte stehen ab "~/userName" alle auf 755

Bitte was könnte ich nach all den bisher geglückten Einrichtungen ausgerechnet diesmal falsch gemacht haben? Wie könnte ich meine vhosts im Homeverzeichnis wieder zum laufen bekommen. Vielen Dank für mögliche Hinweise.

Viele Grüße aus Kiel
xhosch
Suse 10.3 / 2.6.22.9-0.4-default | Apache/2.2.4 (Linux/SUSE) | PHP 5.2.4 | MySQL 4.1.10a | phpMyAdmin - 2.11.0 | Firefox/2.0.0.8
xhosch
 
Posts: 5
Joined: 31. July 2005 11:59
Location: Bremerhaven

Postby Wiedmann » 01. November 2007 14:30

Eigentümer und Gruppe ist bis einschließlich des Verzeichnisses "~/userName/daten/meineDomain/htdocs" "userName" und "users"
Die Rechte stehen ab "~/userName" alle auf 755

Und davor? Der httpd prozess muss jedenfalls auf den ganzen Pfad zumindest Leserechte haben, und da wo er schrieben soll (logs) natürlich mehr.

Ansonsten:
error_log?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

[Problem gelöst]

Postby xhosch » 02. November 2007 12:32

[Problem gelöst]

Hallo,
vielen Dank für Deine schnelle Reaktion. Es waren nicht die Lese-Schreibrechte die evtl. falsch gesetzt wahr, sondern ein Fehler in der Konfiguration.

Schuld war ein " zu viel in der yast_vhosts.conf

Ich versuche mich so kurz und verständlich wie möglich zu fassen. Beim früherern Einrichtungen meiner Entwicklungsumgebungen mit mehreren vhost's habe ich für jeden vhost eine eigene Datei unter ~/vhost.d abgelegt Beispiel: meineDomain1.conf, meineDomain2.conf usw....

Jede Datei für sich beinhaltete unter anderem folgende Zeile:
Code: Select all
 <Directory /home/userName/daten/meineDomain1">


Zum ersten Mal habe ich nun alle vhosts von Yast in die Datei "yast_vhosts.conf eintragen lassen. Das heißt diese Aussage stimmt nicht völlig. Habe mir das Leben etwas erleichtern wollen und den Inhalt meine einzelnen *.conf-Dateien in die yast_vhosts.conf hinein kopiert.

Der Knackpunkt bestand darin, das die yast_vhosts.conf meinen ersten vhost mit dem " in der oben aufgeführten Zeile noch akzeptierte. Der zweite eingetragene vhost in der yast_vhosts.conf wurde und wird mit dem "-Zeichen jedoch nicht mehr akzepiert.

Anmerkung: Der Einfachheit halber hatte ich in meiner ersten Anfrage (oben) nur einen vhost aufgeführt.

Zum Abschluß also nochmal beide Varianten:

Die _nicht_ funktionierende Variante:
Code: Select all
<VirtualHost 192.168.178.21>
 ServerAdmin mail@meineDomain1.local
 ServerName www.meineDomain1.local
 DocumentRoot /home/userName/daten/meineDomain1/htdocs
 ErrorLog /home/userName/daten/meineDomain1/logs/error.log
 CustomLog /home/userName/daten/meineDomain1/logs/access.log common
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 <Directory /home/userName/daten/meineDomain1>
  AllowOverride all
 </Directory>
</VirtualHost>
<VirtualHost 192.168.178.22>
 ServerAdmin mail@meineDomain2.local
 ServerName www.meineDomain2.local
 DocumentRoot /home/userName/daten/meineDomain2/htdocs
 ErrorLog /home/userName/daten/meineDomain2/logs/error.log
 CustomLog /home/userName/daten/meineDomain2/logs/access.log common
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 <Directory /home/userName/daten/meineDomain2">   IN DIESER ZEILE LIEGT DER FEHLER
  AllowOverride all
 </Directory>
</VirtualHost>


Die funktionierende Variante
Code: Select all
<VirtualHost 192.168.178.21>
 ServerAdmin mail@meineDomain1.local
 ServerName www.meineDomain1.local
 DocumentRoot/home/userName/daten/meineDomain1/htdocs
 ErrorLog /home/userName/daten/meineDomain1/logs/error.log
 CustomLog /home/userName/daten/meineDomain1/logs/access.log common
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 <Directory /home/userName/daten/meineDomain1>
  AllowOverride all
 </Directory>
</VirtualHost>
<VirtualHost 192.168.178.22>
 ServerAdmin mail@meineDomain2.local
 ServerName www.meineDomain2.local
 DocumentRoot/home/userName/daten/meineDomain2/htdocs
 ErrorLog /home/userName/daten/meineDomain2/logs/error.log
 CustomLog /home/userName/daten/meineDomain2/logs/access.log common
 LogFormat "%h %l %u %t \"%r\" %>s %b" common
 LogFormat "%{Referer}i -> %U" referer
 LogFormat "%{User-agent}i" agent
 <Directory /home/userName/daten/meineDomain2>
  AllowOverride all
 </Directory>
</VirtualHost>


Hoffe den Fehler verständlich erläutert zu haben. Wenn nicht dann bitte gerne nachfragen.

Vielen Dank für die Unterstützung

Grüße
xhosch
Suse 10.3 / 2.6.22.9-0.4-default | Apache/2.2.4 (Linux/SUSE) | PHP 5.2.4 | MySQL 4.1.10a | phpMyAdmin - 2.11.0 | Firefox/2.0.0.8
xhosch
 
Posts: 5
Joined: 31. July 2005 11:59
Location: Bremerhaven


Return to Apache

Who is online

Users browsing this forum: No registered users and 27 guests