Configuração padrão de um sistema de arquivos webservers [closed]

3

Eu estou tentando fazer com que meu servidor web seja mais fácil de gerenciar, fazer backup e replicar. Eu tenho sites, arquivos de configuração, certificados SSL, vhosts espalhados por todo o lugar. Parece lógico que todos eles estejam em um só lugar. Eu estava pensando em criar um diretório na raiz como assim

/data

e dentro dele tem todos os diretórios dos meus dados neste servidor da seguinte forma:

/data 
    /websites                    [websites directories]
    /ssl_certs                   [secure certificates for sites]
    /vhosts                      [virtual host files for sites]
    /config                      [Software config files (apache, mod_security etc.)
        /apache2                 [Apache Server Config files]
        /proftpd                 [FTP Server Config files]
    /utilities                   [Misc Bash Scripts]

isso significaria que se eu tivesse que replicar esse servidor, poderia instalar e configurar os pacotes necessários e depois copiar essa pasta na qual conteria todos os meus dados. Também eu poderia fazer backup de tudo no meu servidor com facilidade e rapidez, para o caso de precisar restaurar eu teria todos os meus dados em um só lugar.

então eu tenho 3 perguntas:

esta é uma boa ideia ou seria mais trabalhosa do que o seu valor?

haveria alguma implicação na segurança de fazer as coisas dessa maneira?

qual é a maneira padrão de fazer isso se o acima não for viável?

    
por Michael Barrett 09.01.2012 / 12:31

4 respostas

2

Sites diferentes fazem coisas diferentes; se você tiver um sistema de backup em vigor e um plano de recuperação de desastre que esteja completamente documentado, e seus arquivos de configuração estejam configurados corretamente, onde você colocará os arquivos não importará.

"Padrões" ... há tantos deles que é um nome estúpido. Existem típicos sites, mas até isso varia de acordo com a distribuição e o servidor web.

No final, se você o documentou e fez o backup corretamente, isso não deve ser um problema. Faça o que melhor se adequar ao seu negócio / fluxo de trabalho e não se preocupe com isso.

    
por 09.01.2012 / 13:09
3

Eu tenho algo assim:

  • / etc /
    • apache2 /
      • sites disponíveis /
      • sites habilitados /
    • ssl /
      • *. crt
      • privado /
        • *. key
  • / srv /
    • www /
      • $ site /
        • htdocs /
        • logs /
        • cgi-bin /
por 09.01.2012 / 12:44
1

Tipicamente, as configurações vão em / etc / appname (portanto, certs estão em / etc / nginx / certs /, senhas são / etc / nginx / senhas, configurações individuais de vhost estão em / etc / nginx / sites /, etc). Isso não é considerado bagunçado ou "em todo lugar"; tudo está dentro do / etc / nginx / dir.

O conteúdo dos sites normalmente entra em / var / www / site1, / var / www / site2, mas isso é configurado por site e não precisa estar em conformidade com essa convenção. (Cada site pode estar em um lugar radicalmente diferente se você escolher, desde que o httpd tenha acesso.)

Nota: Eu normalmente uso o nginx, mas o diretório de configuração do apache deve ser / etc / apache2 /. O mesmo sentimento se aplica.

Observação: outra convenção comum é usar / etc / apache2 / sites-enabled / e sites-available /, mas eu pessoalmente não gosto dessa abordagem.

    
por 09.01.2012 / 12:45
0

Diferente dos outros entrevistados, acho que há um strong argumento para não usar o layout de arquivo padrão - assim como há boas razões para não usar o modelo de permissões padrão.

O problema que tenho com o que você propõe é que você chamou o diretório de 'dados' - eu gostaria de manter todos os certificados de configuração e SSL bem separados do conteúdo. E como a configuração padrão será principalmente / etc, isso parece ser o lugar lógico para deixá-la.

Onde você pode encontrar problemas é onde você adiciona pacotes que farão alterações na configuração (por exemplo, adicionar módulos do apache). O uso inteligente de softlinks de diretório pode ajudar com isso.

    
por 09.01.2012 / 13:33