Tenho um servidor Apache 2 configurado em meu computador que uso para testes locais. Para ser claro, énãohospedagem de sites na internet. É apenas para depuração e design local.
Eu estava usando Ubuntu Linux, mas agora tenho um novo computador usando 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.
Só sei fazer isso manualmente, um site de cada vez, começando do zero. Criando um arquivo para cada site no sites-available
diretório e ativando-os com a2ensite
. E então fazer edições em quaisquer arquivos de configuração, como adicionar algumas linhas ao meu php.ini
arquivo para ativar o Xdebug, e esperar não ter perdido nada.
Tenho certeza de que estou fazendo isso de forma ineficiente e propensa a erros humanos.
Não é possível copiar de alguma forma todas as 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?
Observe que sou mais designer do que administrador, portanto, presuma que meu conhecimento de comandos do Linux e configurações de servidor é mínimo.
Responder1
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 versões do Apache que não estejam muito distantes, basta copiar o /etc/apache2
diretório inteiro para a nova máquina. Você também precisará copiar a(s) raiz(es) do seu documento, é claro.
Se estiver executando alguns aplicativos da web, você também precisará migrá-los. 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 MySQL), despejar o banco de dados na máquina antiga e restaurar o dump na nova máquina.
Responder2
Não é possível copiar de alguma forma todas as 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?
Presumindo que não sejam versões muito diferentes do Apache, sim. As distros pré-configuram o apache com pequenas diferenças (por exemplo, a localização da raiz da web), mas se você estiver copiando sua configuração e colocar tudo no mesmo lugar, faça isso no atacado. Assim como sobrescrever a configuração, não se preocupe em editá-la 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 distribuição para distribuição. O que está nos arquivos conf, no entanto, é portátil, então você poderá simplesmente substituir os arquivos pelos seus próprios. 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, por exemplo, a raiz da web será determinada pela sua "nova" configuração. Outro detalhe aqui, como você percebeu, é o conteúdo do arquivo /etc/hosts
.
O Apache às vezes usa partes semi-independentes (por exemplo, php) que possuem sua própria configuração. Se você sabe que está usando algo assim, precisará fazer um pouco de lição de casa para descobrir os detalhes.
Isto levanta a questão decomo você mantém o backup do servidor; se você fizer isso de forma coerente, é apenas uma questão deimplantando o backup em outra máquina(ou seja, como se tivesse sido totalmente bloqueado). Por "backup do servidor" não me refiro a todo o seu sistema de arquivos ou ao binário do Apache, que já possui backup efetivo 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, esse local é variável, mas compilado no Apache, ou seja, se você quiser implantar em uma distribuição diferente, talvez seja necessário colocar o (s) arquivo (s) conf em um local diferente.
Comoexatamentevocê faz isso depende da natureza do seu servidor. Se você estiver atendendo a várias coisas que são projetos independentes, esses projetos deverão ter backup independente; isso deve incluir alguma documentação sobre como eles devem ser implantados e o que 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 for dedicado a uma coisa, você pode simplesmente fazer backup de toda a raiz da web. No primeiro caso (vários projetos independentes), utilizando alguma forma deVCé bom (essas são coisas boas para aprender a usar; minha preferência pessoal é, git
mas há muitas outras), no último (uma raiz megalítica da web) algo como rsync
- mas essas são apenas sugestões. A questão é que você deve ter uma ferramenta com a qual se sinta confortável para coisas como esta (fazer backup seletivo de subárvores de diretório em um sistema de arquivos). A maneira mais simples em uma instalação pequena é provavelmente apenas tar
(ou zip).
Se você estiver usando um banco de dados back-end com Apache, você também deseja fazer backup dele da mesma forma - os dados e a configuração, mas se o banco de dados for usado por vários projetos diferentes com backup independente, seus dados deverão ser copiados com eles.
Então, se vocêmanter um backupdesse tipo, tudo o que você precisa fazer para "duplicar seu apache" é instalar o apache e, em seguida, implantar o backup - você descompacta, rsync, git clone, qualquer que seja, as várias partes, copia a configuração no lugar certo e pronto.
Você pode então ter um problema com software ausente - as distros podem agrupar os módulos do Apache de maneira diferente, você precisa de sql, etc. - mas isso é bastante simples.