Os sites devem estar em / var / ou / usr / de acordo com o uso recomendado?

57

De acordo com um guia sobre a estrutura de diretórios do Linux , /usr/ é para arquivos de aplicativo e /var/ é para arquivos que mudam (suponho que isso signifique "arquivos que pertencem aos aplicativos"). Está correto?

Se este é o caso, então estou um pouco dividido entre usar qualquer um deles. Um site é um aplicativo (se é dinâmico, por assim dizer), mas em outros casos é apenas uma coleção de arquivos usados pelo Apache.

O dir padrão www vive em /var/www/ , então devemos seguir o mesmo caminho usando /var/websites/ (ou algo similar) ou escolher /usr/websites/ , já que eles poderiam ser aplicativos?

Esta é uma pergunta muito trivial, mas está me incomodando. Para o nosso caso, estou inclinado a /usr/web ou algo assim, já que nossos sites são todos aplicativos.

Atualização:

Isto é para os sites da nossa empresa; não é um servidor de hospedagem compartilhada, então não precisamos nos preocupar em separá-los em /home/ ou algo assim.

    
por Nick Bolton 14.01.2010 / 09:04

7 respostas

60

De acordo com a FHS , /usr é para shareable, read-only data - não onde você deseja colocar o site. É aqui que você deve colocar seu código (por exemplo, o Fedora faz isso para o Wordpress). Veja também o guia de empacotamento dos recursos da web para o Fedora.

/var são "arquivos de dados variáveis. Isso inclui diretórios e arquivos de spool , dados administrativos e de registro e arquivos transitórios e temporários. " - melhor, mas ainda não está certo - mas muitos sistemas usarão /var/www , então mesmo que você esteja errado em colocar isso, você está em boa companhia.

/srv é para "dados específicos do site que são servidos por este sistema." - o que parece ser um bom jogo, mas é muito menos comum que /var/www .

O outro lugar comum para colocar os arquivos do site está sob /home - criando um usuário especial chamado website ou algo assim, depois colocando os arquivos dentro do homedir do usuário (por exemplo, /home/website ).

    
por 27.06.2018 / 23:56
28

Dê uma olhada no Padrão de Hierarquia do Sistema de Arquivos ( Wikipedia ). Eu mesmo uso / srv / web / $ domain / {htdocs, logs, cgi-bin, ...}.

    
por 14.01.2010 / 09:54
9

Os sites devem estar nos diretórios iniciais dos usuários. Eles são dados do usuário, devem ser isolados por um usuário por site e o conteúdo dinâmico deve ser executado como um usuário separado novamente, com arquivos que o conteúdo dinâmico precisa ler e modificar, com as permissões apropriadas para isso.

Atualização:

O fato de não ser um servidor de hospedagem compartilhado 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.

    
por 14.01.2010 / 09:09
7

O guia definitivo é o Padrão de Hierarquia do Sistema de Arquivos que diz que /srv é o adequado lugar.

    
por 14.01.2010 / 09:59
3

Onde eles vivem 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 eles realmente moram, então eu nunca tenho que me perguntar de máquina para máquina. Algumas máquinas antigas têm / u0 e / u1 para discos de usuários, e eu coloco as coisas da web lá. Alguns têm / home montados diretamente, então eles vão até 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 (o que, você adivinhou, é um link simbólico em algum lugar em / u0 ou / u1 normalmente). Isso facilita o backup das coisas. Eu apenas faço backup dos discos do usuário.

Claro, eu tenho um site de distribuição mestre para o meu sistema operacional escolhido, o NetBSD. Eu faço o sistema como eu quero na máquina principal (realmente uma instância de xen) e rsync / usr ao redor. Facilita minha vida.

    
por 14.01.2010 / 09:36
2

De acordo com você, você NUNCA deve NUNCA colocar nenhum serviço de Internet na zona comum do sistema.

Seus serviços de Internet (Apache / Tomcat / SSH, etc) são uma porta da frente, então, se você colocar esses serviços em sua zona do Sistema, estará potencialmente vulnerável a alguns ataques.

Mais do que se você colocasse seus serviços diferentes em uma zona de caixa de proteção segura, como outra partição separada.

Aqui está um exemplo de estrutura que você pode usar:

/ --> Root System --> On SDA1 --> Root and System security operator access only
 |
 | -->/usr /etc /var etc.

/SRV --> Web Root --> On SDB1 --> Web users access with minimal rights access.
 |
 |-->/srv/bin & /srv/dta
      |
      |-->/srv/bin/apache (or any other APPLICATION Binaries)
      |-->/srv/dta/SQL (or any other APPLICATION Datas like a 
                        database or web PHP files etc.)
    
por 14.01.2010 / 09:15
2

O servidor da web Apache tem o site padrão em / var / www / , mas está sugerindo colocar outros sites em / srv /

Eu notei isso no Ubuntu Server 14.04 LTS. Seu arquivo apache2.conf padrão contém um bloco comentado:

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>
    
por 08.03.2016 / 15:43