Você gostaria de aprender como mover seu site WordPress de HTTP para HTTPS? Neste tutorial, mostraremos todas as etapas necessárias para mover o site do WordPress para HTTPS usando o Ubuntu Linux.
• Versão do Ubuntu: 18.04
Lista de Hardware:
A seção a seguir apresenta a lista de equipamentos usados para criar este tutorial do WordPress.
Cada peça de hardware listada acima pode ser encontrada no site da Amazon.
WordPress Playlist:
Nesta página, oferecemos acesso rápido a uma lista de vídeos relacionados à instalação do WordPress.
Não se esqueça de se inscrever em nosso canal do youtube chamado FKIT.
Tutoriais Relacionados ao WordPress:
Nesta página, oferecemos acesso rápido a uma lista de tutoriais relacionados à instalação do WordPress.
Tutorial - Conta GoDaddy
Primeiro, você precisa acessar o GODADDY e crie uma conta.
Essa conta será usada para criar seu certificado HTTPS.
Tutorial - Criação de Certificados HTTPS
No console do Linux, use o seguinte comando para instalar os pacotes necessários.
# apt-get update
# apt-get install openssl
Use o seguinte comando para gerar seu arquivo KEY e seu arquivo CSR.
# mkdir -p /downloads/certificate
# cd /downloads/certificate
# openssl req -new -newkey rsa:2048 -nodes -keyout techexpert.key -out techexpert.csr
O sistema fará algumas perguntas para atender sua solicitação de certificado.
• Nome do país - digite o código de 2 letras para o seu país
• Nome do Estado ou Província - Digite o nome do seu estado ou província.
• Nome da localidade - digite o nome da sua cidade
• Nome da organização - digite o nome da sua organização ou o seu nome pessoal.
• Nome da Unidade Organizacional - Opcional
• Nome comum - Digite o nome do host do seu site
• Endereço de E-mail - Opcional
• Uma senha de desafio - Opcional.
• Um nome de empresa opcional - opcional.
Em nosso exemplo, estamos criando uma solicitação de certificado para o website techexpert.tips.
Generating a 2048 bit RSA private key
...................+++
...................+++
writing new private key to 'techexpert.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Rio de Janeiro
Locality Name (eg, city) []:Rio de Janeiro
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Jonas Smith
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:techexpert.tips
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
O CSR contém sua solicitação de assinatura de certificado e será enviado para a GoDaddy para criar seu certificado público.
Aqui está o conteúdo do arquivo CSR:
-----BEGIN CERTIFICATE REQUEST-----
MIICtDCCAZwCAQAwbzELMAkGA1UEBhMCQlIxFzAVBgNVBAgMDlJpbyBkZSBKYW5l
aXJvMRcwFQYDVQQHDA5SaW8gZGUgSmFuZWlybzEUMBIGA1UECgwLSm9uYXMgU21p
dGgxGDAWBgNVBAMMD3RlY2hleHBlcnQudGlwczCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALAZgXHiRxCZgLmAl+2eNmFY1VmQgvvBIxMW0V8hjfs81tU1
4nXUei51fwdai63ypc7EG8cTyhS3Os7/3npwJU2x1j55dlVXBSGN5JFP3Afa9SHe
9XDqaLRNHLUpkkaj6EV5RLvMZvT8jBUyh+wQTesAzWz1Gg07MfpD9Ls6JcUfg6GN
s5Fy/SYEEONtSAgH48+hJ0KP3zIeNk2/JUS9T3FktBnEN8Uwmv2U0A5HQAg5oAuR
doy7XMLn4bVnbH5b3FIjgkx6CIqgeEj9e3cDeULJPzUYZzdGuaWKCFllWy2vQUrh
ei1wl7lguwGfXEi6TJStackcZHPwyYLbpKFhEssCAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQCBKsz7z95s251RaZ/x+URiIvtMFl+JheLt8PSJB8CC+SltA245kYg4
CbWc5blXckwcM+2LQ0Dd4YcWfKGunlee/Agju74gbqybV77cpA14w8wRK3tasv24
8/VD+94WvMME+WlBpuTPGIEqgAIt653Fn/E+MLD42ICRGkL+HZITAYltn+4uNtO7
S35jJ5OIVJ5WdTLWfrakCqEtPXVOpyYalwVF5MrmYzJhfeIGuLQge62uP+EFHrWI
W3+ATnPFpq0/slsxu24s00GBkj56cO2JNnmhVpSjQkmd2Jmsz42+Myh/dGTrFnd5
fQcXU9D/+qELbzFtWyVeU1SK0mufavGw
-----END CERTIFICATE REQUEST-----
O arquivo KEY contém sua chave privada do Certificado e deve ser mantido em um local seguro o tempo todo.
Aqui está o conteúdo do arquivo KEY:
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwGYFx4kcQmYC5
gJftnjZhWNVZkIL7wSMTFtFfIY37PNbVNeJ11HoudX8HWout8qXOxBvHE8oUtzrO
/956cCVNsdY+eXZVVwUhjeSRT9wH2vUh3vVw6mi0TRy1KZJGo+hFeUS7zGb0/IwV
MofsEE3rAM1s9RoNOzH6Q/S7OiXFH4OhjbORcv0mBBDjbUgIB+PPoSdCj98yHjZN
vyVEvU9xZLQZxDfFMJr9lNAOR0AIOaALkXaMu1zC5+G1Z2x+W9xSI4JMegiKoHhI
/Xt3A3lCyT81GGc3RrmlighZZVstr0FK4XotcJe5YLsBn1xIukyUrWnJHGRz8MmC
26ShYRLLAgMBAAECggEAdpK19ljGQQcbBczwf67oLuQBxCzqBVomo9PZZpTRZTmx
7h46Pdyz6FR1FB6DrryTqIWjrohEqW42yuq+gvLAK3BzMd3XL99INS+1l6KOJTvp
ksTtvvoXRlAl5FX5iFcVLrJY9ZrMOGlUaXF81BamYHZJ2/OtdvtEy562Str8U52m
GTkgfpWnaLc66T05zViNwiAb5yg0v9Xb9YOEgLY8VdqYppUnJNzYs7utiDGbOjPa
OCZ5oLTl1b9l6sNw7RhhOmq/jPOur4Keg124fyleULi2Uln52waLWeI8fWI/AHmP
UQQkC3athEOKr0f1Zk9ZRxYJq5FYGPTElqQdbltEAQKBgQDiqSp4XM0tfFJwZIkH
ooEcPw+to4T0333K4mipx+YxlELCHvIXW2xIxlejyhgnVIQWX6qS0F7VUGnVuSKz
hB0zfcd89MYcqGyQSEdc9kZB+Twb9Hzd3fTXu7hKjXoz9+UKfcOXfQdILGnDqyG8
zCF//aNocRvxaO9E1cZ+1irlcQKBgQDG5OZUr8kMYI8Tl0GcmWZSFZfMYBYT3CAq
YPHmNQcHhENGz6v9jBZjkeZJBLMRZLlRWjcrWhKbEEHsjZJYiJP4u2n6n57Il9h9
OVqfK7RR3k1r9bMKzhYRnu1FsEPpMKKUrLPDChthxduXEPPZgoKGSYmhLAiYqyPg
USOyZzFt+wKBgQCmfjSgLSrZ2pSD0pWFciz8nqXZml+zr+cq/Jx8+kVw7cML7MdP
uOwVmPwPaAfN/Br6hFM7fKvsbSEQyOlgjA8XH7FFbFeJ/X2hjjY9Zvm8xGMO9cwy
/TM4tL9uo/W77r/jsPXXdRPARD98Z1xk3l1NMvaxZURtU/NN0On5iUABQQKBgGIu
FiER0R3iAF68WLAT7TVx4UgK2nsdO2eQCXkJDhpAyPEIjK8RWu/10oaS4k4guXYW
IYut3+dZpCFAVVCMwvaSlSMZbkk4464VBM3zxgRvxyoW1DXuO2ihWiD/fNZ8opTf
l7EcqR2fjOFKhgUF7qaZYG4GDYxHVuNhSkzDsdvHAoGBAIfDk7fLsG/BYROxJpzN
b1CoG8DE+DKYTWwMWW45rDF0ImbC6H3fg876CeZ3YKGWqt9qkha7gnGGVRRufP15
O7ZEXebZXeDYafXSNcnqSe7FSNtVr1eFlTWmL8OiWQuaqxjs/VogdWfhkEGPISVF
AOM3I6XSGx4NxW2RgYmvQZ4O
-----END PRIVATE KEY-----
Volte para o WEBSITE da GODADDY e compre o certificado SSL.
Você será solicitado a colar o conteúdo do arquivo CSR no site.
Após 10 minutos, o GoDaddy concluirá a criação do seu certificado e permitirá que você baixe um arquivo ZIP.
Em nosso exemplo, o arquivo ZIP foi denominado: techexpert.tips.zip
Após 10 minutos, o GoDaddy concluirá uma criação de seu certificado e permitirá que você baixe um arquivo ZIP.
Em nosso exemplo, o arquivo ZIP foi denominado: techexpert.tips.zip
# cd /downloads/certificate
# unzip techexpert.tips.zip
Archive: techexpert.tips.zip
inflating: gd_bundle-g2-g1.crt
inflating: 1c9ad5b95b2ac0fb.crt
Vamos listar os arquivos disponíveis no diretório do certificado.
• 1c9ad5b95b2ac0fb.crt
• gd_bundle-g2-g1.crt
• techexpert.csr
• techexpert.key
• techexpert.tips.zip
Você deve ter arquivos semelhantes dentro do seu diretório de certificados.
Opcional. Se você quiser olhar dentro dos arquivos de certificado enviados pelo Godady, use os seguintes comandos.
# openssl x509 -in gd_bundle-g2-g1.crt -text -noout
# openssl x509 -in ab0562011b4bb0c7.crt -text -noout
Não se esqueça de alterar os nomes dos arquivos para refletir seu ambiente.
Tutorial - Redirecionar HTTP para HTTPS no Apache
Ative o módulo Apache SSL e o módulo Apache REWRITE.
# a2enmod rewrite
# a2enmod ssl
# service apache2 restart
Edite seu arquivo de configuração Apache VIRTUALHOST para também oferecer seu site via HTTPS:
# vi /etc/apache2/sites-available/techexpert.conf
Tenha em mente que o nome e a localização do seu arquivo VIRTUALHOST podem não ser os meus.
Aqui está o nosso arquivo original do site, antes da nossa configuração.
<VirtualHost *:80>
ServerAdmin nobody@care.com
DocumentRoot /websites/techexpert/www
ServerName techexpert.tips
<Directory /websites/techexpert/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /websites/techexpert/logs/error.log
CustomLog /websites/techexpert/logs/access.log combined
LogLevel error
</VirtualHost>
Aqui está o novo arquivo com o HTTPS VIRTUALHOST ativado.
Este arquivo também foi configurado para redirecionar qualquer conexão HTTP para o site HTTPS.
<VirtualHost *:80>
ServerAdmin nobody@care.com
ServerName techexpert.tips
Redirect permanent / https://techexpert.tips/
</virtualhost>
<VirtualHost *:443>
ServerAdmin nobody@care.com
DocumentRoot /websites/techexpert/www
ServerName techexpert.tips
<Directory /websites/techexpert/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLCertificateFile /downloads/certificate/1c9ad5b95b2ac0fb.crt
SSLCertificateKeyFile /downloads/certificate/techexpert.key
SSLCertificateChainFile /downloads/certificate/gd_bundle-g2-g1.crt
ErrorLog /websites/techexpert/logs/error.log
CustomLog /websites/techexpert/logs/access.log combined
LogLevel error
</VirtualHost>
Defina a permissão de arquivo correta em todos os arquivos de certificado e chave.
# chown www-data.www-data /downloads/certificate/* -R
Você também deve reiniciar o apache manualmente e verificar o status do serviço.
# service apache2 stop
# service apache2 start
# service apache2 status
Aqui está um exemplo da saída de status do serviço Apache.
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Mon 2018-04-23 00:02:09 -03; 1min 4s ago
Tutorial - Configurar o WordPress para HTTPS
Agora, precisamos configurar o WordPress para usar o HTTPS.
Abra seu navegador e acesse o Painel do WordPress.
No painel do WordPress, acesse o menu Configurações e selecione a opção Geral.
Altere o endereço do WordPress (URL) e a configuração do endereço do site (URL) de HTTP para HTTPS.
No painel do WordPress, acesse o menu Configurações e selecione a opção Permalinks.
Clique no botão Salvar alterações para atualizar sua configuração de link permanente.
Você terminou a configuração do seu site.
Abra seu navegador e tente acessar a versão HTTPS do seu site.
Se você tentar abrir o URL HTTP do seu site, o servidor web Apache deve redirecioná-lo automaticamente para a versão HTTPS.
Certifique-se de que tudo esteja funcionando.
Tutorial - WordPress Sitemap
Se o seu site WordPress oferece um Sitemap, você precisa gerar o Sitemap novamente.
Normalmente, as pessoas usam o plugin Yoast SEO para criar o Sitemap dinamicamente.
Desativar o plugin YOAST SEO e ativar o plugin YOAST SEO.
Isso irá recriar o Sitemap do WordPress.
Tutorial - Atualizar Links do Banco de Dados MySQL do WordPress
Agora, precisamos editar o banco de dados WordPress e alterar cada entrada de URL HTTP para HTTPS.
Você deve fazer backup de seu banco de dados antes de continuar.
Depois de terminar o backup do banco de dados WordPress, precisamos baixar o software WP-CLI.
# mkdir /downloads/wp-cli
# cd /downloads/wp-cli
# wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# php wp-cli.phar --info
# chmod +x wp-cli.phar
# cp wp-cli.phar /usr/local/bin/wp
Acesse o diretório de instalação do WordPress e teste o comando WP-CLI.
# cd /var/www/html/wordpress
# wp --info
OS: Linux 4.15.0-1021-aws #21-Ubuntu SMP Tue Aug 28 10:23:07 UTC 2018 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php7.2
PHP version: 7.2.10-0ubuntu0.18.04.1
php.ini used: /etc/php/7.2/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /downloads/wp-cli
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.0.1
Agora, vamos testar o comando que substituirá os links HTTP para a versão HTTPS no banco de dados.
Este comando não executará nenhuma mudança no banco de dados.
# wp search-replace 'http://techexpert.tips' 'https://techexpert.tips' --all-tables --skip-columns=guid --dry-run --allow-root
Warning: Skipping an uninitialized class "DUP_Package", replacements might not be complete.
Success: 18925 replacements to be made.
O teste foi realizado com sucesso.
Agora, vamos executar o comando que substituirá os links HTTP para a versão HTTPS no banco de dados.
Este comando executará mudanças no banco de dados.
# wp search-replace 'http://techexpert.tips' 'https://techexpert.tips' --all-tables --skip-columns=guid --allow-root
Warning: Skipping an uninitialized class "DUP_Package", replacements might not be complete.
Success: 18925 replacements were made.
Você terminou a configuração do banco de dados Mysql.
Opcional - Google Search Console
Se você estiver usando o Google Search Console, será necessário adicionar outro website usando seu URL HTTPS.
Infelizmente, o console de pesquisa do Google não oferece a opção de renomear seu site HTTP para HTTPS.
Você precisará configurar a versão HTTPS como um novo site.
Opcional - Google Analytics
Se você estiver usando o Google Analytics, precisará alterar as propriedades de seu website para refletir o URL HTTP.
Acesse o menu do administrador do Google Analytics e selecione a opção "Configurações da propriedade".
Altere a configuração do URL padrão de HTTP para HTTPS.