Onde colocar arquivos de projeto com nginx

4

Olhando para o arquivo /usr/share/doc/nginx/README.Debian , podemos ver esse aviso:

README for Debian
-----------------

  Files under /var/www/ are not supported as per Debian Policy.
  Please see: http://lintian.debian.org/tags/dir-or-file-in-var-www.html and,
  http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY for more
  details and explanations.

Depois de algumas pesquisas malsucedidas (eu provavelmente olho para os lugares errados ...), eu me pergunto se:

  1. Este aviso é um conselho geral ("não coloque seus arquivos em /var/www ") ou apenas significa que uma instalação padrão do pacote Debian não deve instalar arquivos em /var/www .
  2. Se realmente formos desencorajados a colocar os sites de produção em /var/www , onde devo colocá-los?

Obrigado antecipadamente!

    
por astorije 21.03.2013 / 17:45

3 respostas

4

Lendo novamente a coisa toda, IMHO é um disparate colocar seu (s) docroot (s) sob / usr. São seus dados, não os do nginx. Então, em algum lugar em / var é o lugar certo, obviamente. Pense em backups. seus dados estão em / var e os sites fazem parte disso. / usr não é, / usr contém packages data (dados do sistema de software).

Agora, minha tentativa de "por que esta política Debian"

É arriscado expor um caminho genérico por padrão em um servidor da web. Colocando a configuração padrão em / usr / share / nginx / alguma coisa, o Debian garante que o servidor web não comece a servir arquivos que não deveria.

Exemplo

Você já tem um apache com um docroot em / var / www e você instala o nginx para algo diferente do trabalho do apache (ex servindo alguns arquivos estáticos para velocidade). Então você usa um nginx "nu" sem suporte a PHP ou htaccess: você não quer ver o nginx começando a servir arquivos manipulados pelo apache: arquivos-fonte PHP e arquivos que devem ser protegidos por htaccesses.

Então, para meu entendimento, a política do Debian não é "é uma prática ruim ter o docroot em / var / www (ou melhor, / var / www /), mas mais " é má prática para um pacote httpd começar a servir o / var / www por padrão ".

Esta mensagem / comportamento é apenas uma política de embalagem (segura). Não é uma boa prática de sysadmin

    
por 23.03.2013 / 19:43
2

De acordo com link

Debian packages should not install files under /var/www. This is not one of the /var directories in the File Hierarchy Standard and is under the control of the local administrator. Packages should not assume that it is the document root for a web server; it is very common for users to change the default document root and packages should not assume that users will keep any particular setting.

Portanto, isso simplesmente parece um aviso para os autores de pacotes não assumirem que /var/www é a raiz do documento e não instalar arquivos lá. De fato, no meu sistema Debian, não é nem mesmo a raiz padrão, onde a raiz padrão é /usr/share/nginx/html (não lembro se eu tinha nginx instalado da coleção Debian ou diretamente do nginx.org).

Não vejo nada que impeça você de colocar um site de produção em /var/www .

    
por 21.03.2013 / 17:57
1

/ srv / www é onde eu mantenho meus arquivos de aplicativos da web. Deixo / var / www para pacotes web que eu instalo com o apt como o wordpress. Se eu configurar o wordpress manualmente, vou colocá-lo em / srv / www.

Tendo dito tudo isso, eu tenho um problema com o debian NÃO criar o diretório / var / www por padrão, apesar de configurar esse diretório como a casa do usuário do www-data. A instalação do nginx também não cria o diretório. Instalar o apache faz. É apenas arbitrário.

    
por 19.04.2013 / 05:58