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.

GoDaddy Generate Certificate

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

GoDaddy Certificate Download

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.

Wordpress Settings General

Altere o endereço do WordPress (URL) e a configuração do endereço do site (URL) de HTTP para HTTPS.

Wordpress HTTP to HTTPS

No painel do WordPress, acesse o menu Configurações e selecione a opção Permalinks.

Wordpress permalinks menu

Clique no botão Salvar alterações para atualizar sua configuração de link permanente.

Wordpress backup permalinks

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.

Wordpress YOAST SITEMAP Deactivate

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.

Google Analytics - HTTP to HTTPS