it-swarm.com.de

VHOST funktioniert nicht in Apache

Ich habe einen LAMP-Server in Ubuntu 11.04. Das Problem ist nun, dass die Websites vom Terminal aus aktiviert und deaktiviert werden müssen. Auf alle muss von http://localhost Zugegriffen werden, was nicht so effizient ist. Also habe ich ein VHOSTS erstellt und dabei einige Tutorials aus dem Netz verwendet. Hier ist die Codierung dafür

<VirtualHost *:80>
    ServerAdmin [email protected]
    Servername site.com
    ServerAlias www.site.com
    DocumentRoot /home/starx/public_html/site/public
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/starx/public_html/site/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
nGen
    ErrorLog ${Apache_LOG_DIR}/site-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${Apache_LOG_DIR}/site-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Jetzt kann ich immer noch nicht auf die Seite in http://site.com Zugreifen, aber wenn ich mit http://localhsot/ Zugreife, wird darauf zugegriffen.

Ich habe alle anderen Websites einschließlich der Standardwebsite deaktiviert und nur eine Website aktiviert, d. H. site

Wie kann man das beheben?

3
Starx

Ich habe nur versucht, das zum Laufen zu bringen, und nachdem ich mich ein bisschen umgesehen habe, habe ich herausgefunden, was für mich schief gelaufen ist.

Ich verwende xampp (lampp) 1.80 für Ubuntu 12.04.

öffne /opt/lampp/etc/httpd.conf

Siehe Zeile 488

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

entfernen Sie das "#" aus dem include.
Eine neue Installation lädt das httpd-vhosts.conf out of the box.

4
SnakZ

Wenn Sie gemäß /usr/share/doc/Apache2/README.Debian.gz Definitionen für zusätzliche Sites erstellen möchten, müssen Sie einzelne Site-Konfigurationsschnipsel in /etc/Apache2/sites-available/ Einfügen (ein Beispiel finden Sie unter /etc/Apache2/sites-available/default). Sie können dann Sites auf einem bestimmten Host mit den Befehlen a2ensite (8) und a2dissite (8) aktivieren und deaktivieren. Beachten Sie, dass dies möglicherweise nicht genau wie beschrieben funktioniert, wenn die verteilten Konfigurationen erheblich geändert wurden.

Wenn eine Site auf diese Weise aktiviert ist und weiterhin nicht funktioniert, sollten Sie sicherstellen, dass der Webserver den Namen der neuen Site so auflösen kann, dass er mit einer IP-Adresse übereinstimmt, die der Webserver für zugewiesen hält : Der einfachste Weg ist wahrscheinlich, mit w3m https://my.new.secure.site vom Server zu überprüfen. Sie möchten auch sicherstellen, dass der Client den Namen so auflöst, dass er den betreffenden Server erreicht (obwohl die aufgelöste IP nicht mit der vom Server verwendeten übereinstimmen muss). Bei unsicheren Sites ist dies mit telnet my.new.site 80 Am einfachsten. Wenn die Verbindung hergestellt ist (es gibt keine Eingabeaufforderung), geben Sie die folgenden drei Zeilen ein (beachten Sie, dass die dritte leer ist, aber Sie ein drittes Mal die Eingabetaste drücken müssen). :

 GET/HTTP/1.1 
 Host: meine.neue.Seite 
 

Wenn diese funktionieren, ist alles andere ein Browserproblem. Wenn die erste erfolgreich ist und die zweite fehlschlägt, ist wahrscheinlich etwas Ungewöhnliches in der Netzwerkschicht (NAT, Proxys usw.): Wie dies genau zu beheben ist, hängt viel zu stark von der vorhandenen Netzwerktopologie und den vorhandenen Geräten ab. Stellen Sie eine weitere Frage mit Einzelheiten wenn das auf dich zutrifft.

Wenn der erste Test fehlschlägt, überprüfen Sie den auf dem Server verfügbaren Namensdienst und die dem Server zugewiesenen IP-Adressen (ifconfig -a). Überprüfen Sie auch die Zugriffsprotokolle Ihrer Site, um sicherzustellen, dass Sie zum richtigen Zeitpunkt eine Verbindung sehen. Stellen Sie schließlich sicher, dass Ihr virtueller Host nicht nach IP, sondern nach Namen überwacht und die Ergebnisse in Ihrer VirtualHost-Direktive nicht nach IP filtert.

1
Emmet Hikory

Ich bin mir nicht sicher, ob Sie das wollen.

Ersetzen Sie Ihre Codes durch diese einfachen Funktionscodes.

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot YourDocumentRoot
   ServerName site.com
   ServerAlias www.site.com
   ErrorLog localhost
   CustomLog localhost-access_log common
</VirtualHost>

Sie können mehr über vhost lesen hier

0
SH.

Haben Sie site.com und www.site.com zu Ihrer/etc/hosts-Datei hinzugefügt, um sicherzustellen, dass das DNS-Routing korrekt ist? Du kannst es versuchen nslookup site.com, um die DNS zu testen.

Wenn Sie sicherstellen möchten, dass http://localhost funktioniert nicht, löschen Sie die Dateien/etc/Apache2/default, default-ssl und verwenden Sie einen einzelnen virtuellen Host.

0
Nemo