Kiedy zaczynałem programować w Internecie i chciałem stworzyć nowy projekt, zawsze uczyłem się, jak tworzyć katalog /var/www/
. Jednak w wielu tutorialach czytam, że ludzie zwykle tworzą katalog /home/username/
.
Nie podoba mi się pomysł wprowadzenia go w życie /home/username/
.
Czy jest właściwe miejsce, a jeśli nie, jakie są zalety / wady umieszczenia go w niektórych obszarach systemu plików?
/var/www
i zwykle mam to na innym dysku (tylko preferencje).Odpowiedzi:
Nie ma katalogu „najlepszego”. I choć ludzie mogą twierdzić, że kwestia ta jest subiektywna, albo że rzeczywista umieszczanie plików nie ma znaczenia, i mają rację o drugi-nie są standaryzowane zalecenia dotyczące gdzie umieścić co w systemach uniksowych.
Filesystem Hierarchy Standard definiuje to i oferuje następujące:
/var
- miejsce do umieszczania danych, które zmieniają się podczas normalnej pracy, takie jak dzienniki itp.,/var/www
Jest domyślnym katalogiem do umieszczania treści internetowych dla Apache, ale jego użycie w ogóle nie jest ustandaryzowane, a jedynie „zwykłe” miejsce, w którym należy je umieścić, ponieważ ludzie nie zmieniaj często ustawień domyślnych./srv
- ten katalog powinien zawierać dane obsługiwane przez system. Jest to zwykle miejsce, które chcesz. FHS wyjaśnia:Po prostu stwórz
/srv/www
katalog i użyj go. Możesz tworzyć podfoldery dla każdego wirtualnego hosta, który chcesz obsługiwać na swoim komputerze./home
zawiera pliki, które naprawdę powinny należeć tylko do jednego użytkownika. Na przykład Apache pozwala na katalogi użytkowników , dzięki czemu można uzyskać dostęp do plików internetowych użytkownikahttp://example.com/~username
, i są one udostępniane zpublic_html
katalogu w domu użytkownika.Jeśli korzystasz z serwera, który jest współużytkowany przez wiele osób, i chcesz pozwolić wszystkim na hostowanie własnych skryptów, tam właśnie powinien się udać. Pamiętaj, aby katalogi były zapisywane przez użytkownika, do którego należą.
W istocie
/srv/www
i/var/www
są katalogów należy utworzyć podkatalogi dla każdego projektu strony internetowej może chcesz gospodarza. Następnie można zdefiniować różne uprawnienia do tych katalogów, aby umożliwić określonym użytkownikom lub grupom użytkowników pisanie do nich. Jeśli masz projekty dla jednego użytkownika na raz, użyj/home
.źródło
http://example.com/~username
Zwykle nie wskazuje/home/username/
, ale/home/username/public_html/
./var/www
nadszedł czas na zmiany!www
dla mnie brzmi bardziej jak poddomena.Cóż, możesz umieszczać pliki w dowolnym miejscu, pod warunkiem, że dostęp do nich będzie prawidłowy, jednak zaśmiecone systemy plików są kłopotliwe, jeśli ktoś przyjdzie później.
/srv
jest najbardziej logicznym plusem, jeśli postępujesz zgodnie ze standardem Hierarchii Systemów Plików, to tutaj.Jeśli wykonujesz wiele domen, możesz to zrobić
/srv/domain1
/srv/domain2
itp. Itd., A następnie podfolder/ftp
/www
/tftp
/logs
/etc.etc.etc
Dla mnie jest to bardzo solidna struktura, na której można opierać się i łatwo kontrolować
Ale jako administrator możesz robić tak czyste i niechlujne, jak chcesz.
źródło
Dobra łatwa szybka odpowiedź.
Jeśli twoje pliki internetowe w systemie będą dostępne tylko dla JEDNEGO użytkownika w systemie Linux. Skorzystaj z katalogu domowego użytkownika (
~/
).Jeśli dostęp do twoich plików internetowych w systemie będzie WIELU użytkowników w systemie Linux. Zastosowanie
/srv/
.Dokładnie to stwierdza http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM .
Oto cytat:
Bonus: www? ftp? Organizujesz według protokołu? Co?
Jak stwierdzono tutaj w http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
~/http/your-website-directory/
lub (protokół https) to:~/https/your-website-directory/
~/your-website-directory/
/srv/http/your-website-directory/
lub (protokół https) to:/srv/https/your-website-directory/
/srv/your-website-directory/
Huh, czemu nie www? Jest to dziedzictwo od czasów Apache. www nie określa, który protokół jest używany. Debian nadal używa tego na dzień dzisiejszy, podczas gdy na przykład Arch Linux używa / srv / http.
źródło
Serwer Apache ma domyślną stronę internetową,
/var/www/
ale sugeruje się umieszczenie innych stron internetowych/srv/
Zauważyłem to na Ubuntu Server 14.04 LTS. Domyślny
apache2.conf
plik zawiera skomentowany blok:źródło