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é.
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
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
.
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
Dans le fichier de configuration Apache24, vous verrez la ligne ServerName:80
:
ServerName www.name (of your official domain or website.com:80)
cmd
, ouvrez-le en tant que changement d'administrateur dir
à l'emplacement d'Apache24cd Apache24
Puis cd bin
Puis httpd.exeVous verrez que le problème est résolu.