Tidak ada direktori "terbaik". Dan sementara orang mungkin berpendapat bahwa pertanyaan ini subjektif, atau bahwa penempatan file yang sebenarnya tidak masalah—dan mereka benar tentang yang terakhir—ada ada rekomendasi standar tentang tempat meletakkan apa yang ada di sistem mirip Unix.
Standar Hierarki Filesystem mendefinisikan ini dan menawarkan Anda hal berikut:
-
/var
– tempat menyimpan data yang berubah selama operasi normal, seperti log, dll./var/www
adalah direktori default untuk menempatkan konten web untuk Apache, tetapi penggunaannya tidak distandarisasi sama sekali dan hanya tempat "biasa" yang Anda tempatkan karena orang tidak terlalu sering mengubah setelan default. -
/srv
– direktori ini harus berisi data yang dilayani oleh sistem. Ini biasanya tempat yang Anda inginkan. FHS menjelaskan:Tujuan utama penetapan ini adalah agar pengguna dapat menemukan lokasi file data untuk layanan tertentu, dan agar layanan yang memerlukan pohon tunggal untuk data yang hanya dapat dibaca, data yang dapat ditulis, dan skrip (seperti skrip cgi) dapat ditempatkan secara wajar. Data yang hanya menarik bagi pengguna tertentu harus masuk ke direktori home pengguna tersebut. (…)
Salah satu metode untuk menyusun data di bawah
/srv
adalah dengan protokol, misalnya.ftp
,rsync
,www
, dancvs
Jadi, cukup buat
/srv/www
direktori dan gunakan ini. Anda dapat membuat subfolder untuk setiap host virtual yang mungkin ingin Anda layani dengan mesin Anda. -
/home
berisi file yang seharusnya hanya dimiliki oleh satu pengguna. Apache misalnya memungkinkan userdirs, sehingga Anda dapat mengakses file web pengguna melaluihttp://example.com/~username
, dan disajikan daripublic_html
direktori di rumah pengguna.Jika Anda menggunakan server yang dibagikan di antara banyak orang, dan Anda ingin mengizinkan semua orang menghosting skrip mereka sendiri, ini adalah tujuan mereka. Ingatlah untuk membuat direktori hanya dapat ditulis oleh pengguna yang memilikinya.
Intinya /srv/www
dan /var/www
adalah direktori tempat Anda harus membuat subdirektori untuk setiap proyek web yang mungkin ingin Anda hosting. Anda kemudian dapat menentukan izin yang berbeda pada direktori ini untuk mengizinkan pengguna atau grup pengguna tertentu untuk menulis kepada mereka. Jika Anda memiliki proyek untuk satu pengguna dalam satu waktu, gunakan /home
.
Ya, Anda dapat meletakkan file di mana saja selama semuanya dapat mengaksesnya dengan benar, namun sistem file yang berantakan akan memusingkan jika seseorang masuk nanti.
/srv
adalah yang paling logis plus jika Anda mengikuti Filesystem Hierarchy Standard, ini akan masuk ke sini.
Jika Anda melakukan beberapa domain, Anda dapat melakukan /srv/domain1
/srv/domain2
etc etc kemudian subfolder di dalam sana /ftp
/www
/tftp
/logs
/etc.etc.etc
Bagi saya itu terasa struktur yang sangat solid untuk dibangun dan dikontrol dengan mudah
Namun sebagai administrator, Anda dapat melakukan sebersih atau berantakan sesuai keinginan.
Oke, mudah, cepat, jawab.
Jika file web Anda di sistem hanya akan diakses oleh SATU pengguna di sistem linux. Gunakan direktori home dari pengguna (~/
).
Jika file web Anda di sistem akan diakses oleh GANDA pengguna di sistem linux. Gunakan /srv/
.
Inilah yang dinyatakan http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM.
Berikut kutipannya:
/srv berisi data khusus situs yang disajikan oleh sistem ini.
Tujuan utama penetapan ini adalah agar pengguna dapat menemukan lokasi file data untuk layanan tertentu, dan agar layanan yang memerlukan pohon tunggal untuk data yang hanya dapat dibaca, data yang dapat ditulis, dan skrip (seperti skrip cgi) dapat ditempatkan secara wajar. Data yang hanya menarik bagi pengguna tertentu harus masuk ke direktori beranda pengguna tersebut.
Bonus:www? ftp? Atur berdasarkan protokol? Hah?
Sebagaimana dinyatakan di sini di http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
- Jika situs web Anda hanya diakses oleh SATU pengguna di sistem dan HANYA melalui browser (protokol http), maka:
~/http/your-website-directory/
- Jika situs web Anda hanya diakses oleh SATU pengguna di sistem dan TIDAK HANYA melalui browser tetapi beberapa protokol (mis. http DAN tcp DAN ...) maka:
~/your-website-directory/
- Jika situs web Anda diakses oleh GANDA pengguna di sistem dan HANYA melalui browser (protokol http), maka:
/srv/http/your-website-directory/
- Jika situs web Anda diakses oleh GANDA pengguna pada sistem dan TIDAK HANYA melalui browser tetapi beberapa protokol (mis. http DAN ftp DAN ...) maka:
/srv/your-website-directory/
Hah, kenapa bukan www? Ini adalah warisan dari waktu Apache. www tidak menentukan protokol mana yang digunakan. Debian masih menggunakan ini sampai hari ini sementara Arch linux menggunakan /srv/http.