Posso duplicar as configurações do meu servidor Apache em uma nova instalação do Linux?

4

Eu tenho um servidor Apache 2 configurado no meu computador que eu uso para testes locais. Para ser claro, não é que hospeda sites na internet. É apenas para depuração e design local.

Eu estava usando o Ubuntu Linux, mas agora tenho um novo computador usando o Linux Mint. O que eu gostaria de fazer é pegar todos os sites e configurações do Apache que tenho na antiga máquina Ubuntu e reproduzi-los na nova máquina Linux Mint.

Eu só sei fazer isso manualmente, um site por vez, começando do zero. Criando um arquivo para cada site no diretório sites-available e ativando-os com a2ensite . E, em seguida, fazer edições em qualquer arquivo de configuração, como adicionar algumas linhas ao meu arquivo php.ini para ativar o Xdebug e esperar que eu não tenha perdido nada.

Tenho certeza de que estou fazendo isso de maneira ineficiente e de um modo que é propenso a erros humanos.

Não é possível copiar de alguma forma a totalidade das configurações e sites do Apache 2 na minha máquina Ubuntu e colocá-los na minha máquina Linux Mint de uma só vez? Ou pelo menos, em um mínimo de etapas que é menor do que recriar cada site e configuração do zero?

Por favor, note que eu sou mais um designer do que um administrador, então, por favor, suponha que meu conhecimento dos comandos do Linux e das configurações do servidor seja mínimo.

    
por Questioner 03.05.2013 / 09:23

2 respostas

4

As configurações do seu servidor, como qualquer configuração de programa em todo o sistema, podem ser encontradas em /etc . A localização exata depende da distribuição, mas /etc/apache ou /etc/apache2 são boas apostas. Tanto o Ubuntu quanto o Mint usam /etc/apache2 .

Se você tiver os mesmos plug-ins instalados e as versões do Apache que não estão muito distantes, você pode simplesmente copiar todo o diretório /etc/apache2 para a nova máquina. Você precisará copiar a (s) raiz (es) do documento também, é claro.

Se você estiver executando alguns aplicativos da web, precisará migrá-los também. Isso pode ou não ser tão simples quanto copiar alguns arquivos, depende muito do aplicativo. Em particular, se houver um banco de dados envolvido, você precisará instalar o mesmo software de banco de dados (normalmente o MySQL), despejar o banco de dados na máquina antiga e restaurar o despejo na nova máquina.

    
por 04.05.2013 / 02:36
2

Is it not possible to in some way copy the entirety of the Apache 2 settings and sites on my Ubuntu machine and put them on my Linux Mint machine in one go?

Presumindo que não sejam versões do Apache muito diferentes, sim. As distribuições pré-configuram o apache com pequenas diferenças (por exemplo, a localização da raiz da Web), mas se você estiver copiando na sua configuração e colocar tudo no mesmo lugar, faça isso por atacado. Como em substituir a configuração, não mexa em editá-lo da mesma maneira. Esteja ciente de que a localização dos arquivos conf do apache é compilada no binário do apache e pode diferir de distro para distro. O que há nos arquivos conf, no entanto, é portátil, portanto, você deve substituir os arquivos pelos seus. Além da localização do arquivo conf, o comportamento do apache é determinado pelo que está no (s) arquivo (s) conf, portanto, se você substituí-lo, então, por exemplo, a raiz da web será determinada pela sua "nova" configuração. Outro detalhe aqui, como você percebeu, é o material em /etc/hosts .

Às vezes, o Apache usa partes semi-independentes (por exemplo, php) que possuem sua própria configuração. Se você sabe que está usando algo assim, precisa fazer um pouco de lição de casa para descobrir os detalhes.

Isso levanta a questão de como você mantém o servidor com backup ; se você fizer isso de forma coerente, é apenas uma questão de implantar o backup em outra máquina (ou seja, como se tivesse sido totalmente fubarred). Por "backup do servidor" eu não quero dizer todo o seu sistema de arquivos, ou o binário do apache, que já é efetivamente feito o backup, porque é um pacote de distribuição. Quero dizer tudo na raiz da Web (por exemplo, /var/www ) - todos os arquivos de dados, scripts, etc. que o servidor usa - e a configuração, que provavelmente está em algum lugar em /etc ; Como mencionado este local é variável, mas compilado em apache, o que significa que se você quiser implantar em uma distro diferente, você pode ter que colocar o arquivo conf (s) em um lugar diferente.

Como exatamente você faz isso depende da natureza do seu servidor. Se você está servindo várias coisas que são em si projetos autônomos, esses projetos devem ser copiados de forma independente; isso deve incluir alguma documentação sobre como eles devem ser implantados e o que eles exigem, possivelmente incluindo trechos de configuração do apache, se apropriado. Isso significa que o projeto pode ser facilmente instalado em qualquer apache. Se o servidor é dedicado a uma coisa, você pode apenas fazer o backup de toda a raiz da web. No primeiro caso (vários projetos independentes), usar alguma forma de VCS é bom (essas são boas coisas para aprender a usar minha preferência pessoal é git , mas há muitos outros), no último (uma raiz web megalítica) algo como rsync - mas essas são apenas sugestões. O ponto é que você deve ter uma ferramenta com a qual esteja confortável para coisas como essa (fazendo backup seletivo de subárvores de diretório em um sistema de arquivos). A maneira mais simples em uma pequena instalação é provavelmente apenas tar (ou zip).

Se você estiver usando um banco de dados de back-end com o apache, também será necessário fazer o backup nas mesmas linhas - os dados e a configuração, mas se o banco de dados for usado por vários projetos diferentes cujo backup é feito de forma independente deve ser feito backup deles.

Então, se você manter um backup desse tipo, tudo o que você precisa fazer para "duplicar seu apache" é instalar o apache, depois implantar o backup - você untar, rsync, git clone, seja qual for, as várias partes, copie a configuração no lugar certo e pronto.

Você pode então ter um problema com o software ausente - as distribuições podem agrupar os módulos do apache de maneira diferente, você precisa do sql etc. - mas isso é bastante simples.

    
por 03.05.2013 / 14:15