Ubuntu Apache: httpd.conf atau apache2.conf?

43

yang mana dari dua file ini yang harus saya gunakan untuk mengkonfigurasi Apache?

Itu httpd.confkosong, sementara apache2.conftidak.

Itu membingungkan saya!

ajsie
sumber

Jawaban:

46

Httpd.conf dirancang untuk konfigurasi pengguna. Anda benar-benar tidak boleh mengedit apache2.conf karena dapat diperbarui oleh peningkatan di masa mendatang.

Opsi tambahan adalah dengan hanya meletakkan konfigurasi khusus Anda ke /etc/apache2/conf.d, semua file dalam direktori ini juga disertakan.

Rob Di Marco
sumber
5
Saya tidak punya file bernama apapche2.conf
Doug Molineux
18

Ini bukan satu-satunya pilihan Anda. Di Ubuntu / Debian, Apache juga memproses semua file di /etc/apache2/sites-enabled/(yang seharusnya merupakan symlink ke file dalam sites-available/direktori, dikelola oleh a2ensitedan a2dissiteprogram)

Anda seharusnya menggunakan direktori ini untuk VirtualHosts.

Powerlord
sumber
1
ini jawaban yang benar! dan juga file konfigurasi port / mod-tersedia jika Anda ingin menguraikan jawaban Anda
Sudhi
5

apache2.conf termasuk httpd.conf:

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

Saya pikir httpd.conf sudah usang, tetapi ditinggalkan di sana untuk orang-orang konservatif sehingga mereka menemukan jalan keluar ... :)

SUNTING:

Setelah membaca jawaban Rob, saya melakukan grep yang lebih baik:

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

Konfigurasi pengguna adalah ...

Alexander T
sumber
6
+1 "httpd.conf sudah usang"
feeela
1

Yayasan Perangkat Lunak Apache menerbitkan banyak bit perangkat lunak, salah satunya adalah server web bernama httpd. Sumber proyek httpd antara lain meliputi httpd.conffile konfigurasi sampel, yang diinstal secara default di /usr/local/etc/httpdatau /etc/httpd. Anda akan menemukan httpd dinamai demikian di sebagian besar sistem.

Namun, dulu dan jauh, seseorang dalam distribusi Debian GNU / Linux memutuskan untuk mengubah nama perangkat lunak dalam distribusi itu dari httpdmenjadi apache2. Dengan demikian pada sistem Debian Anda akan menemukan file konfigurasi bernama apache2.confdalam direktori bernama /etc/apache2. Saya tidak tahu siapa yang melakukan ini atau mengapa, tetapi ini merupakan sumber kebingungan abadi yang setara dengan menyebut Windows "Microsoft" atau ESXi "VMware". Distribusi berdasarkan Debian, seperti Ubuntu, mewarisi keanehan ini. Bahkan orang asing, mereka kemudian menyertakan file /etc/apache2/httpd.confyang Included dari apache2.confmana pengguna dapat menempatkan konfigurasi kustom.

Jadi jawabannya adalah, jika Anda menggunakan sistem berbasis Debian, Anda membungkukkan otak Anda untuk melakukan hal-hal seperti yang diinginkan Debian untuk melakukannya. Kalau tidak, Anda biasanya melakukan hal-hal dengan cara normal seperti proyek hulu httpd melakukannya.

Michael Hampton
sumber
1

Apache 2.4

Gunakan:

Tempatkan konfigurasi khusus di /etc/apache2/conf-available/{name}.conf

Aktifkan / Nonaktifkan konfigurasi Anda menggunakan sudo a2enconf {name}atau sudo a2disconf {name}.

(Kemudian restart layanan apache2.)

Jangan gunakan:

httpd.conf sudah usang dan Anda TIDAK boleh melihatnya lagi - jika Anda melakukannya, biarkan kosong saat diinstal.

apache2.conf masih terpasang, tetapi biarkan sendiri jika Anda ingin memutakhirkan Apache dengan bersih / mudah.

-

Apa pun yang mungkin Anda lihat dalam konfigurasi Apache 'global' dapat ditambahkan / diganti di bawah konfigurasi khusus Anda seperti di atas.

Lebih lanjut: https://stackoverflow.com/a/11687212/503621

bshea
sumber
0

Jika apache2.conftidak kosong, dan httpd.confkosong, Anda mungkin harus menggunakan apache2.conf;-)

Tapi saya kira yang satu termasuk yang lain (dan salah satunya disimpan murni untuk alasan kompatibilitas mundur) - jadi, itu tidak akan banyak berubah.


Namun, jika Anda ingin menambahkan sesuatu, seperti yang baru VirtualHost: apakah tidak ada sub-direktori lain, di mana Anda dapat meletakkan file Anda, dan memasukkannya?

Ini mungkin akan menjadi solusi yang lebih baik: Anda tidak akan memodifikasi file default - yang akan menyederhanakan pembaruan.

Pascal MARTIN
sumber
Seperti disebutkan oleh Pascal, jika Anda ingin menambahkan VirtualHost baru, Anda harus menambahkan file baru di bawah situs-tersedia dan kemudian symlink di situs-diaktifkan dengan perintah a2ensite - help.ubuntu.com/6.06/ubuntu/serverguide/ C / httpd.html
ccheneson
0

cukup buka apache2.conf dan lihat kontennya:

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

Jadi, jika Anda ingin memasukkan konfigurasi Anda sendiri, tambahkan ke httpd.conf dan apache2.conf secara otomatis akan mendapatkannya.

Seperti kata lain, apache2.conf dapat dibuat oleh mesin dan lebih baik tidak menyentuhnya.

Untuk informasi lebih lanjut, umumnya Ubuntu menggunakan apache2.conf dan Centos menggunakan httpd.conf. Jadi semua file ini tergantung pada OS yang Anda miliki.

kazi Tanvir Ahsan
sumber
-2

Untuk menemukan nama dan lokasi file konfigurasi, Anda harus:

1) Pencarian sesuai prosesnya, dalam hal ini bekerja dengan pengguna apache:

ps -ef | grep apache

(dalam contoh ini, kembali: httpd)

2) Tampilkan variabel yang digunakan oleh biner:

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

Diekstraksi dan tangkapan layar di: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html

Ray Tatooine
sumber
Halo, Tampaknya bagi saya, bahwa Anda telah menjawab pertanyaan yang sudah dijawab, yang telah dijawab bertahun-tahun yang lalu. Selain itu, solusi Anda tidak membantu penanya asli untuk menyelesaikan masalah, file konfigurasi mana yang merupakan praktik terbaik untuk digunakan.
M. Glatki