299 votes

Erreur "Site does not exist" pour a2ensite

J'ai cmsplus.dev sous /etc/apache2/sites-available avec le code suivant,

<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

Maintenant, quand j'utilise sudo /usr/sbin/a2ensite cmsplus.dev J'obtiens l'erreur suivante,

ERROR: Site cmsplus.dev does not exist!

Mon serveur web Apache/2.4.6 (Ubuntu)

Comment résoudre ce problème ?

633voto

devo Points 5822

Le problème a été résolu en ajoutant .conf aux fichiers de configuration du site.

Apache a2ensite résulte dans :

Erreur ! Le site n'existe pas

Problème : Si vous avez trouvé l'erreur en essayant d'activer un site en utilisant :

sudo a2ensite example.com

mais il revient :

Erreur : example.com n'existe pas

a2ensite est simplement un script Perl qui ne fonctionne qu'avec des noms de fichier se terminant par .conf

Par conséquent, je dois renommer mon fichier de configuration pour example.com à example.com.conf comme cela pourrait être réalisé comme suit :

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

Succès

25 votes

Bizarre ! Cela fonctionnait bien sans extension dans Ubuntu 12.04 et 12.10.

0 votes

Pareil pour moi. Comme le dit Guilherme, le fichier apache2.conf a changé entre les versions d'ubuntu ou d'Apache.

7 votes

Comme alternative, je pense que vous pouvez simplement modifier le fichier apache.conf. La ligne concernée est "IncludeOptional sites-enabled/*.conf". Enlevez le .conf à la fin et vous retrouverez ce qui fonctionnait dans 12.04. Je pense qu'il s'agit peut-être d'une modification apportée par Debian qui s'est glissée dans Ubuntu, mais je n'en suis pas sûr.

93voto

Nikolas Points 359

Vous avez probablement mis à jour votre installation Ubuntu et l'une des mises à jour comprenait la mise à niveau d'Apache vers la version 2.4.x.

Dans Apache 2.4.x, les fichiers de configuration des serveurs virtuels, situés dans le répertoire /etc/apache2/sites-available, doivent avoir l'extension .conf.

En utilisant le terminal (commande mv), renommez tous vos fichiers de configuration existants et ajoutez l'extension .conf à chacun d'entre eux.

mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf

Si vous obtenez une erreur "Permission refusée", ajoutez "sudo " devant vos commandes de terminal.

Vous n'avez pas besoin d'apporter d'autres modifications aux fichiers de configuration.

Activez le(s) serveur(s) virtuel(s) :

a2ensite cmsplus.dev.conf

Et ensuite recharger Apache :

service apache2 reload

Vos sites devraient être opérationnels maintenant.


UPDATE : Comme mentionné ici une distribution Linux que vous avez installée a changé la configuration pour inclure *.conf seulement. Cela n'a donc rien à voir avec Apache 2.2 ou 2.4.

0 votes

Étrange, j'ai eu l'erreur quand j'ai essayé d'activer un site en utilisant un chemin : "sudo a2ensite /etc/apache2/sites-available/exemple.com.conf". En revanche, l'ouverture d'une fenêtre de console dans le répertoire sites-available et l'exécution de "sudo a2ensite example.com.conf" s'exécutent parfaitement.

28voto

Guilherme Points 635

Il y a un autre bon moyen, il suffit de modifier le fichier apache2.conf il y a une ligne à la fin

InclureOptionnel sites-enabled/*.conf

il suffit de retirer le .conf à la fin, comme ceci

IncludeOptional sites-enabled/*

et redémarrez le serveur.

(J'ai essayé ceci seulement dans l'Ubuntu 13.10, quand je l'ai mis à jour).

1 votes

Hmm... J'ai essayé cela sur Ubuntu 14.04 et cela n'a pas fonctionné. Ajout de .conf aux fichiers de configuration l'a fait, cependant.

0 votes

Étrange, j'ai eu cette erreur lorsque j'ai mis à jour mon ubuntu 12.04 vers 13.10 (parce que j'ai substitué involontairement les fichiers de configuration d'apache). Dans la mise à jour 14.04, je me suis rappelé de ne pas substituer, et je n'ai pas eu de problème.

0 votes

Ce n'est vraiment pas une bonne façon de faire. Les fichiers sous sites-enabled sont des liens symboliques vers les fichiers correspondants sous sites-available et devraient simplement être supprimés pour désactiver le site - c'est en fait ce que fait a2dissite ; a2ensite active le site en conséquence.

8voto

cslotty Points 61

Je viens d'avoir le même problème. Je dirais que ça n'a rien à voir avec le fichier apache.conf.

a2ensite doit avoir changé - la ligne 532 est la ligne qui impose le suffixe .conf :

else {
    $dir    = 'sites';
    $sffx   = '.conf';
    $reload = 'reload';
}

Si vous le changez en :

else {
    $dir    = 'sites';
    #$sffx   = '.conf';
    $sffx   = '';
    $reload = 'reload';
}

...il fonctionnera sans aucun suffixe.

Bien sûr, vous ne voudriez pas changer le script de a2ensite, mais changer le suffixe du fichier conf est la manière correcte.

Il s'agit probablement d'un moyen de faire respecter le suffixe ".conf".

0 votes

Voir aussi cette question : askubuntu.com/questions/362682/

-2voto

Balaji Perumal Points 161

Essayez comme ceci

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

et ajouter une entrée dans /etc/hosts

127.0.0.1 www.cmsplus.dev

redémarrer apache

0 votes

Maintenant, il me donne le défaut It works au lieu des paramètres.

0 votes

Avez-vous une configuration de plusieurs hôtes virtuels ? Pouvez-vous afficher le contenu complet du fichier ?

3 votes

Merci, j'ai résolu ce problème en ajoutant simplement .conf à ces fichiers de configuration du site.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X