Aqui está um trabalho que já me fez passar muita raiva, migrar um site WordPress para outro servidor .
Mas se você chegou até aqui, pelo visto não estou sozinho. Acredite! Essa tarefa pode acabar com seu dia se não fizer da forma correta. Muitas vezes um pequeno erro, e adeus seu lindo site WordPress.
A boa notícia é que criei este artigo para nunca mais ter que passar horas quebrando cabeça e estou te poupando também.
Então vamos lá! Para transferir um site WordPress para outro servidor usando a linha de comando, basicamente você precisará seguir estas etapas:
Faça backup dos arquivos e do banco de dados do seu site WordPress. Você pode fazer isso usando o comando mysqldump para exportar seu banco de dados e o tarcomando para empacotar seus arquivos.
Transfira os arquivos de backup para o novo servidor . Você pode usar o comando scp para transferir os arquivos por SSH.
Crie um novo banco de dados no novo servidor e importe o arquivo de backup do banco de dados. Você pode usar o comando mysql para fazer isso.
Edite o arquivo wp-config.php para refletir as novas credenciais do banco de dados.
Extraia os arquivos de backup no local apropriado no novo servidor.
Atualize as opções siteurl e home na tabela wp_options para refletir a nova URL do site. Você pode fazer isso usando o comando mysql .
Estas são as etapas gerais para transferir um site WordPress para um novo servidor usando a linha de comando. Mais abaixo vamos detalhar passo a passo.
Requisitos
Acesso SSH e FTP ao servidor
Permissão para alterar, criar e transferir arquivos e pastas
PHP, MySQL, Nginx e WordPress instalados no novo servidor Ubuntu ou Debian
Para instalar o WordPress em um novo servidor Ubuntu, usei a DigitalOcean e recomendo a você!
Passo a passo para migrar o WordPress para um novo servidor
Se você tiver erros ou dúvidas, deixe um comentário no final do Artigo!
Vamos aos detalhes!
1. Faça backup do banco de dados
Vamos usar o comando mysqldump para exportar nosso banco de dados e o comando tar para compactar seus arquivos.
Antes disso, tenha em mãos as informações do Banco de dados do site antigo.
Você pode encontrar o nome de usuário do banco de dados, senha e outros detalhes no arquivo wp-config.php no diretório raiz da instalação do WordPress.
O arquivo contém as seguintes informações:
define('DB_NAME', 'database_name ');
define('DB_USER', 'database_user ');
define('DB_PASSWORD', 'database_password ');
define('DB_HOST', 'localhost');
Agora com o comando abaixo vamos gerar um arquivo chamado backup_file.sql com o nosso banco da dados.
mysqldump -u username --password=password database_name > backup_file.sql
Substitua username , password , database_name pelo seu usuário, senha e nome do banco da dados, respectivamente.
2. Faça backup dos arquivos do WordPress
Em seguida vamos fazer o backup da pasta de instalação do seu site, no meu caso fica em htdocs , onde contém as pastas wp-admin , wp-includes , wp-content e todos os arquivos necessários.
Pastas wp-admin, wp-includes, wp-content do WordPress
Abra o terminal SSH, acesse o diretório dos arquivos do site, no meu caso fica em /var/www/domíniodosite .
Agora vamos fazer um backup completo da pasta htdocs executando o comando abaixo:
tar -zcvf backup_file.tar.gz htdocs
Ou de onde estiver, execute o comando (com o ponto no final):
tar -zcvf /path/to/site/directory/htdocs/backup_file.tar.gz -C /path/to/site/directory/htdocs/ .
Substitua /path/to/site/directory/ pelo diretório da sua instalação, que normalmente seria /var/www/seusite/htdocs.
Comando tar usado para compactar pastas ou arquivos
Esse comando irá compactar tudo que estiver na pasta htdocs e criará em um arquivo chamado backup_file.tar.gz .
3. Transfira os arquivos de backup para o novo servidor
Acesse o novo servidor para importar os arquivos do velho.
Antes disso, delete a pasta da sua nova instalação do WordPress, no meu caso fica em htdocs .
Nesse exemplo, minha pasta htdocs fica no diretório /var/www/meusite.com.br e após acessa-lo vou usar o comando abaixo para deletar:
rm -r htdocs
Agora que deletamos, vamos importar a pasta htdocs do servidor antigo.
Ainda no mesmo diretório, use o comando rsync para importar os arquivos:
rsync -avz -e 'ssh -p 22' [email protected] :/path/to/site/directory/backup_file.tar.gz /path/to/site/directory/htdocs/ --info=progress2
Substitua 000.00.00.00 pelo IP do antigo servidor e /path/to/site/directory/ pelo diretório onde está o arquivo compactado. (Se root não for seu usuário, substitua também).
No segundo trecho do código substitua /path/to/site/directory/ pelo diretório onde quer que o arquivo fique no novo servidor.
No código de exemplo vamos importar o arquivo backup_file.tar.gz do antigo servidor localizado no diretório /path/to/site/directory/ .
Use o mesmo comando para importar o arquivo backup_file.sql gerado do seu banco de dados.
OBS : Ao executar o comando, será solicitado a senha do antigo servidor .
NOTA: Em alguns casos, talvez seja necessário se conectar ao servidor antigo antes de executar o comando anterior.
Para isso, no novo servidor execute o comando abaixo substituindo 000.00.00.00 pelo IP do antigo servidor:
ssh -p 22 [email protected]
Agora que estamos com todos os arquivos no novo servidor, vamos descompacta-los.
Descompacte o arquivo backup_file.tar.gz com o comando abaixo:
tar -xvzf backup_file.tar.gz
4. Importe seu Banco de dados
A próxima etapa será importar o banco de dados.
Como você já deve ter transferido o arquivo do banco de dados para o novo servidor, agora precisa importar esse arquivo para seu novo banco de dados. Para isso use o comando abaixo:
mysql -u username --password=senhadobancodedados database_name < /path/to/site/directory/backup_file.sql
Se quiser ter certeza que deu certo a importação, use o comando abaixo:
mysql -u username --password=senhadobancodedados database_name -e "SHOW TABLES;"
5. Edite o arquivo wp-config.php
Abra o arquivo wp-config.php e verifique se os dados estão corretos para refletir as novas credenciais do banco de dados.
Geralmente é necessário verificar o prefixo da tabela se é o mesmo do servidor antigo. Nesse exemplo o prefixo é wp_ .
$table_prefix = 'wp_';
Confira também se as informações do Banco de dados estão corretas:
define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PASSWORD', 'database_password');
Salve o arquivo.
IMPORTANTE : Delete os arquivos da pasta raiz caso estejam.
Por exemplo, o meu diretório de instalação fica em /var/www/meusite.com/htdocs .
Se os arquivos transferidos backup_file.sql e backup_file.tar.gz estiverem nessa pasta, exclua-os!
rm -r backup_file.sql backup_file.tar.gz
6. Alterando o DNS para refletir a nova instalação
Antes disso, vamos verificar como estamos indo.
Se você usa Windows , acesse o diretório C:\Windows\System32\drivers\etc .
Abra o arquivo hosts com o Bloco de Notas ou um Editor de código, no meu caso uso o Notepad ++ .
Adicione o IP do seu novo servidor como abaixo:
000.00.00.00 seusite.com
000.00.00.00 www.seusite.com
Substitua 000.00.00.00 pelo seu IP do novo servidor e seusite.com pelo domínio configurado na sua nova instalação WordPress.
Acessar o site alterando o DNS localmente no Windows
Salve o arquivo.
Agora abra o Prompt de comando do Windows como administrador.
Para limpar o cache DNS , use o seguinte comando:
ipconfig /flushdns
Agora acesse seu site pelo navegador e veja se saiu tudo como esperado.
Se tiver dado tudo certo, comente com # antes linhas adicionadas e limpe o cache DNS novamente.
Em seguida pode alterar o DNS normalmente no sua hospedagem WordPress .
No meu caso uso e recomendo a Cloudflare .
Então é isso pessoal! Espero ter ajudado.
Quero saber como foi sua experiência, deixe um comentário !
Compartilhe também com seus amigos! Sucesso!