Di mana saya harus meletakkan situs web lokal saya mulai dengan versi 2.4.7 dari apache2?

50

Saya baru-baru ini menginstal Ubuntu 14.04, kemudian saya menginstal lamp-serverdan menempatkan halaman web saya di /var/wwwdirektori, tetapi ketika saya membuka localhost di browser tidak ada apa-apa. Saya pikir itu terjadi karena Zend memperbarui Apache.

Apa pun alasannya, saya ingin tahu di mana menyimpan file php saya sehingga saya dapat mengaksesnya dari browser saya.

akabhirav
sumber
Meskipun bukan jawaban untuk pertanyaan OP, jawaban berikut dapat membantu beberapa pengunjung yang tersandung pada pertanyaan ini saat mencoba untuk memperbaiki masalah terkait: askubuntu.com/a/525120/1183
augustin

Jawaban:

76

Versi apache2 yang diterbitkan ketika rilis Ubuntu 14.04 dibuat adalah 2.4.7 dan dimulai dengan versi ini tampaknya, untuk alasan keamanan, direktori root baru untuk server adalah:

/var/www/html

Jadi, mulai sekarang, di sinilah Anda harus meletakkan file untuk situs web (lokal) Anda. Anda seharusnya tidak memiliki masalah ini lagi dengan pembaruan di masa mendatang.


Bagaimanapun, jika Anda ingin mengubah direktori ini dengan yang lain, Anda harus memodifikasi (sebagai root) baris berikut dari /etc/apache2/sites-available/000-default.conffile ( sudo nano /etc/apache2/sites-available/000-default.conf):

DocumentRoot /var/www/html

untuk

DocumentRoot /path/to/another/directory

Setelah ini, agar perubahan baru berlaku, Anda harus memulai ulang server apache menggunakan perintah berikut:

sudo service apache2 restart
Radu Rădeanu
sumber
10
Menarik, saya mencoba mencari alasan di balik langkah ini. Jika ada yang tertarik, saya menemukan laporan bug ini di Debian yang menjelaskannya.
Dan
4
Saya mendapatkan kesalahan terlarang setelah perubahan ini.
Darshana
1
@Darshana Konfigurasi default di apache2.4 tidak mengizinkan apache mengakses apa pun di luar /var/www/html. Menempatkan situs Anda di mana saja selain di direktori itu (atau sub-direktori), akan memberi Anda kesalahan 403. Anda perlu menambahkan <Directory /path/to/your/site>arahan ke konfigurasi VHost Anda dengan requirearahan di dalamnya.
Dan
Ini tidak berhasil untuk saya.
user124384
Sama di sini .. Sekarang memberi saya Kesalahan 403 dilarang! Bagaimana saya harus mengatasinya (Secara lebih sederhana, noober way TOLONG)
abhishah901
27

Alih-alih memodifikasi /etc/apache2/sites-available/000-default.confkembali ke versi lama, saya lebih suka menjaga file paket default tidak dimodifikasi.

Alasannya adalah agar tidak rusak saat peningkatan berikutnya lagi yang mungkin mengatur ulang 000-default.conffile.
Selain itu, modifikasi seperti itu tidak dilakukan hanya untuk mengganggu kami, modifikasi itu dilakukan untuk alasan yang baik, seperti yang dijelaskan oleh laporan bug di Debian ini .

Webserver kami [sic] menetapkan root dokumen default ke / var / www, sedangkan administrator situs-lokal cenderung menggunakan /var/www/example.com. Ini memiliki implikasi keamanan jika pengunjung mengakses root dokumen default, melewati / seharusnya / dokumen root dari example.com. Itu bermasalah jika data sensitif ditempatkan di luar akar dokumen yang seharusnya (mis. Pertimbangkan file konfigurasi /var/www/example-com-db.conf hipotetis).

Solusi yang lebih baik adalah memindahkan file situs dari /var/wwwke /var/www/html/.

# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/

Juga, solusi lain yang mungkin adalah membuat Virtual Host lain dan menonaktifkan yang default dengan perintah sudo a2dissite 000-default

Dan
sumber