Práticas recomendadas para uma configuração de servidor “script de instalação”? [fechadas]

2

Eu tenho que configurar um servidor para executar um aplicativo da web, que é composto de vários pacotes de software "padrão" (Apache, PHP, MariaDB, várias linguagens de programação) e vários aplicativos da web (incluindo o Moodle) e componentes instalados de repositórios git (como versões empacotadas são muito antigas ou não existem).

Atualmente, estamos usando o Debian para isso, mas (para melhor se adequar a outros servidores internos) pode ser capaz de mudar para o Scientific Linux em algum ponto futuro, uma vez que os pacotes base são novos o suficiente para nosso uso .

Em comum com muitos sistemas, a primeira versão começou (após a instalação mínima do SO) como um shell script rápido e sujo para instalar os pacotes e fazer o download dos git repos, etc, e nenhum tempo de projeto para tentar investigar qualquer tipo de melhor solução de instalação.

A segunda iteração foi sendo construída gradualmente ao longo do tempo e agora evoluiu para um script de shell interativo de 1100 linhas (!), que baixa todos os componentes necessários, configura os servidores web e de banco de dados, configura o Moodle e assim por diante.

Eu gostaria de pensar que este script é razoavelmente robusto e não-hacky, mas tenho certeza que não é uma maneira ideal de realizar este processo. Uma coisa que considerei é dividir o script em arquivos separados para cada uma de suas funções (tem funções, pelo menos), para facilitar a leitura / edição / atualização e, em seguida, concatená-los no arquivo de instalação da multifuncional. .

Ou criei um monstro, e existem maneiras melhores de gerenciar esse tipo de instalação e configuração de software?

Outras possibilidades que considero incluem:

Seria possível converter meu procedimento de instalação de software em algum tipo de pacote Debian, usando o dpkg-reconfigure (ou algo semelhante?) para consultar as configurações necessárias do administrador, mas infelizmente não tenho experiência com isso (e não sei se isso seria viável, dado que alguns "pacotes" requeridos necessariamente têm que ser baixados do git repos, ao invés de serem adicionados como dependências do pacote Debian).

Se existem outros sistemas de gerenciamento de software ou scripts já existentes que eu deveria investigar para essa tarefa específica, em vez de confiar em scripts de shell?

    
por dave559 20.06.2018 / 18:05

0 respostas