web-dev-qa-db-fra.com

Où dans Apache 2 définissez-vous la directive ServerName globalement?

REMARQUE: Ceci est lié à ma question: " Apache 2.4 ne se rechargera pas, un problème avec ma configuration? ".

J'essaie de tester un site local, localement. Si je comprends bien, Apache 2 (et peut-être aussi Apache) a quelque chose appelé VirtualHost. Mon peu de compréhension me dit que l'hébergement virtuel est un moyen où un serveur/une adresse IP peut servir plusieurs domaines.

Quoi qu'il en soit, j'obtiens l'erreur suivante lors de l'exécution de configtest d'Apache 2 pour voir où j'échoue. J'utilise Apache 2.4.10-1, et il semble qu'il y ait eu beaucoup de changements entre Apache 2.2 et Apache 2.4 dont je ne suis pas au courant.

$ Sudo Apache2ctl configtest
[Sudo] password for shirish:
AH00558: Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Voici le fichier /etc/hosts:

 $ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

Je vois également un fichier /etc/hosts.conf Vide. Peut-être que les données de /etc/hosts Doivent être copiées dans /etc/hosts.conf Pour que le serveur prenne connaissance?

Mon nom d'hôte:

$ hostname
debian

Voici le fichier de configuration du site:

$ cat /etc/Apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options +FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

J'ai aussi lire sur la liaison aux adresses et aux ports , mais je n'ai pas bien compris cela pour plusieurs raisons. Il ne donne pas/ne partage pas d'exemple quant au fichier dans lequel ces lignes doivent être placées et ce qui viendra avant et après. Un exemple aurait été bien meilleur.

J'ai fait cela et redémarré le serveur, mais j'obtiens toujours la même erreur.

~$ Sudo Apache2ctl configtest
AH00558: Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Il semble qu'il y ait trois fichiers de configuration dans Debian que je dois connaître et comprendre.

/etc/Apache2$ ls *.conf
Apache2.conf  ports.conf

et

/etc/Apache2/conf.d$ ls *.conf
httpd.conf

Apparemment, Apache2.conf IS le fichier de configuration global tandis que httpd.conf est un fichier de configuration utilisateur. Il y a aussi ports.conf. Apache2.conf et ports.conf sont tous les deux par défaut. sauf que j'ai changé le niveau de log d'Apache de warn à debug.

J'ai essayé une autre chose:

$ Sudo Apache2ctl -S
AH00558: Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
127.0.1.1:80           debian (/etc/Apache2/sites-enabled/minidebconfindia.conf:1)
*:80                   127.0.1.1 (/etc/Apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/Apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/Apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/Apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/Apache2/Apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

Peut-être que quelqu'un a plus de perspicacité.

38
shirish

Le fichier à éditer:

/etc/Apache2/Apache2.conf

Commande pour éditer le fichier:

Sudo nano /etc/Apache2/Apache2.conf

Pour un nom de serveur global, vous pouvez le placer en haut du fichier (en dehors des balises d'hôte virtuel).

La première ligne ressemble à ceci:

ServerName myserver.mydomain.com

Ensuite, enregistrez et testez la configuration avec la commande suivante:

apachectl configtest

Tu devrais obtenir:

Syntaxe OK

Ensuite, vous pouvez redémarrer le serveur et vérifier que vous n'obtenez pas le message d'erreur:

Sudo service Apache2 restart
47
Mark N Hopgood

Vous devez définir directive ServerName :

ServerName localhost

Dans Debian, vous pouvez le définir dans /etc/Apache2/conf.d/httpd.conf.

Sur macOS, vous pouvez le définir dans /private/etc/Apache2/httpd.conf.

6
cuonglm

Pour localiser votre fichier de configuration Apache, essayez d'exécuter la commande suivante:

apachectl -t -D DUMP_INCLUDES

Ensuite, éditez ce fichier et localisez la ligne avec ServerName et décommentez-le, pour qu'il ressemble à ceci:

ServerName localhost
2
kenorb

Dans le fichier de configuration Apache24, vous verrez la ligne ServerName:80:

  1. Laissez-le vide.
  2. Ensuite, en dessous de cette ligne dans l'espace vide, écrivez:
    ServerName www.name (of your official domain or website.com:80)
  3. Enregistrez le fichier de configuration.
  4. Accédez à cmd, ouvrez-le en tant que changement d'administrateur dir à l'emplacement d'Apache24
  5. Ensuite cd Apache24 Puis cd bin Puis httpd.exe

Vous verrez que le problème est résolu.

0
Rachel Horsham