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 maneira robusta no meu servidor Arch Linux + nginx. A maneira que eu costumava fazer isso antes era baixar e descompactar, e. a versão mais recente do dokuwiki / wordpress em /srv/http/ e, em seguida, configure-a manualmente, editando os arquivos de configuração nesse local, depois de alterar a propriedade do diretório para o usuário nginx . Toda vez que uma nova versão de um webapp (um sem um mecanismo de atualização embutido) aparecesse, eu repetia o procedimento, enquanto movia arquivos de configuração / dados existentes do antigo para o novo local.

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

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

  • os arquivos instalados a partir de pacotes no Arch tendem a entrar em /usr/share/webapps/ . E quanto aos arquivos de dados / configuração? Eu os coloco lá também? Ou eu simbolizo eles de alguma forma? De alguma forma, eu copio automaticamente os aplicativos de lá para /srv/http após cada atualização?
  • supondo que eu faça symlink desses diretórios ou configure o nginx para ler diretamente deles, e sobre permissões? Preciso executar manualmente chown -R root:nginx /usr/share/webapps/new_webapp após cada atualização / instalação? Ou suas propriedades são definidas automaticamente como www group?
  • por último, mas não menos importante, e os arquivos de configuração dessas aplicações web quando seus pacotes são atualizados? Eles não serão substituídos (na pior das hipóteses) por pacman ou serão criados toneladas de arquivos .pacnew (no melhor dos casos)?

Como os webadmins normalmente resolvem esse problema? Quais recursos existem descrevendo as melhores práticas nesta questão? Eu já estou usando o fantoche para gerenciar a configuração de vários pacotes, mas a maneira "correta" e fácil de manutenção de instalar aplicativos da Web ainda me escapa.

    
por Zaroth 27.04.2015 / 15:52

1 resposta

1

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

Isso acelerou a atualização das duas instalações do Moodle de 30 a 60 minutos (download, extração, backup, reaplicação de módulos, reaplicação de correções locais) a apenas 1 a 3 minutos (git pull).

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

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

Atualizações manuais significam que a propriedade geralmente precisa ser redefinida, embora isso possa ser automatizado em algum ponto: com atualizações no local (por exemplo, Git / Hg ou rsync ou algo parecido), você pode definir o modo "setgid" no aplicativo da web. diretórios de dados usando chmod g+s , e o grupo ( :nginx part) serão aplicados automaticamente a todos os novos arquivos dentro dele.

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

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

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

Para configuração, depende do seu método de download. Os webapps com pacotes de sistema geralmente têm seus arquivos de configuração vinculados a / etc, principalmente para se adequar 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 atualizações baseadas em Git / Hg, suas edições são mantidas de qualquer maneira, então é mais uma questão de preferência.

    
por 27.04.2015 / 17:08