Ubuntu Apache: httpd.conf veya apache2.conf?


43

Apache'yi yapılandırmak için bu iki dosyadan hangisini kullanmalıyım?

httpd.confİken, boş apache2.confdeğil.

Kafamı karıştırıyor!

Yanıtlar:


46

Httpd.conf, kullanıcı yapılandırmaları için tasarlanmıştır. Apache2.conf dosyasını gerçekten düzenlememelisiniz, çünkü gelecekteki güncellemeler ile güncellenebilir.

Ek bir seçenek de özel yapılandırmanızı /etc/apache2/conf.d dosyasına koymaktır, bu dizindeki tüm dosyalar da dahil edilmiştir.


5
Bir dosya adı verilen apapche2.conf yok
Doug Molineux

18

Bunlar senin tek seçeneklerin değil. Ubuntu / Debian, Apache ayrıca tüm dosyaları işler /etc/apache2/sites-enabled/( gerektiğini dosyalara olmak sembolik sites-available/tarafından yönetilen dizin a2ensiteve a2dissiteprogramların)

Bu dizinleri VirtualHosts için kullanmak niyetindesiniz .


1
bu doğru cevap ! ve ayrıca, cevabınızı ayrıntılandırmak istiyorsanız portlar / modlar için uygun yapılandırma dosyaları
Sudhi

5

apache2.conf httpd.conf dosyasını içerir:

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

Ben httpd.conf'un kullanımdan kaldırıldığını düşünüyorum, ancak muhafazakar insanlar için orada bırakıldılar.

DÜZENLE:

Rob'un cevabını okuduktan sonra daha iyi bir tanıma yaptım:

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

Kullanıcı yapılandırmaları ...


6
+1 "httpd.conf kullanımdan kaldırıldı"
feeela

1

Apache Software Foundation, bir tanesi web sunucusu olan birçok yazılım parçası yayınlamaktadır httpd. Httpd proje kaynakları diğerlerinin yanı sıra httpd.confvarsayılan olarak /usr/local/etc/httpdveya içine yüklenen örnek bir yapılandırma dosyasını içerir /etc/httpd. Çoğu sistemde bu şekilde adlandırılmış httpd bulacaksınız.

Ancak, uzun zaman önce ve uzakta, Debian GNU / Linux dağıtımında birisi o dağılım içinde yazılımın adını değiştirmeye karar httpdiçin apache2. Böylece bir Debian sisteminde, adlandırılmış apache2.confbir dizinde adlandırılmış bir yapılandırma dosyası bulacaksınız /etc/apache2. Bunu kim veya neden yaptığını bilmiyorum, ancak Windows "Microsoft" veya ESXi "VMware" olarak adlandırmakla ilgili çok uzun bir karışıklık kaynağı. Ubuntu gibi Debian'ı temel alan dağıtımlar bu garipliği miras alır. Hatta yabancı, bunlar daha sonra bir dosya içerir /etc/apache2/httpd.confedilir Includedan d apache2.confkullanıcıların özel yapılandırma yerleştirebilirsiniz içine.

Yani cevap, eğer Debian tabanlı bir sistemdeyseniz, beyninizi Debian'ın yapmanızı istediği şekilde yapmaya zorlarsınız. Aksi taktirde, işleri genellikle httpd projesinde olduğu gibi normal şekilde yaparsınız.


1

Apache 2.4

Kullanın:

Herhangi bir özel yapılandırmayı /etc/apache2/conf-available/{name}.conf

sudo a2enconf {name}Veya kullanarak konfigürasyonunuzu etkinleştirin / devre dışı bırakın sudo a2disconf {name}.

(Sonra apache2 hizmetini yeniden başlatın.)

Kullanmayın:

httpd.conf kullanımdan kaldırılmıştır ve artık görmemelisiniz - yaparsanız, kurulu olduğu gibi boş bırakın.

apache2.conf hala yüklü, ancak Apache'yi kolayca / kolayca yükseltmek istiyorsanız, onu yalnız bırakın.

-

Bir 'global' Apache konfigürasyonunda görebileceğiniz her şey yukarıdaki gibi özel konfigürasyonunuzun altına eklenebilir / geçersiz kılınabilir.

Daha fazla: https://stackoverflow.com/a/11687212/503621


0

Eğer apache2.confboş değildir ve httpd.confboş, muhtemelen kullanmalısınız apache2.conf;-)

Ancak, birinin diğerini içerdiğini (ve bunlardan birinin tamamen geriye dönük uyumluluk nedeniyle tutulduğunu varsayalım ) düşünüyorum - bu yüzden fazla değişmemesi gerekir.


Yine de, bir şey eklemek istiyorsanız, yeni gibi VirtualHost: Dosyanızı koyabileceğiniz ve ekleyebildiğiniz başka bir alt dizin yok mu?

Muhtemelen daha iyi bir çözüm olurdu: varsayılan dosyayı değiştirmezsiniz - bu da güncellemeleri basitleştirir.


Pascal tarafından belirtildiği gibi, eğer yeni bir VirtualHost eklemek istiyorsanız, sitelerin uygun olduğu yerlere yeni bir dosya eklemelisiniz ve sonra a2ensite - help.ubuntu.com/6.06/ubuntu/serverguide/ C / httpd.html
ccheneson

0

apache2.conf dosyasını açın ve içeriğe bakın:

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

Yani kendi yapılandırmanızı eklemek isterseniz, httpd.conf dosyasına ekleyin ve apache2.conf otomatik olarak alır.

Diğer bir deyişle, apache2.conf makine üretebilir ve dokunmamak daha iyidir.

Daha fazla bilgi için, genellikle Ubuntu apache2.conf, Centos ise httpd.conf kullanır. Bu nedenle, tüm bu dosyalar hangi işletim sistemine sahip olduğunuza bağlıdır.


-2

Yapılandırma dosyasının adını ve konumunu bulmak için yapmanız gerekenler:

1) Bu durumda apache kullanıcısı ile çalışarak işlem çağrılır.

ps -ef | grep apache

(Bu örnekte, döner: httpd)

2) İkili tarafından kullanılan değişkenleri göster:

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

Çıkarılan ve ekran görüntüleri: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html


Merhaba, Bana öyle geliyor ki, çoktan cevaplanmış bir soruyu cevapladınız, yıllar önce cevaplanmış bir soruyu. Ayrıca, çözümünüz sorunu çözmek için orijinal sorgulayıcıya yardımcı olmuyor, hangi yapılandırma dosyasını kullanmak en iyi yöntemdir.
M. Glatki,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.