[Unix/Mac] Apache konfigurieren - Problem

Natürlich kommen auch der Pinguin und Apfel nicht zu kurz.

Moderator: DCE Team

[Unix/Mac] Apache konfigurieren - Problem

Beitragvon Waldgeist » So 21.02.2010 12:18

Hallo ihr,

ich habe gerade mein Betriebssystem von Panther auf Leopard aktualisiert. Nach dem Update lief der Apache nicht mehr richtig.
Also ein bisschen rumgespielt und konfiguriert. Jetzt läuft es auch wieder halbwegs. Nur ein paar Probleme stehen noch im Raum zu denen ich keine Lösung finde ...

1. You don't have permission to access / on this server.
Wenn ich "localhost" aufrufe kriege ich die obrige Meldung. Ich weiß nicht ob es an den Rechten liegt, oder an einer falschen Konfiguration in der httpd.conf .
Hat vielleicht jemand eine Idee?

Auszug aus der httpd.conf:
Code: Alles auswählen
DocumentRoot "/Users/Waldgeist/Sites"

<Directory "/Library/WebServer/Documents">
    #Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    #Order allow,deny
    Allow from all
</Directory>

NameVirtualHost 127.0.0.1:80

<VirtualHost phpmyadmin>
   DocumentRoot /Library/WebServer/Documents/phpmyadmin
   ServerName phpmyadmin
</VirtualHost>

<VirtualHost localhost>
   DocumentRoot /Users/Waldgeist/Sites
   ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1>
   DocumentRoot /Users/Waldgeist/Sites
   ServerName 127.0.0.1
</VirtualHost>


Die Seiten direkt sind auch aufrufbar. Also "localhost/phpinfo.php" kann ich aufrufen. Ebenfalls "phpmyadmin".


2. Datenbankverbindung herstellen mit PHP
Wenn ich über PHP eine Datenbankverbindung herstellen will, kann ich nicht mehr wie früher "localhost" beim Host eingeben. Neuerdings muss ich "127.0.0.1" eintragen. Ich habe schon versucht ob es an dem "NameVirtualHost" liegt, aber das ist (wohl) nicht der Fall. Hat jemand eine Idee?


Vielen Dank für die Hilfe :)
:wink: Grüße, Jonas (XING)

www.wameo.de - Ihr virtuelles Kaufhaus

"Wer die Wahrheit liebt, darf auf das Lügen nicht verzichten." - Rosa Luxemburg
"Vertrauen ist das Gefühl, einem Menschen sogar dann glauben zu können, wenn man weiß, daß man an seiner Stelle lügen würde." - Henry Louis Mencken


www.slackliner-berlin.de
Blog | Galerie | Shop
Benutzeravatar
Waldgeist
Team
 
Beiträge: 1847
Registriert: Mo 27.09.2004 20:31
Wohnort: Innsbruck

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Stefan » So 21.02.2010 21:04

Ich habe ein paar Ideen:

Zu 1.:
Hört sich für mich definitiv nach Serverkonfiguration an! Mir fällt im Detail gerade nicht ein wo man etwas ändern muss, aber vielleicht findest du das richtige.
In der httpd.conf im Bereich Directory muss eine Änderung sein. Da der direkte Zugriff auf das Verzeichnis verboten ist.
Soetwas wie "Option +Indexes" (hast du schonmal # vor dem Options entfernt?) müsste da stehen:
<Directory >
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

In der httpd.conf gibt es zwei Directory, bei mir steht dort beides das gleiche (einmal für Default, das für den Pfad - wie in deinem Beispiel!). Versuch mal die Kommentare zu entfernen


Zu 2.:
Hier musst du in der Konfiguration der Datenbank nachsehen und nicht in Apache!
Ich glaube in PhpMyAdmin unter Rechte findest du etwas unter "host", dort kannst du dann die Nr in localhost ändern. Eine andere Stelle habe ich gerade nicht gefunden.

Liebe grüße,
Stefan
Benutzeravatar
Stefan
Team
 
Beiträge: 996
Registriert: Fr 13.08.2004 10:58

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Waldgeist » Mo 22.02.2010 09:05

Hey, besten Dank für deine Ideen und Gedanken :-).

