web-dev-qa-db-fra.com

Comment corriger l'erreur: Le site domain.com n'existe pas, lors de l'ajout de sous-domaine à Apache2?

J'essaie d'ajouter des sous-domaines à mon serveur domestique.

svn.domain.com trac.domain.com

En raison de l’adresse IP dynamique, j’utilise le service dyndns. En plus de cela, j’ai hébergé par ailleurs domain.com. J'ai créé CNAME pour les sous-domaines de l'hôte distant afin qu'ils pointent vers mon domaine utilisateur.dyndns.org.

Alors maintenant, quand je visite l'un des sous-domaines: trac ou svn, je vois "ça marche!" message.

Ceci fait, j’ai créé deux fichiers d’hôte virtuel sous/etc/Apache2/sites-enabled

fichier1: svn.domaine.com et fichier2: trac.domaine.com

contenu:

<VirtualHost *:80>

  ServerName trac.domain.com

   DocumentRoot = /var/www/trac/repos

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

</VirtualHost>

Et

<VirtualHost *:80>

  ServerName svn.domain.com

   DocumentRoot = /var/svn/repos

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

</VirtualHost>

Mais je reçois une erreur: ERREUR: Le site trac.domain.com n'existe pas!

qu'est-ce que je fais mal?

19
user796443

Essayez de déplacer les fichiers vers/sites-available. Ensuite, lancez a2ensite svn.domain.com et a2ensite trac.domain.com et rechargez Apache.

7
BluesRockAddict

J'ai eu ce problème lors de la mise à niveau d'Apache 2.2 vers Apache 2.4. La solution (ridicule) consistait à s'assurer que tous les fichiers se terminaient par .conf, ou que a2ensite aurait ERROR: Site example does not exist!.

De plus, lorsqu'ils sont liés manuellement dans sites-enabled, ils ne seraient même pas chargés sans l'extension .conf.

110
Simon A. Eugster

J'ai également rencontré le même problème lors de la mise à niveau d'Apache 2.2 vers la version 2.4; tous mes hôtes virtuels se sont soudainement brisés et, alors que j'essayais de comprendre pourquoi c'était le cas, je suis tombé sur cette question. 

Il se trouve que la raison en est une différence entre mon ancien Apache2.conf et le nouveau Apache2.conf. Mon ancien fichier de configuration Apache 2.2 avait la ligne

Include sites-enabled/

alors que mon nouveau fichier de configuration Apache 2.4 avait la ligne

IncludeOptional sites-enabled/*.conf

Et voilà, quand j'ai changé la ligne à 

IncludeOptional sites-enabled/

tout est rentré dans l'ordre. 

19
badcook

si vous tapez a2ensite. il sera prompt. Quels sites voulez-vous activer (c'est-à-dire après avoir placé un fichier .conf dans sites-available et l'avoir lié depuis des sites activés?). 

a2ensite attend le nom complet du fichier conf avec l'extension .conf

3
tven

a2ensite accepte UNIQUEMENT les fichiers .conf; copiez donc tous les sites des sites disponibles afin qu'ils aient une extension .conf (le renommage n'a pas fonctionné, confondez le linkssomehow), effacez les fichiers originaux des sites disponibles ET activés pour les sites utilisez a2ensite sur les nouveaux fichiers (vous n'avez pas besoin d'ajouter .conf) et tout fonctionne, sans le * .conf dans /etc/Apache2/apach2.conf 

Il doit y avoir un peu de "mémoire" du fichier original même quand il est renommé - le lien symbolique est également renommé, mais l'effacement et l'activation de "nouveaux" fichiers .con fonctionnent et vous pouvez ensuite utiliser a2dissite et a2ensite comme auparavant

3
user2903751

1) supprimer tous les sites par défaut dans sites-enable

a2dissite <site-configuration-file-name>

2) regardez attentivement votre fichier de configuration: commencez avec un minimum de propriétés comme:

<VirtualHost [Domain]:80>
ServerAdmin webmaster@localhost
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

Ma solution pour le nom du serveur local remplace:

Sudo a2ensite serverName

avec

Sudo a2ensite serverName.conf
0
Manolo