Técnicas para iniciar rapidamente um servidor Unix pré-configurado

0

Eu gostaria de poder:

  1. Inicie um servidor Unix configurado para o meu gosto com tempo mínimo e sem intervenção manual.
  2. Executa periodicamente um único script que verifica se minhas alterações de configuração estão intactas e se oferece para reparar configurações incorretas (por exemplo, porque os arquivos de configuração às vezes são substituídos durante as atualizações).

Quais técnicas eu tenho que escolher para conseguir isso? (Estou pedindo diferentes abordagens fundamentais sobre como fazer isso antes de entrar em sugestões de software específicas.)

Isso é aproximadamente o que eu faria manualmente (localmente no VirtualBox ou remotamente em um VPS). Parêntese são apenas exemplos parciais.

  1. Itens essenciais de configuração ( visudo, adduser )
  2. Instalar pacotes ( sshd, php, nginx, mysql, ufw )
  3. Executar scripts de configuração ( mysql_secure_installation )
  4. Executar comandos de configuração ( ufw allow )
  5. Editar arquivos de configuração ( php.ini, sshd_config )
  6. Preencha o banco de dados ( cat db.sql | mysql )
  7. Preencher arquivos da Web nginx ( rsync local remote: )
  8. Iniciar o nginx

Quanto à verificação dos arquivos de configuração hoje, não tenho uma boa estratégia, exceto verificá-los manualmente, o que é realmente difícil.

Eu já ouvi falar de Puppet e de outras pessoas, mas sinceramente estou um pouco intimidado pela sintaxe deles. Eu gostaria de saber a perspectiva das opções das aves antes de decidir sobre uma técnica e investir tempo de aprendizado.

    
por forthrin 05.08.2016 / 11:18

3 respostas

1

O que você está procurando é o Server Farmer ( link ) - ele tem arquitetura semelhante à Ansible, mas é mais simples e escrito principalmente em Bash.

Ele pode lidar com o ciclo de vida completo da instância do Linux, desde a criação de novas instâncias em todas as principais plataformas de nuvem (AWS, Azure, Google Cloud, Hetzner, Alibaba Cloud, e24cloud, Rackspace e OpenStack), através da configuração básica do host. para a implantação de aplicativos.

A única exceção é que, quanto ao firewall, ele usa o iptables diretamente, em vez de ufw .

Você pode começar de bifurcar esses dois repositórios e ajustar a configuração:

  • link - veja os scripts de arquivo / functions.custom
  • link - veja todos os arquivos
por 29.08.2018 / 22:13
0

Existem muitas opções:

- Estou usando o fantoche para a mesma tarefa

- Você pode usar qualquer fantoche, ansible, saltstack ou chef etc

- Você pode usar o contêiner docker, usando um arquivo docker para a configuração desejada

- Você pode usar uma VM pré-configurada na nuvem (openstack, aws) e iniciá-la quando necessário e apenas anexar o volume de dados.

    
por 05.08.2016 / 12:03
0

Alguns provedores, como o Linode, permitem que você crie sua própria imagem, que pode ser implantada conforme desejado para qualquer VPS que você criar em seu sistema. É claro que você pode criar seus próprios modelos do VirtualBox / VMWare para usar e clonar ou exportar e compartilhar com outras pessoas.

Pensando fora da caixa embora ... algo que funcionaria em um hardware local de vm, VPS ou bare metal -

Configure um vm e depois de instalar cada pacote, antes de configurar qualquer coisa, crie um git repo fora do diretório de configuração do pacote ( /etc/apache2 e assim por diante). Faça sua configuração, faça um git commit e git push up até o repo. Repita conforme necessário para qualquer pacote. No meu VPS, eu provavelmente faria a configuração básica do LAMP, depois dovecot + postfix, etc., para que cada combinação de serviço fosse seu próprio repositório do git.

Em seguida, crie um pacote debian falso usando o arquivo control e equivs-build para que você tenha um pacote que não depende de todas as coisas que você normalmente instala - dovecot, postfix, apache, etc. Novamente, d considere quebrá-lo e criar um arquivo .deb correspondente com dependências para cada um dos combos de serviço para os quais você tem um repositório git.

Então, para uma nova máquina ...

Faça a instalação básica. Instale o pacote falso, deixe o apt manipular obtendo as dependências - seu software normal - instalado com a configuração padrão. Em seguida, copie as cópias dos vários repositórios que contêm suas configurações alteradas e solte os arquivos de configuração.

    
por 30.08.2018 / 00:10