Pertanyaan / var / www / struktur folder untuk proyek PHP


Saya menggunakan MAMP hanya untuk lingkungan pengembangan saya dan belum benar-benar memahami struktur folder / var / www / project-name / pada server web. Saya bertanya-tanya apakah Anda bermaksud mengarahkan server web ke folder htdocs atau seharusnya menunjuk ke akar folder proyek?

Alasan saya bertanya adalah karena perpustakaan dimaksudkan ada di luar folder htdocs untuk tujuan keamanan, tetapi bagaimana mereka menunjuk dari aplikasi web itu sendiri? Tentunya aplikasi web tidak dapat mengakses folder di luar folder htdocs jika server web menunjuk ke folder htdocs untuk aplikasi web?


6
2018-04-10 17:42


asal


Jawaban:


Solusi sederhana adalah memiliki struktur folder seperti ini:

/var/www/project-name/
    + webroot/
    + libraries/

Arahkan apache2 Anda DocumentRoot ke webroot direktori. Simpan semua pustaka yang tidak ingin Anda akses dari web di libraries direktori. Dalam kode php Anda, gunakan arahan include untuk mengakses kode pustaka.

Triknya adalah untuk memahami bahwa php dapat menyertakan file apa pun di sistem Anda yang telah ia baca aksesnya. Seseorang yang menelusuri situs web Anda hanya dapat mengakses file di dalam direktori webroot Anda.


9
2018-04-10 18:24



Jika Anda memiliki beberapa vhost di server yang sama, cukup umum untuk memiliki setiap situs dalam direktori di bawah /var/www, dan masing-masing memiliki htdocs folder, yang di-mount sebagai root web. Anda kemudian dapat memiliki log dan pustaka khusus aplikasi dalam folder di atas akar web. Misalnya.:

/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log

3
2018-04-10 18:21



PHP dapat mengakses file apa pun di sistem file yang mana pengguna server apache memiliki izin yang benar. Pada kotak linux menjalankan apache tanpa host virtual, / var / www adalah tempat umum yang digunakan untuk direktori htdocs Anda.


1
2018-04-10 17:48



Anda menempatkan pustaka di PHP include_path yang tidak dapat diakses oleh pengguna umum.


0
2018-04-10 17:48



Ini adalah ide googd untuk memetakan situs web lokal Anda di direktori dengan cara yang sama seperti domain Anda bekerja.

Seringkali Anda memiliki banyak situs web di satu akun hosting web, jadi siapkan host virtual untuk mencerminkan penyiapan.

Jika shared hosting Anda adalah:

/var/www/root
 /var/www/root/website1
 /var/www/root/website2
 /var/www/root/website3

Buat 3 host vitual di PC lokal Anda tetapi tetap struktur file yang identik.

Juga, gunakan kondisi dalam file konfigurasi Anda untuk mengatur situs secara berbeda-beda tergantung pada struktur file server, untuk memastikan file konfigurasi yang sama berfungsi pada kedua pengaturan. Ini berarti Anda menjaga proses pembuatan satu langkah.


0
2018-04-10 21:23