Когда я впервые начал программировать для Интернета и хотел создать новый проект, меня всегда учили создавать каталог в /var/www/
. Однако во многих уроках, которые я читаю, люди обычно создают каталог /home/username/
.
Мне не нравится идея вставить это /home/username/
.
Есть ли правильное место или нет, каковы преимущества / недостатки размещения его в определенных областях файловой системы?
/var/www
и обычно имею это на другом диске (только предпочтение).Ответы:
Нет лучшего каталога. И в то время как люди могли бы утверждать , что этот вопрос носит субъективный характер , или о том , что фактическое размещение файлов не имеет значения, и они правы о последних там будут стандартизированы рекомендации о том, где поставить , что в Unix-подобных системах.
Filesystem Hierarchy Standard определяет это и предлагает Вам следующие:
/var
- место для размещения данных, которые меняются во время нормальной работы, например журналы и т. Д.,/var/www
Является каталогом по умолчанию для размещения веб-контента для Apache, но его использование вообще не стандартизировано, а просто «обычное» место, которое вы бы поместили, потому что люди не меняйте настройки по умолчанию очень часто./srv
- этот каталог должен содержать данные, которые обслуживаются системой. Обычно это место, которое вы хотите. FHS объясняет:Итак, просто создайте
/srv/www
каталог и используйте его. Вы можете создавать подпапки для каждого виртуального хоста, который вы можете использовать на своей машине./home
содержит файлы, которые действительно должны принадлежать только одному пользователю. Apache, например, позволяет userdirs , так что вы можете получить доступ к веб-файлам пользователя черезhttp://example.com/~username
, и они обслуживаются изpublic_html
каталога в доме пользователя.Если вы используете сервер, который используется несколькими людьми, и вы хотите, чтобы все могли размещать свои собственные сценарии, это то, что им нужно. Не забудьте сделать каталоги доступными для записи только тем пользователям, которым они принадлежат.
В сущности ,
/srv/www
и/var/www
являются каталоги , которые вы должны создать подкаталоги для любого веб - проекта , который Вы могли бы хотеть хозяина. Затем вы можете определить различные разрешения для этих каталогов, чтобы позволить определенным пользователям или группам пользователей писать в них. Если у вас есть проекты для одного пользователя одновременно, используйте/home
.источник
http://example.com/~username
Обычно не указывает/home/username/
, но/home/username/public_html/
./var/www
настало время перемен!www
звучит как субдомен для меня.Что ж, вы можете помещать файлы куда угодно, если к ним есть доступ, но при этом загроможденные файловые системы будут головной болью, если кто-то придет позже.
/srv
Это самый логичный плюс, если вы следуете Стандарту Иерархии Файловых Систем, он пойдет сюда.Если вы делаете несколько доменов, вы можете сделать и
/srv/domain1
/srv/domain2
т. Д. И т. Д., То подпапка там внутри/ftp
/www
/tftp
/logs
/etc.etc.etc
Для меня это очень прочная структура, которую можно легко контролировать
Но, как администратор, вы можете делать все так, как вам хочется.
источник
Хорошо, легкий быстрый ответ.
Если ваши веб-файлы в системе будут доступны только ОДНОМУ пользователю в системе Linux. Используйте домашний каталог пользователя (
~/
).Если ваши веб-файлы в системе будут доступны нескольким пользователям в системе Linux. Использование
/srv/
.Это именно то, что http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM утверждает.
Вот цитата:
Бонус: www? FTP? Организовать по протоколу? А?
Как указано здесь в http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
~/http/your-website-directory/
или (протокол https) тогда:~/https/your-website-directory/
~/your-website-directory/
/srv/http/your-website-directory/
или (протокол https) затем:/srv/https/your-website-directory/
/srv/your-website-directory/
А почему бы не www? Это наследие времен апачей. www не указывает, какой протокол используется. Debian все еще использует это на сегодняшний день, в то время как, например, Arch linux использует / srv / http.
источник
Веб-сервер Apache имеет веб-сайт по умолчанию,
/var/www/
но он предлагает разместить другие веб-сайты под/srv/
Я заметил это на Ubuntu Server 14.04 LTS. Его
apache2.conf
файл по умолчанию содержит закомментированный блок:источник