Ubuntu Apache: httpd.conf o apache2.conf?


43

quale di questi due file dovrei usare per configurare Apache?

Il httpd.confè vuoto, mentre apache2.confnon lo è.

Mi confonde!

Risposte:


46

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.


5
Non ho un file chiamato apapche2.conf
Doug Molineux,

18

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 a2ensitee a2dissite)

Si intende utilizzare queste directory per VirtualHosts.


1
questa è la risposta corretta! e anche i file di configurazione port / mod disponibili se vuoi approfondire la tua risposta
Sudhi,

5

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 è ...


6
+1 "httpd.conf è deprecato"
feeela

1

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.conffile di configurazione di esempio, che viene installato per impostazione predefinita in /usr/local/etc/httpdo /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 httpda apache2. Quindi su un sistema Debian troverai un file di configurazione chiamato apache2.confin 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.confche è Included da apache2.confcui 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.


1

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.

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


0

Se apache2.confnon è 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.


Come menzionato da Pascal, se si desidera aggiungere un nuovo VirtualHost, è necessario aggiungere un nuovo file in siti disponibili e quindi averlo link simbolico in siti abilitati con il comando a2ensite - help.ubuntu.com/6.06/ubuntu/serverguide/ C / httpd.html
ccheneson,

0

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.


-2

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


Ciao, mi sembra che tu abbia risposto a una domanda già risposta, a cui è stata data risposta anni fa. Inoltre, la soluzione non aiuta l'interrogatore originale a risolvere il problema, quale file di configurazione è la migliore procedura da utilizzare.
M. Glatki,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.