Risposte:
Httpd.conf è progettato per le configurazioni utente. Non dovresti davvero modificare apache2.conf in quanto potrebbe essere aggiornato da futuri aggiornamenti.
Un'opzione aggiuntiva è quella di mettere la tua configurazione personalizzata in /etc/apache2/conf.d, anche tutti i file in questa directory sono inclusi.
Queste non sono le tue uniche opzioni. Su Ubuntu / Debian, Apache elabora anche tutti i file /etc/apache2/sites-enabled/
(che dovrebbero essere collegamenti simbolici ai file nella sites-available/
directory, gestiti dai programmi a2ensite
e a2dissite
)
Si intende utilizzare queste directory per VirtualHost
s.
apache2.conf include httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Penso che httpd.conf sia deprecato, ma appena lasciato lì per le persone conservatrici in modo che si trovino in giro ... :)
MODIFICARE:
Dopo aver letto la risposta di Rob, ho fatto un grep migliore:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Configurazioni utente è ...
Apache Software Foundation pubblica molti bit di software, uno dei quali è un server web chiamato httpd
. Le fonti del progetto httpd includono tra l'altro un httpd.conf
file di configurazione di esempio, che viene installato per impostazione predefinita in /usr/local/etc/httpd
o /etc/httpd
. Troverete httpd denominato come tale sulla maggior parte dei sistemi.
Tuttavia, molto tempo fa e molto lontano, qualcuno nella distribuzione Debian GNU / Linux ha deciso di cambiare il nome del software all'interno di quella distribuzione da httpd
a apache2
. Quindi su un sistema Debian troverai un file di configurazione chiamato apache2.conf
in una directory chiamata /etc/apache2
. Non so chi abbia fatto questo o perché, ma è una fonte di confusione perenne alla pari con la chiamata di Windows "Microsoft" o ESXi "VMware". Le distribuzioni basate su Debian, come Ubuntu, ereditano questa stranezza. Ancora più strano, includono quindi un file /etc/apache2/httpd.conf
che è Include
d da apache2.conf
cui gli utenti possono inserire una configurazione personalizzata.
Quindi la risposta è, se sei su un sistema basato su Debian, pieghi il cervello a fare le cose nel modo in cui Debian vuole che tu lo faccia. Altrimenti in genere fai le cose nel modo normale come fa il progetto httpd upstream.
Apache 2.4
Utilizzare:
Inserisci eventuali configurazioni personalizzate in /etc/apache2/conf-available/{name}.conf
Abilita / Disabilita la tua configurazione usando sudo a2enconf {name}
o sudo a2disconf {name}
.
(Quindi riavviare il servizio apache2.)
Non usare:
httpd.conf
è obsoleto e NON dovresti vederlo più - se lo fai, lascialo vuoto come installato.
apache2.conf
è ancora installato, ma lascialo da solo se desideri aggiornare Apache in modo pulito / semplice.
-
Tutto ciò che potresti vedere in una configurazione 'globale' di Apache può essere aggiunto / sovrascritto nella tua configurazione personalizzata come sopra.
Se apache2.conf
non è vuoto ed httpd.conf
è vuoto, probabilmente dovresti usare apache2.conf
;-)
Ma suppongo che l'uno includa l'altro (e che uno di questi sia mantenuto esclusivamente per motivi di compatibilità con le versioni precedenti) , quindi non dovrebbe cambiare molto.
Tuttavia, se si desidera aggiungere qualcosa, come un nuovo VirtualHost
: non esiste un'altra sottodirectory in cui è possibile inserire il file e includerlo?
Probabilmente sarebbe una soluzione migliore: non modificheresti il file predefinito, il che semplificherebbe gli aggiornamenti.
apri apache2.conf e guarda il contenuto:
Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf
Quindi, se si desidera includere la propria configurazione, aggiungerlo a httpd.conf e apache2.conf lo riceverà automaticamente.
Come altri dicono, apache2.conf può essere generato automaticamente ed è meglio non toccarlo.
Per ulteriori informazioni, generalmente Ubuntu utilizza apache2.conf e Centos utilizza httpd.conf. Quindi tutti questi file dipendono dal sistema operativo in uso.
Per trovare il nome e il percorso del file di configurazione, dovresti:
1) Cerca come viene chiamato il processo, in questo caso lavorando con l'utente apache:
ps -ef | grep apache
(in questo esempio, restituisce: httpd
)
2) Mostra le variabili utilizzate dal binario:
httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'
Estratto e schermate su: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html