web-dev-qa-db-fra.com

Ubuntu Apache: httpd.conf ou Apache2.conf?

lequel de ces deux fichiers dois-je utiliser pour configurer Apache?

Le httpd.conf est vide, tandis que Apache2.conf n'est pas.

Ça me perturbe!

44
ajsie

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 par de futures mises à niveau.

Une option supplémentaire consiste à simplement mettre votre configuration personnalisée dans /etc/Apache2/conf.d, tous les fichiers de ce répertoire sont également inclus.

47
Rob Di Marco

Ce ne sont pas vos seules options. Sur Ubuntu/Debian, Apache traite également tous les fichiers dans /etc/Apache2/sites-enabled/ (qui devrait être des liens symboliques vers des fichiers dans sites-available/ répertoire, géré par le a2ensite et a2dissite programmes)

Vous êtes censé utiliser ces répertoires pour VirtualHosts.

19
Powerlord

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 juste laissé là pour les conservateurs afin qu'ils trouvent leur chemin ... :)

ÉDITER:

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

Configurations utilisateur c'est ...

5
Alexander T

Apache Software Foundation publie de nombreux logiciels, dont un serveur Web nommé httpd. Les sources du projet httpd incluent entre autres un httpd.conf exemple de fichier de configuration, qui est 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 à 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 ça ou pourquoi, mais c'est une source perpétuelle de confusion au même titre que d'appeler Windows "Microsoft" ou ESXi "VMware". Les distributions basées sur Debian, comme Ubuntu, héritent de cette étrangeté. Encore plus étranges, ils incluent alors un fichier /etc/Apache2/httpd.conf qui est Included de Apache2.conf dans lequel les utilisateurs peuvent placer une configuration personnalisée.

Donc, la réponse est, si vous êtes sur un système basé sur Debian, vous pliez votre cerveau pour faire les choses comme Debian veut que vous le fassiez. Sinon, vous faites généralement les choses normalement comme le fait le projet httpd en amont.

2
Michael Hampton

Apache 2.4

Utilisez:

Placez toutes les configurations personnalisées dans /etc/Apache2/conf-available/{name}.conf

Activez/désactivez votre configuration à l'aide de Sudo a2enconf {name}ou Sudo a2disconf {name}.

(Ensuite, redémarrez le service Apache2.)

N'utilisez pas:

httpd.conf est obsolète et vous ne devriez plus le voir - si vous le faites, laissez-le vide tel qu'il est installé.

Apache2.conf est toujours installé, mais laissez-le tranquille si vous souhaitez mettre à jour Apache proprement/facilement.

-

Tout ce que vous pourriez voir dans une configuration Apache "globale" peut être ajouté/remplacé sous votre configuration personnalisée comme ci-dessus.

Plus: https://stackoverflow.com/a/11687212/503621

1
bshea

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 disent, Apache2.conf peut être généré par machine et il vaut mieux ne pas le toucher.

Pour plus d'informations, généralement Ubuntu utilise Apache2.conf et Centos utilise httpd.conf. Tous ces fichiers dépendent donc du système d'exploitation dont vous disposez.

0
kazi Tanvir Ahsan

Si Apache2.conf n'est pas vide et httpd.conf est vide, vous devriez probablement utiliser Apache2.conf ;-)

Mais je suppose que l'un inclut l'autre (et que l'un d'eux est conservé uniquement pour des raisons de compatibilité descendante) - donc, cela ne devrait pas changer grand-chose.


Pourtant, si vous voulez ajouter quelque chose, comme un nouveau VirtualHost: n'y a-t-il pas un autre sous-répertoire, dans lequel vous pourriez mettre votre fichier et le faire inclure?

Ce serait probablement une meilleure solution: vous ne modifieriez pas le fichier par défaut - ce qui simplifierait les mises à jour.

0
Pascal MARTIN