Portal > Foren > Datenbanken, Server, Betriebssysteme und sonstige Programmiersprachen > Tools, Server, Betriebssysteme > Lokale vhosts erstellen - manuell funktioniert, mit Skript nicht (OS X Leopard)
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 29.09.2008, 18:21 Nach oben    #1
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard Lokale vhosts erstellen - manuell funktioniert, mit Skript nicht (OS X Leopard)

Hi,

ich verwende mein MacBook zur Entwicklung von Web-Anwendungen. Da ich es irgendwie Leid bin, für jede neue Anwendung manuell einen vhost anzulegen, habe ich versucht, das über ein kleines Skript zu automatisieren.

Vorab: Ich verwende den von Apple mitgelieferten Apache 2-Server, allerdings um vernünftiges PHP (via entropy) und mod_rails/Passenger erweitert. Das ist soziemlich das Maximum dessen, was ich mir zutraue und hat auch so schon ewig gedauert, bis ich's am laufen hatte. *hust*

Ich habe die Konfiguration des Apache außerdem so geändert, das es statt nur /private/etc/apache/extras/httpd-vhosts.conf alle Dateien in /private/etc/apache/extras/httpd-vhosts/*.conf inkludiert. Das funktioniert nachweißlich auch.

Auf Basis der Beispielkonfiguration sehen diese conf-Dateien bei mir so aus:
Code:
<VirtualHost *:80>
   ServerName redmine
   ServerAdmin meine-email-adresse

   DocumentRoot "/Users/pago/Sites/redmine/public"
   ScriptAlias /cgi-bin/ "/Users/pago/Sites/redmine/public"
   <Directory "/Users/pago/Sites/remine/public">
     Options FollowSymLinks MultiViews Includes
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>
Diese Datei habe ich manuell erzeugt und sie funktioniert hervorragend. Dazu gibt es einen entsprechenden Eintrag in der /private/etc/hosts-Datei:
Code:
127.0.0.1         redmine
Ein von meinem Skript generierter Eintrag sieht so aus:
Code:
<VirtualHost *:80>
  ServerName test
  ServerAdmin meine-email-adresse
  DocumentRoot ”/Users/pago/Sites/test/public/”
  ScriptAlias /cgi-bin/ ”/Users/pago/Sites/test/public/”
  <Directory "/Users/pago/Sites/test/public">
    Options FollowSymLinks MultiViews Includes
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
Dazu wird der passende Eintrag in der hosts-Datei generiert.

Wenn ich versuche, über http://test/ auf diesen host zuzugreifen (nach Neustart des Apache über "sudo apachectl restart") bekomme ich jedoch nur einen 403-Fehler.

Das Skript zur Generierung sieht wie folgt aus:
ruby Code:
  1. #!/usr/bin/ruby
  2. print "Server name: "
  3. serverName = gets.chomp
  4.  
  5. defaultDocRoot = "/Users/pago/Sites/#{serverName}/public"
  6.  
  7. print "Document root (#{defaultDocRoot}:( "
  8. documentRoot = gets.chomp
  9. if(documentRoot.empty?) then
  10.     documentRoot = defaultDocRoot
  11. end
  12.  
  13. # create vhost file
  14. File.open("/private/etc/apache2/extra/httpd-vhosts/#{serverName}.conf", "w") do |file|
  15.     endl = "\n"
  16.     lines = &#91;
  17.         "<VirtualHost *:80>",
  18.         "  ServerName #{serverName}",
  19.         "  ServerAdmin meine-email-adresse",
  20.         "  DocumentRoot \&#8221;#{documentRoot}\&#8221;",
  21.         "  ScriptAlias /cgi-bin/ \&#8221;#{documentRoot}\&#8221;",
  22.         "  <Directory \"#{documentRoot}\">",
  23.         "    Options FollowSymLinks MultiViews Includes",
  24.         "    AllowOverride All",
  25.         "    Order allow,deny",
  26.         "    Allow from all",
  27.         "  </Directory>",
  28.         "</VirtualHost>"
  29.     &#93;
  30.     lines.each do |line|
  31.         file << line << endl
  32.     end
  33. end
  34.  
  35. # add serverName to hosts file
  36. File.open("/private/etc/hosts", "a") do |file|
  37.     file << "127.0.0.1\t#{serverName}\n"
  38. end

Kein Meisterwerk, aber im Prinzip tut es, was es soll. Wenn es denn täte, was es soll.

Der chmod und Besitzer sowie Gruppe ist bei allen Dateien (egal ob manuell oder automatisch erzeugt) der gleiche.

Jemand ne Idee?

P.S.:
Das "meine-email-adresse" in den ganzen Beispielen ist in den Dateien meine E-Mail-Adresse. Wollt die nur hier nicht reinschreiben, bekomm schon genug Spam.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.09.2008, 18:46 Nach oben    #2
Wikinger
 
Benutzerbild von xardias
 
Registriert seit: 02.03.2006
Ort: Aachen
Beiträge: 189
Standard

Ich denke ein Auszug aus den Error Logs (vermutlich n /var/log/apache2/error.log) wäre bei der Fehlersuche sehr hilfreich.
xardias ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.09.2008, 21:21 Nach oben    #3
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Hmm... gute Idee:
Code:
[Mon Sep 29 21:20:58 2008] [error] [client 127.0.0.1] client denied by server configuration: /usr/\xe2\x80\x9d
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.09.2008, 09:34 Nach oben    #4
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Die Fehlermeldung sagt mir nichts. Den Server hast du bestimmt neu gestartet, oder?

Ansonsten schau dir das mal an (oder benutze es) :
http://code.google.com/p/virtualhost...virtualhost.sh

Bastian

Geändert von Basti (30.09.2008 um 10:22 Uhr)
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.09.2008, 10:18 Nach oben    #5
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Jopp, Server ist neu gestartet.

Das Skript sieht so aus, als ob es im Prinzip das gleiche tut. Werd das mal ausprobieren, danke.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.09.2008, 11:42 Nach oben    #6
Benutzer
 
Benutzerbild von xabbuh
 
Registriert seit: 03.12.2005
Ort: Osnabrück
Beiträge: 76
Standard

Hat der Apache auch Lese- und Ausführungsrechte auf dem mit DocumentRoot angegebenen Verzeichnis?
__________________
"Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, der wird am Ende beides verlieren" (Benjamin Franklin)
xabbuh ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.09.2008, 11:46 Nach oben    #7
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Ich verwende das Skript in der Version für Tiger und es funktioniert nach einer kleinen Anpassung wunderbar (Host-Table liegt bei mir in /etc/hosts).

Bastian
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.09.2008, 12:50 Nach oben    #8
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Ja hat er. Ich hab die conf-Datei einmal manuell erstellt (funktionierte) und einmal von meinem Skript generieren lassen (funktioniert nicht). An dem DocRoot-Verzeichnis habe ich dabei nichts geändert.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2008, 12:28 Nach oben    #9
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Yippie. Hab das Skript gerade ausprobiert uuuuuund: Bekomme nen 403er.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2008, 17:16 Nach oben    #10
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

das klingt nicht wirklich viel besser, oder?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2008, 17:57 Nach oben    #11
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Ne. Ergebnis ist halt das gleiche wie bei meinem.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2008, 19:09 Nach oben    #12
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Und, woran liegts? Falscher Benutzer, falsche Gruppe, falsche Rechte gesetzt oder vielleicht keine index.html etc. im doc_root und directory-listing nicht erlaubt?

Bastian
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.10.2008, 13:10 Nach oben    #13
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.133
Standard

Tja. Wenn ich euch das sage, glaubt mir das eh keiner.

Im nachhinein hätte ich das aber direkt sehen können, wenn ich mir meinen ersten Beitrag und das Skript mal richtig angeguckt hätte. Warum werden in dem Skript denn wohl die " escaped? Richtige Antwort: Weil's keine sind.
Irgendwie hatten sich die typographisch korrekten " eingeschlichen (nein, ich hab keine Ahnung, wie man die tippt ) womit Apache natürlich nix anfangen konnte.

Danke für die Hilfe.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.10.2008, 15:45 Nach oben    #14
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.204
Standard

Zitat:
Zitat von pago Beitrag anzeigen
Tja. Wenn ich euch das sage, glaubt mir das eh keiner.

Im nachhinein hätte ich das aber direkt sehen können, wenn ich mir meinen ersten Beitrag und das Skript mal richtig angeguckt hätte. Warum werden in dem Skript denn wohl die " escaped? Richtige Antwort: Weil's keine sind.
Irgendwie hatten sich die typographisch korrekten " eingeschlichen (nein, ich hab keine Ahnung, wie man die tippt ) womit Apache natürlich nix anfangen konnte.

Danke für die Hilfe.
sieht man wie mir grad auffällt schon an deinem ersten post, dass da verschiedene Anführungszeichen vorkommen
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.10.2008, 10:11 Nach oben    #15
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Zitat:
Zitat von pago Beitrag anzeigen
Irgendwie hatten sich die typographisch korrekten " eingeschlichen (nein, ich hab keine Ahnung, wie man die tippt )
alt + ^ und alt + 2

Bastian
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45