Qual é a maneira recomendada de usar / instalar webapps no Arch Linux? [fechadas]


1

Estou tentando descobrir a melhor maneira de configurar aplicativos da Web de forma robusta no meu servidor Arch Linux + nginx. O jeito que eu costumava fazer isso antes era baixar e descompactar, por exemplo, a versão mais recente do dokuwiki / wordpress /srv/http/, e configurá-lo manualmente através da edição de arquivos de configuração neste local, depois de alterar a propriedade do diretório para o nginxusuário. Sempre que uma nova versão de um aplicativo da Web (uma sem um mecanismo de atualização interno) era lançada, eu repetia o procedimento, enquanto movia os arquivos de configuração / dados existentes do antigo para o novo local.

No entanto, certamente deve haver uma maneira melhor de manter (instalar, atualizar, fazer backup) desses aplicativos da Web, especialmente considerando pacmanque muitos deles estão em seus repositórios.

No entanto, tenho algumas preocupações com essa abordagem e algumas perguntas sobre as práticas recomendadas ao manter aplicativos da web em um servidor:

  • os arquivos instalados a partir dos pacotes no Arch tendem a entrar /usr/share/webapps/. E os arquivos de dados / configuração? Eu os coloco lá também? Ou eu os vinculo de alguma forma? De alguma forma, copio aplicativos automaticamente de lá para /srv/httpdepois de cada atualização?
  • supondo que eu faça um link simbólico desses diretórios ou configure o nginx para ler diretamente deles, e as permissões? Preciso executar manualmente chown -R root:nginx /usr/share/webapps/new_webappapós cada atualização / instalação? Ou suas propriedades são definidas automaticamente para algum wwwgrupo?
  • Por último, mas não menos importante, e os arquivos de configuração desses aplicativos da web quando seus pacotes são atualizados? Eles não serão substituídos (na pior das hipóteses) pacmanou toneladas de .pacnewarquivos serão criados (na melhor das hipóteses)?

Como os administradores da web normalmente resolvem esse problema? Que recursos existem para descrever as melhores práticas neste assunto? Eu já estou usando o puppet para gerenciar a configuração de vários pacotes, mas ainda me escapa a maneira "adequada" e fácil de instalar os aplicativos da web.


11
Considere fazer esta pergunta em Falha no servidor .
precisa

11
Eles não fechariam isso também? Eu acho que eles também não têm perguntas baseadas em opinião. Além disso, tive a impressão de que a diferença entre esses dois sites é que o SF aceita apenas questões administrativas estritamente profissionais / corporativas, enquanto o SU é mais tolerante com isso?
Zaroth

Deixa pra lá, acho que encontrei uma resposta . Eu posso tentar perguntar no SF, então.
Zaroth

Respostas:


1

Para aplicativos instalados manualmente, considere fazer o download do repositório Git ou Hg, se houver. Você poderá atualizar para a versão mais recente (estável ou em desenvolvimento) com um comando e acompanhar suas próprias alterações de código, se acabar fazendo alguma. (E se alguém encontrar uma maneira de sujar seus arquivos com malware, isso também leva alguns minutos para limpar.)

Isso acelerou a atualização de nossas duas instalações do Moodle de 30 a 60 minutos (download; extração; backup; re-adição de módulos; reaplicação de patches locais) para apenas 1 a 3 minutos (git pull).

Como alternativa, você pode criar seus próprios pacotes para o pacman, que cuidará de remover os arquivos antigos e extrair novos no lugar certo.


Os pacotes também sempre incluem as informações de propriedade, o que geralmente não é um problema.

As atualizações manuais significam que a propriedade geralmente precisa ser redefinida, embora isso possa ser automatizado até certo ponto: com atualizações no local (por exemplo, Git / Hg ou rsync ou algo semelhante), você pode definir o modo "setgid" nos diretórios de dados do aplicativo da Web usando chmod g+s, e o grupo (a :nginxparte) será automaticamente aplicado a todos os novos arquivos internos.

No entanto, ao extrair um novo tarball, você sempre precisará corrigir os arquivos manualmente.


Para a localização principal, /usr/share/webappsestá bem. Você nem sempre precisa de links simbólicos, geralmente é mais conveniente configurar o local diretamente no httpd.conf; por exemplo:

Alias /myapp /usr/share/webapps/MyApp/public

Para configuração, depende do seu método de download. Os aplicativos da Web empacotados pelo sistema geralmente têm seus arquivos de configuração vinculados a / etc, principalmente para se ajustarem melhor à hierarquia do sistema de arquivos Linux.

Ao instalar a partir de um tarball, um link simbólico também é mais conveniente sempre que você precisar atualizar.

Com as atualizações baseadas em Git / Hg, suas edições são mantidas de qualquer maneira, portanto é uma questão de preferência.


Isso esclareceu algumas coisas, especialmente com a propriedade do grupo sendo cuidada pelos pacotes. A sugestão git / hg é especialmente interessante, e o que você está dizendo sobre mudanças introduzidas é facilmente rastreado; Eu não pensei nisso antes. No entanto, eu já acompanho as alterações nos meus arquivos de configuração através da versão do meu diretório fantoche, então acho que vou manter isso vinculando o /usr/share/webappsdiretório nos arquivos de configuração. Obrigado!
Zaroth
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.