Vraag Ubuntu Apache: httpd.conf of apache2.conf?


welke van deze twee bestanden moet ik gebruiken om Apache te configureren?

De httpd.conf is leeg, terwijl apache2.conf is niet.

Het verwart me!


41
2018-04-02 15:22


oorsprong




antwoorden:


Het httpd.conf is ontworpen voor gebruikersconfiguraties. U moet de apache2.conf echt niet bewerken omdat deze mogelijk wordt bijgewerkt door toekomstige upgrades.

Een extra optie is om gewoon uw aangepaste configuratie in /etc/apache2/conf.d te zetten, alle bestanden in deze map zijn ook inbegrepen.


45
2018-04-02 15:28



Ik heb geen bestand met de naam apapche2.conf - Doug Molineux


Dit zijn niet jouw enige opties. Op Ubuntu / Debian verwerkt Apache ook alle bestanden in /etc/apache2/sites-enabled/ (welke moeten zijn symlinks naar bestanden in sites-available/ map, beheerd door de a2ensite en a2dissite programma's)

Het is de bedoeling dat u deze directory's gebruikt VirtualHosts.


18
2018-04-02 15:44



dit is het juiste antwoord! en ook de ports / mods-beschikbare configuratiebestanden als je je antwoord wilt uitwerken - Sudhi


apache2.conf bevat httpd.conf:

a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf 
Include /etc/apache2/httpd.conf

Ik denk dat httpd.conf verouderd is, maar daar gewoon achtergelaten wordt voor conservatieve mensen zodat ze het zo vinden ... :)

BEWERK:

Na het lezen van Rob's antwoord, deed ik een betere grep:

a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf 
# Include all the user configurations:
Include /etc/apache2/httpd.conf

Gebruikersconfiguraties het is ...


5
2018-04-02 15:28



+1 "httpd.conf is verouderd" - feeela


De Apache Software Foundation publiceert veel stukjes software, waarvan er één een webserver is httpd. De httpd projectbronnen bevatten onder andere een httpd.conf voorbeeldconfiguratiebestand, dat standaard wordt geïnstalleerd in /usr/local/etc/httpd of /etc/httpd. Je zult httpd op de meeste systemen als zodanig vinden.

Maar lang geleden en ver weg besloot iemand in de Debian GNU / Linux-distributie om de naam van de software binnen die distributie te veranderen van httpd naar apache2. Zo vindt u op een Debian-systeem een ​​configuratiebestand met de naam apache2.conf in een map met de naam /etc/apache2. Ik weet niet wie dit heeft gedaan of waarom, maar het is een eeuwige bron van verwarring, vergelijkbaar met het oproepen van Windows "Microsoft" of ESXi "VMware". Distributies op basis van Debian, zoals Ubuntu, erven deze vreemdheid. Nog vreemder, ze nemen dan een bestand op /etc/apache2/httpd.conf welke is Included van apache2.conf waarin gebruikers aangepaste configuratie kunnen plaatsen.

Dus het antwoord is, als je op een op Debian gebaseerd systeem werkt, buig je je hersens om dingen te doen zoals Debian wil dat je het doet. Anders doe je het meestal op de normale manier, zoals het upstream httpd-project doet.


1
2018-03-24 01:23





Apache 2.4

Gebruik:

Plaats alle aangepaste configuraties in /etc/apache2/conf-available/{name}.conf

Schakel uw configuratie in / uit met behulp van sudo a2enconf {name}of sudo a2disconf {name}.

(Start vervolgens de apache2-service opnieuw.)

Gebruik niet:

httpd.conf is verouderd en je zou het NIET meer moeten zien. Laat het alsjeblieft leeg als het is geïnstalleerd.

apache2.conf is nog steeds geïnstalleerd, maar laat het staan ​​als u Apache netjes / gemakkelijk wilt upgraden.

-

Alles wat u in een 'globale' Apache-configuratie ziet, kan worden toegevoegd / opgeheven onder uw aangepaste configuratie zoals hierboven.

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


1
2018-03-14 22:29





Als apache2.conf is niet leeg, en httpd.conf is leeg, je zou het waarschijnlijk moeten gebruiken apache2.conf ;-)

Maar ik veronderstel dat de ene de andere omvat (en dat een daarvan zuiver wordt gehouden vanwege achterwaartse compatibiliteitsredenen)- dus het zou niet veel moeten veranderen.


Toch, als je iets wilt toevoegen, zoals een nieuw VirtualHost : is er geen andere subdirectory, waarin u uw bestand kunt plaatsen en opnemen?

Het zou waarschijnlijk een betere oplossing zijn: u zou het standaardbestand niet wijzigen - wat de updates zou vereenvoudigen.


0
2018-04-02 15:27



Zoals vermeld door Pascal, als je een nieuwe VirtualHost wilt toevoegen, moet je een nieuw bestand toevoegen onder sites-beschikbaar en het dan laten symlinken in sites-enabled met het commando a2ensite - help.ubuntu.com/6.06/ubuntu/serverguide/C/httpd.html - ccheneson


open gewoon apache2.conf en bekijk de inhoud:

Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf

Dus als je je eigen configuratie wilt toevoegen, voeg het toe aan httpd.conf en apache2.conf zal het automatisch krijgen.

Zoals anders gezegd, apache2.conf kan de machine genereren en het is beter om het niet aan te raken.

Voor meer informatie gebruikt Ubuntu over het algemeen apache2.conf en gebruikt Centos httpd.conf. Dus al deze bestanden hangen af ​​van welk besturingssysteem je hebt.


0
2018-03-24 01:12





Om de naam en de locatie van het configuratiebestand te vinden, moet u:

1) Zoek als het proces wordt aangeroepen, in dit geval met de apache-gebruiker:

ps -ef | grep apache

(in dit voorbeeld geeft: httpd)

2) Toon de variabelen gebruikt door het binaire bestand:

httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'

Geëxtraheerd en screenshots op: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html


-2
2017-12-26 18:32



Hallo, het lijkt mij dat u een al beantwoordde vraag hebt beantwoord die jaren geleden werd beantwoord. Bovendien helpt uw ​​oplossing de oorspronkelijke vraagsteller niet om het probleem op te lossen, welk configuratiebestand de beste methode is om te gebruiken. - M. Glatki