Ketika saya pertama kali memulai pemrograman untuk web dan saya ingin membuat proyek baru saya selalu diajarkan untuk membuat direktori di /var/www/
. Namun dalam banyak tutorial saya membaca orang cenderung membuat direktori /home/username/
.
Saya tidak suka ide memasukkannya /home/username/
.
Apakah ada tempat yang benar atau jika tidak apa kelebihan / kerugian dari menempatkannya di area tertentu pada sistem file?
linux
unix
filesystems
apache-http-server
Ternak
sumber
sumber
/var/www
dan biasanya memilikinya di drive lain (hanya preferensi).Jawaban:
Tidak ada direktori "terbaik". Dan sementara orang mungkin berpendapat bahwa pertanyaan ini adalah subjektif, atau bahwa penempatan sebenarnya file tidak peduli-dan mereka benar tentang yang terakhir-ada yang rekomendasi standar di mana untuk menempatkan apa yang di Unix-seperti sistem.
The Filesystem Hierarchy Standard mendefinisikan ini dan menawarkan Anda berikut ini:
/var
- tempat untuk meletakkan data yang berubah selama operasi normal, seperti log, dll./var/www
Adalah direktori default untuk menempatkan konten web untuk Apache, tetapi penggunaannya tidak terstandarisasi sama sekali dan hanya "biasa" tempat Anda meletakkannya karena orang jangan terlalu sering mengubah pengaturan default./srv
- direktori ini harus berisi data yang dilayani oleh sistem. Ini biasanya tempat yang Anda inginkan. FHS menjelaskan:Jadi, cukup buat
/srv/www
direktori dan gunakan ini. Anda dapat membuat subfolder untuk setiap host virtual yang mungkin ingin Anda sajikan dengan mesin Anda./home
berisi file yang seharusnya hanya milik satu pengguna. Apache misalnya memungkinkan userdirs , sehingga Anda dapat mengakses file web pengguna melaluihttp://example.com/~username
, dan mereka dilayani daripublic_html
direktori di rumah pengguna.Jika Anda menggunakan server yang dibagikan di antara banyak orang, dan Anda ingin mengizinkan semua orang meng-host skrip mereka sendiri, ini adalah tujuan mereka. Ingatlah untuk membuat direktori dapat ditulis oleh pengguna yang hanya mereka miliki.
Intinya
/srv/www
dan/var/www
adalah direktori Anda harus membuat subdirektori untuk proyek web apa pun yang mungkin ingin Anda host. Anda kemudian dapat menetapkan berbagai izin pada direktori ini untuk memungkinkan pengguna tertentu atau grup pengguna untuk menulis kepada mereka. Jika Anda memiliki proyek untuk satu pengguna sekaligus, gunakan/home
.sumber
http://example.com/~username
biasanya tidak menunjuk ke/home/username/
, tetapi untuk/home/username/public_html/
./var/www
, inilah saatnya untuk berubah!www
terdengar lebih seperti subdomain bagi saya.Yah Anda dapat meletakkan file di mana saja selama hal-hal dapat mengaksesnya dengan benar, namun sistem file yang berantakan adalah sakit kepala jika seseorang datang nanti.
/srv
adalah plus paling logis jika Anda mengikuti Filesystem Hierarchy Standard itu akan pergi di sini.Jika Anda melakukan lebih dari satu domain, Anda dapat melakukan,
/srv/domain1
/srv/domain2
dll, dll. Lalu subfolder di luar sana/ftp
/www
/tftp
/logs
/etc.etc.etc
Bagi saya itu terasa struktur yang sangat kokoh untuk dibangun dan mudah dikendalikan
Tetapi sebagai administrator Anda dapat melakukan sebersih atau berantakan yang Anda inginkan.
sumber
Ok jawaban cepat mudah.
Jika file web Anda pada sistem hanya akan diakses oleh SATU pengguna di sistem linux. Gunakan direktori home pengguna (
~/
).Jika file web Anda pada sistem akan diakses oleh pengguna GANDA di sistem linux. Gunakan
/srv/
.Inilah tepatnya http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM menyatakan.
Berikut ini kutipannya:
Bonus: www? ftp? Atur dengan protokol? Hah?
Sebagaimana dinyatakan di sini di http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
~/http/your-website-directory/
atau (protokol https) maka:~/https/your-website-directory/
~/your-website-directory/
/srv/http/your-website-directory/
atau (protokol https) maka:/srv/https/your-website-directory/
/srv/your-website-directory/
Hah kenapa tidak www? Ini adalah warisan dari zaman Apache. www tidak menentukan protokol mana yang digunakan. Debian masih menggunakan ini sampai hari ini sementara misalnya Arch linux menggunakan / srv / http.
sumber
Server web Apache memiliki situs web standar di bawahnya
/var/www/
tetapi disarankan untuk menempatkan situs web lain di bawahnya/srv/
Saya perhatikan ini di Ubuntu Server 14.04 LTS.
apache2.conf
File default-nya berisi blok komentar:sumber