De acordo com um guia sobre a estrutura de diretórios do Linux , /usr/
é para arquivos de aplicativos e /var/
para arquivos que mudam (suponho que isso signifique "arquivos que pertencem aos aplicativos"). Isso está correto?
Se for esse o caso, estou um pouco dividido entre usar qualquer um. Um site é um aplicativo (se é dinâmico, por assim dizer), mas em outros casos é apenas uma coleção de arquivos usados pelo Apache.
Como o diretório www padrão está presente /var/www/
, devemos seguir o exemplo usando /var/websites/
(ou algo semelhante) ou escolher /usr/websites/
uma vez que podem ser aplicativos?
Essa é uma pergunta muito trivial, mas ainda assim está me incomodando. No nosso caso, estou inclinado a /usr/web
algo assim, já que nossos sites são todos aplicativos.
Atualizar:
Isto é para os sites da nossa empresa; não é um servidor de hospedagem compartilhada, portanto, não precisamos nos preocupar em separá-los /home/
ou algo assim.
Respostas:
Segundo a ESF ,
/usr
é parashareable, read-only data
- não para onde você deseja colocar o site. É aqui que você deve colocar seu código (por exemplo, o Fedora faz isso no Wordpress). Veja também o guia de empacotamento de ativos da web para o Fedora./var
é "arquivos de dados variáveis. Isso inclui diretórios e arquivos de spool, dados administrativos e de log e arquivos temporários e temporários". - melhor, mas ainda não totalmente certo - mas muitos sistemas serão usados/var/www
; mesmo que você esteja errado em colocá-lo lá, está em boa companhia./srv
é para "dados específicos do site que são veiculados por este sistema". - que parece uma boa combinação, mas é muito menos comum que/var/www
.O outro local comum para colocar os arquivos do site é o seguinte
/home
: criando um usuário especial chamadowebsite
ou tal e colocando os arquivos dentro do nome de usuário do usuário (por exemplo,/home/website
).fonte
/srv
- como eu nunca tinha visto isso antes, pensei que fosse criado por eles. É uma coisa do Redhat / CentOS?/var/www
porque as distribuições não podem tocar/srv
; isso é para o administrador do sistema configurar. Então, é por isso que é "muito menos comum" e também correto.Dê uma olhada no padrão de hierarquia de sistemas de arquivos ( Wikipedia ). Eu mesmo uso / srv / web / $ domain / {htdocs, logs, cgi-bin, ...}.
fonte
Os sites devem residir nos diretórios pessoais dos usuários. São dados do usuário, devem ser isolados por um usuário por site e o conteúdo dinâmico deve ser executado novamente como um usuário separado, com arquivos que o conteúdo dinâmico precisa ler e modificar, com as permissões apropriadas para isso.
Atualizar:
Só porque não é um servidor de hospedagem compartilhada, não significa que você não deve se envolver em boas práticas de segurança e separar funções independentes em suas próprias zonas de segurança.
fonte
O guia definitivo é o padrão de hierarquia do sistema de arquivos, que diz que esse
/srv
é o local apropriado.fonte
by this system
, é servida por todo um cluster de sistemas; e as duas frases que começam emThis setup will differ from host to host.
sugerem que este não é o lugar para arquivos compartilhados em muitos servidores. É um lugar bastante provável - certamente mais apropriado que/usr
, e sem dúvida melhor que/var
Onde eles moram no disco tem pouca importância. É onde você os quer.
Eu tenho um link simbólico de / www em todas as minhas máquinas para onde elas realmente moram, então nunca preciso me perguntar de máquina para máquina. Algumas máquinas mais antigas possuem / u0 e / u1 para discos de usuário, e eu coloco as coisas na web lá. Alguns têm / home montado diretamente, então eles vão para lá, mas / www sempre aponta para o lugar certo.
Eu também não coloco nenhuma configuração em / usr nem em / var. Ele entra em / local (que, você adivinhou, é um link simbólico em algum lugar em / u0 ou / u1 normalmente). Isso facilita o backup das coisas. Acabei de fazer backup dos discos do usuário.
Obviamente, eu tenho um site de distribuição principal para o meu sistema operacional preferido, o NetBSD. Eu faço o sistema como eu quero nesta máquina principal (realmente uma instância xen) e rsync / usr. Facilita minha vida.
fonte
/path/we/chose
"?O servidor da web Apache possui o site padrão em / var / www /, mas está sugerindo colocar outros sites em / srv /
Notei isso no Ubuntu Server 14.04 LTS. Seu arquivo apache2.conf padrão contém um bloco comentado:
fonte
De acordo com mim, você nunca deve e nunca deve colocar nenhum serviço de Internet na zona comum do sistema.
Seus serviços de Internet (Apache / Tomcat / SSH etc) são uma porta de entrada; se você colocar esses serviços na zona do sistema, estará potencialmente vulnerável a alguns ataques.
Mais do que se você colocasse seus serviços diferentes em uma zona segura de área restrita, como outra partição de desanexação.
Aqui está um exemplo de estrutura que você poderia usar:
fonte
/srv/bin
parece violar o FHS, que afirma que/srv
é para dados, não binários/home
em uma partição separada - você pode explodir tudo na não/home
partição e não se preocupar com a perda de dados do usuário. +1 para segregar dados.