Zu 1.: Habe das mal wie von dir vorgeschlagen geändert. Aber es bleibt dabei. :(

Zu 2.: Ich habe mal unter "Rechte" geschaut, dort sind allerdings alle eingetragen (also localhost & 127.0.0.1).
Also bin ich mir nicht ganz sicher ob es nicht doch auch irgend was mit den Rechten zu tun hat.
Habe auch schon versucht was in der config Datei zu ändern. Aber auch das führte nicht zu einem Erfolg.

Bild 1.jpg
Bild 1.jpg (40.65 KiB) 94-mal betrachtet
:wink: Grüße, Jonas (XING)

www.wameo.de - Ihr virtuelles Kaufhaus

"Wer die Wahrheit liebt, darf auf das Lügen nicht verzichten." - Rosa Luxemburg
"Vertrauen ist das Gefühl, einem Menschen sogar dann glauben zu können, wenn man weiß, daß man an seiner Stelle lügen würde." - Henry Louis Mencken


www.slackliner-berlin.de
Blog | Galerie | Shop
Benutzeravatar
Waldgeist
Team
 
Beiträge: 1847
Registriert: Mo 27.09.2004 20:31
Wohnort: Innsbruck

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Asto » Mo 22.02.2010 14:03

Also folgendes läuft bei mir einwandfrei:

Auszug aus meiner httpd_vhosts.conf
Code: Alles auswählen
NameVirtualHost 127.0.0.1

# [...]

<VirtualHost 127.0.0.1>
   DocumentRoot C:\_WebServer\htdocs
   ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1>
   DocumentRoot C:\_WebServer\phpmyadmin
   ServerName phpmyadmin
</VirtualHost>

<VirtualHost 127.0.0.1>
   DocumentRoot C:\_WebServer\htdocs\_clients
   ServerName clients
</VirtualHost>


Was du beachten solltest: localhost sollte in der liste oben stehen (in dem falle vor phpmyadmin)!!
Der Hauptserver verschwindet
Wenn Sie virtuelle Hosts zu einem bestehenden Webserver hinzufügen, müssen Sie auch einen <VirtualHost>-Block für den bestehenden Host (Anm.d.Ü.: und bisherigen Hauptserver) erstellen. Die ServerName- und DocumentRoot-Anweisungen zu diesem virtuellen Host sollten die gleichen sein wie die globalen ServerName- und DocumentRoot-Anweisungen. Führen Sie diesen virtuellen Host als erstes in der Konfigurationsdatei auf, so dass er als Standard-Host fungiert.
Quelle: http://httpd.apache.org/docs/2.2/vhosts/name-based.html


Hinweis: Wenn es ein Konfigurations-Fehler sein sollte, sollte Apache etwas im error.log hinterlegen - dort packt er nämlich Notizen, Warnungen und Fehler rein.
Bei mir zu finden unter apache/logs/error.log [Wobei das alles auch auf die Konfiguration der httpd.conf ankommt. Dort kann man festlegen ob und was geloggt wird.

Bei dir sollte die Warnung dort zu finden sein, das 127.0.0.1:80 keine VHosts zugewiesen bekommt, da deine VirtualHosts falsch benannt sind! (<Virtual Host ...>)
Code: Alles auswählen
[Mon Feb 22 14:13:32 2010] [warn] NameVirtualHost 127.0.0.7:80 has no VirtualHosts

Sie müssen den Namen des NameVirtualHost tragen! Es funktioniert auch wie bei dir, aber dann eben fehlerhaft!
Ich vermute das dies der elementare Fehler ist. :hmm:




Anbei auch noch meine httpd.conf mit ggf. relevanten einträgen (keine komplette httpd.conf!!)
Code: Alles auswählen
# [...]

ServerRoot "C:/_WebServer/apache"

# [...]

Listen 80

# [...]

ServerAdmin admin@localhost

# [...]

ServerName localhost:80

# [...]

DocumentRoot "C:/_WebServer/htdocs"

# [...]

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

# [...]

<Directory "C:/_WebServer/htdocs">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

# [...]

<IfModule dir_module>
    DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml
</IfModule>

# [...]

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

# [...]




Meckert der error.log nicht (mehr), kann man aber wohl ein Apache-Problem vorerst ausschließen.

ALLGEMEINER HINWEIS für Windows Nutzer (bei Unix / Mac Systemen weiß ich nicht wie es dort gehandhabt wird):
Wenn ihr neben localhost andere Hostnamen für euren lokalen Server nutzen möchtet, müsst ihr diese in die hosts Datei (zu finden unter C:\Windows\System32\drivers\ [unter Vista]) eintragen.

Beispiel:
Code: Alles auswählen
#::1             localhost
127.0.0.1   localhost
127.0.0.1   phpmyadmin
127.0.0.1   clients
XING | The Secret of Success: Suck Less.
Benutzeravatar
Asto
Team
 
Beiträge: 2023
Registriert: So 19.09.2004 21:52

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Waldgeist » Mo 22.02.2010 19:01

Error Log:
Code: Alles auswählen
[Mon Feb 22 18:47:05 2010] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /Users/Waldgeist/Sites/


Suche nach dem Fehler bringt allerdings keinen Erfolg. Außer das ich "Options Indexes" angeben soll, was ich schon mehrmals in verschiedenen Varianten ausprobiert habe. Der Fehler bleibt der gleiche. :( Auch die anderen Dinge von dir habe ich soweit übernommen, aber ändern tut auch das nichts.


ALLGEMEINER HINWEIS für Mac Nutzer:
Um andere Hosts anzugeben müsst ihr die Datei /etc/hosts aufrufen.
Beispiel:
Code: Alles auswählen
127.0.0.1   localhost
127.0.0.1   phpmyadmin
127.0.0.1   wameo.dev
127.0.0.1   www.wameo.dev
127.0.0.1   user.wameo.dev
127.0.0.1   shop.wameo.dev
:wink: Grüße, Jonas (XING)

www.wameo.de - Ihr virtuelles Kaufhaus

"Wer die Wahrheit liebt, darf auf das Lügen nicht verzichten." - Rosa Luxemburg
"Vertrauen ist das Gefühl, einem Menschen sogar dann glauben zu können, wenn man weiß, daß man an seiner Stelle lügen würde." - Henry Louis Mencken


www.slackliner-berlin.de
Blog | Galerie | Shop
Benutzeravatar
Waldgeist
Team
 
Beiträge: 1847
Registriert: Mo 27.09.2004 20:31
Wohnort: Innsbruck

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Waldgeist » Mo 22.02.2010 19:20

Okay, nachdem ich mich jetzt noch ein wenig eingelesen habe - manchmal helfen die Kommentare in den Konfigurationsfiles halt doch - bin ich auf die Lösung des Problems gekommen.

Code: Alles auswählen
# Dieser Directory Ordner steht für alle Ordner, die vom Apachen angesprochen werden.
# First, we configure the "default" to be a very restrictive set of features.
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

# Behandelt den speziellen Ordner der als RootDokument festgelegt wurde. Hier ist wichtig, dass in den Anführungszeichen der Pfad eingetragen wird
# This should be changed to whatever you set DocumentRoot to.
<Directory "/Users/Waldgeist/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
# und weil mein phpmyadmin Folder noch unter dem ursprünglichen Pfad abgelegt ist musste ich diese Directory Angaben hinzufügen.
<Directory "/Library/WebServer/Documents/phpmyadmin">
    Options Indexes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

#als virtuellen Host habe ich aus *:80 -> localhost:80 gemacht, vermutlich geht aber genauso *:80
NameVirtualHost localhost:80

# und hier die virtuellen Hosts...
<VirtualHost localhost>   
   DocumentRoot /Users/Waldgeist/Sites
   ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1>
   DocumentRoot /Users/Waldgeist/Sites
   ServerName 127.0.0.1
</VirtualHost>

<VirtualHost phpmyadmin>
   DocumentRoot /Library/WebServer/Documents/phpmyadmin
   ServerName phpmyadmin
</VirtualHost>


Hier muss man den richtigen Pfad eintragen, das habe ich nicht gemacht.
<Directory "/Users/Waldgeist/Sites">
:wink: Grüße, Jonas (XING)

www.wameo.de - Ihr virtuelles Kaufhaus

"Wer die Wahrheit liebt, darf auf das Lügen nicht verzichten." - Rosa Luxemburg
"Vertrauen ist das Gefühl, einem Menschen sogar dann glauben zu können, wenn man weiß, daß man an seiner Stelle lügen würde." - Henry Louis Mencken


www.slackliner-berlin.de
Blog | Galerie | Shop
Benutzeravatar
Waldgeist
Team
 
Beiträge: 1847
Registriert: Mo 27.09.2004 20:31
Wohnort: Innsbruck

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Asto » Mo 22.02.2010 19:35

ah prima ^^

aber eigentlich müsstest du noch deine virtual hosts (<VirtualHost xyz>) richtig benennen
zumindest meckert er bei mir (warnungen), wenn sie nicht richtig benannt sind. ^^

also in deinem falle localhost, 127.0.0.1 und phpmyadmin durch <VirtualHost localhost:80> ersetzen
aber solange es so nun geht, never change a running system :P

nur waren bei mir auch beispiele dabei, und da war auch alles so "richtig" benannt, wie ich es oben bereits im post erwähnte

edit:
Argument der Direktive <VirtualHost>
Beachten Sie, dass das Argument der <VirtualHost>-Anweisung exakt auf das Argument der NameVirtualHost-Anweisung passen muss.
Code: Alles auswählen
NameVirtualHost 1.2.3.4
<VirtualHost 1.2.3.4>
# ...
</VirtualHost>

Quelle: http://httpd.apache.org/docs/2.2/mod/co ... irtualhost

bei mir tuts das auch nicht richtig, wenn ich das so nutze wie du, ich frag mich warum das bei dir zu funktionieren scheint *kopfkratz*

edit edit:

ich nutze anstelle von *:80 nun auch 127.0.0.1, möchte das dann doch nicht auf einen bestimmten port fixieren
habe den post oben aktualisiert - ports sollte man allerdings laut Dokumentation wohl in nicht-test-systemen angeben

vllt solltest du anstelle von localhost:80 auch die ip nutzen, müsste dann minimal schneller sein, da er sich den look-up sparen kann? nur so ne vermutung :D
XING | The Secret of Success: Suck Less.
Benutzeravatar
Asto
Team
 
Beiträge: 2023
Registriert: So 19.09.2004 21:52

Re: [Unix/Mac] Apache konfigurieren - Problem

Beitragvon Stefan » Mo 22.02.2010 21:09

Schön das es jetzt klappt.
Benutzeravatar
Stefan
Team
 
Beiträge: 996
Registriert: Fr 13.08.2004 10:58


Zurück zu Linux & Mac

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron