Réponses:
Le fichier httpd.conf est conçu pour les configurations utilisateur. Vous ne devriez vraiment pas modifier le fichier apache2.conf car il pourrait être mis à jour lors de futures mises à niveau.
Une option supplémentaire consiste à simplement placer votre configuration personnalisée dans /etc/apache2/conf.d; tous les fichiers de ce répertoire sont également inclus.
Ce ne sont pas vos seules options. Sur Ubuntu / Debian, Apache traite également tous les fichiers /etc/apache2/sites-enabled/
(qui doivent être des liens symboliques vers les fichiers dans le sites-available/
répertoire, gérés par les a2ensite
et a2dissite
programmes)
Vous êtes censé utiliser ces répertoires pour VirtualHost
s.
apache2.conf inclut httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Je pense que httpd.conf est obsolète, mais il est laissé pour les conservateurs afin qu'ils trouvent leur chemin ... :)
MODIFIER:
Après avoir lu la réponse de Rob, j'ai fait un meilleur grep:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Les configurations utilisateur c'est ...
Apache Software Foundation publie de nombreux logiciels, dont l’un est un serveur Web nommé httpd
. Les sources de projet httpd incluent notamment un httpd.conf
exemple de fichier de configuration, installé par défaut dans /usr/local/etc/httpd
ou /etc/httpd
. Vous trouverez httpd nommé comme tel sur la plupart des systèmes.
Cependant, il y a longtemps et loin, quelqu'un dans la distribution Debian GNU / Linux a décidé de changer le nom du logiciel dans cette distribution de httpd
la apache2
. Ainsi, sur un système Debian, vous trouverez un fichier de configuration nommé apache2.conf
dans un répertoire nommé /etc/apache2
. Je ne sais pas qui a fait cela ni pourquoi, mais c'est une source perpétuelle de confusion, comparable à l'appel de Windows "Microsoft" ou d'ESXi "VMware". Les distributions basées sur Debian, telles que Ubuntu, héritent de cette étrangeté. Plus étrange encore, ils comprennent alors un fichier /etc/apache2/httpd.conf
qui est Include
d à partir apache2.conf
dans laquelle les utilisateurs peuvent placer une configuration personnalisée.
La réponse est donc: si vous utilisez un système basé sur Debian, vous vous laissez aller à faire ce que Debian souhaite que vous fassiez. Sinon, vous faites généralement les choses normalement, comme le fait le projet httpd en amont.
Apache 2.4
Utilisez-vous:
Placez toutes les configurations personnalisées dans /etc/apache2/conf-available/{name}.conf
Activer / désactiver votre configuration avec sudo a2enconf {name}
ou sudo a2disconf {name}
.
(Ensuite, redémarrez le service apache2.)
Ne pas utiliser:
httpd.conf
est obsolète et vous ne devriez PAS le voir plus - si vous le voyez, laissez-le vide tel qu'installé.
apache2.conf
est toujours installé, mais laissez-le tranquille si vous souhaitez mettre à niveau Apache proprement / facilement.
-
Tout ce que vous pourriez voir dans une configuration Apache «globale» peut être ajouté / remplacé dans votre configuration personnalisée, comme indiqué ci-dessus.
Si apache2.conf
n'est pas vide et httpd.conf
s'il est vide, vous devriez probablement utiliser apache2.conf
;-)
Mais je suppose que l’un inclut l’autre (et que l’un d’entre eux est conservé uniquement pour des raisons de compatibilité ascendante) - alors, cela ne devrait pas beaucoup changer.
Néanmoins, si vous voulez ajouter quelque chose, comme un nouveau VirtualHost
: n’y at-il pas un autre sous-répertoire dans lequel vous pourriez mettre votre fichier et l’inclure?
Ce serait probablement une meilleure solution: vous ne modifieriez pas le fichier par défaut, ce qui simplifierait les mises à jour.
ouvrez simplement apache2.conf et regardez le contenu:
Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf
Donc, si vous souhaitez inclure votre propre configuration, ajoutez-la à httpd.conf et apache2.conf l'obtiendra automatiquement.
Comme d'autres personnes le disent, apache2.conf peut être généré automatiquement et il est préférable de ne pas le toucher.
Pour plus d'informations, Ubuntu utilise généralement apache2.conf et Centos utilise httpd.conf. Donc, tous ces fichiers dépendent de votre système d'exploitation.
Pour trouver le nom et l'emplacement du fichier de configuration, vous devez:
1) La recherche en tant que processus s'appelle, dans le cas présent avec l'utilisateur apache:
ps -ef | grep apache
(dans cet exemple, retourne: httpd
)
2) Affiche les variables utilisées par le binaire:
httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'
Extrait et captures d'écran sur: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html