it-swarm.com.de

Wie behebt man den Fehler: Site domain.com existiert nicht, während Subdomain zu Apache2 hinzugefügt wird?

Ich versuche, meinem Heimserver Unterdomänen hinzuzufügen.

svn.domain.com trac.domain.com

Aufgrund der dynamischen IP verwende ich den dyndns-Dienst, außerdem habe ich domain.com woanders gehostet. Ich habe CNAME für Subdomains auf dem Remote-Host erstellt, um auf meine Domäne user.dyndns.org zu verweisen.

Wenn ich jetzt eine der Unterdomänen besuche: trac oder svn, sehe ich "Es funktioniert!" Botschaft.

Dazu habe ich zwei virtuelle Host-Dateien unter/etc/Apache2/sites-enabled erstellt

datei1: svn.domain.com und Datei2: trac.domain.com

inhalt:

<VirtualHost *:80>

  ServerName trac.domain.com

   DocumentRoot = /var/www/trac/repos

   <Directory /var/www/trac/repos>
    Order allow,deny
    allow from all
   </Directory>

</VirtualHost>

Und

<VirtualHost *:80>

  ServerName svn.domain.com

   DocumentRoot = /var/svn/repos

   <Directory /var/svn/repos>
    Order allow,deny
    allow from all
   </Directory>

</VirtualHost>

Aber ich bekomme eine Fehlermeldung: FEHLER: Site trac.domain.com existiert nicht!

was mache ich falsch?

19
user796443

Verschieben Sie die Dateien nach/sites-available. Dann a2ensite svn.domain.com und a2ensite trac.domain.com ausführen und Apache neu laden.

7
BluesRockAddict

Dieses Problem hatte ich beim Upgrade von Apache 2.2 auf Apache 2.4. Die (lächerliche) Lösung bestand darin, sicherzustellen, dass alle Dateien mit .conf enden, oder a2ensite würde ERROR: Site example does not exist!.

Bei einer manuellen Verknüpfung in sites-enabled würden sie auch ohne die Erweiterung .conf nicht geladen.

110

Ich bin auch auf das gleiche Problem gestoßen, als ich von Apache 2.2 auf 2.4 aufgerüstet bin. Alle meine virtuellen Hosts waren plötzlich kaputt und bei der Suche nach dem Grund dafür war ich auf diese Frage gestoßen. 

Es stellt sich heraus, dass der Grund auf einen Unterschied zwischen meinem alten Apache2.conf und dem neuen Apache2.conf zurückzuführen ist. Meine alte Apache 2.2-Conf-Datei hatte die Zeile

Include sites-enabled/

während meine neue Apache 2.4-Conf-Datei die Zeile hatte

IncludeOptional sites-enabled/*.conf

Und siehe da, als ich die Zeile geändert habe 

IncludeOptional sites-enabled/

alles ging wieder normal. 

19
badcook

wenn Sie a2ensite eingeben. Es wird Prompt. Welche Sites möchten Sie aktivieren (z. B. nachdem Sie eine .conf-Datei in die Sites eingefügt haben, die verfügbar ist, und die Site mit der Verknüpfung verknüpfen)? 

a2ensite erwartet den vollständigen Namen der conf-Datei mit der Erweiterung .conf

3
tven

a2ensite akzeptiert NUR. .conf-Dateien. Kopieren Sie also alle Websites in sites-available, sodass die Erweiterung .conf (Umbenennen nicht funktioniert hat, wenn der linkssomehow verwendet wird). Löschen Sie die Originaldateien von Sites, die für Sites UND für Sites verfügbar sind. Verwenden Sie a2ensite für die neuen Dateien (Sie müssen keine .conf hinzufügen), und es funktioniert alles mit unserer ohne die * .conf in /etc/Apache2/apach2.conf 

Es muss etwas "Speicher" für die Originaldatei vorhanden sein, auch wenn sie umbenannt wird - der symbolische Link wird ebenfalls umbenannt, aber das Löschen und Aktivieren der "neuen" .con-Dateien funktioniert und Sie können a2dissite und a2ensite wie zuvor verwenden

3
user2903751

1) Entfernen Sie alle Standardstandorte in sites-enable

a2dissite <site-configuration-file-name>

2) Schauen Sie sich Ihre Konfigurationsdatei an: Beginnen Sie mit einem Minimum an Eigenschaften wie:

<VirtualHost [Domain]:80>
ServerAdmin [email protected]
ServerName [Domain]
DocumentRoot [webAppPath]

<Directory [webAppPath]>
    AllowOverride All
     Order allow,deny
     Allow from all
     Require all granted
</Directory>


ErrorLog ${Apache_LOG_DIR}/my_domain_name_error.log

CustomLog ${Apache_LOG_DIR}/my_domain_name_access.log combined
</VirtualHost>
0
Ulrich Horus

Meine Lösung für den lokalen Servernamen ersetzt Folgendes:

Sudo a2ensite serverName

mit

Sudo a2ensite serverName.conf
0
Manolo