¿Le gustaría aprender cómo mover su sitio web de WordPress de HTTP a HTTPS? En este tutorial, le mostraremos todos los pasos necesarios para mover su sitio web de WordPress a HTTPS usando Ubuntu Linux.

• Versión de Ubuntu: 18.04

Lista de Hardware:

La siguiente sección presenta la lista de equipos utilizados para crear este tutorial de WordPress.

Todas las piezas de hardware mencionadas anteriormente se pueden encontrar en el sitio web de Amazon.

WordPress Playlist:

En esta página, ofrecemos acceso rápido a una lista de videos relacionados con la instalación de WordPress.

No olvides suscribirte a nuestro canal de youtube llamado FKIT.

Tutoriales Relacionados con WordPress:

En esta página, ofrecemos acceso rápido a una lista de tutoriales relacionados con la instalación de WordPress.

Tutorial - Cuenta GoDaddy

Primero, necesitas acceder a la GODADDY y crear una cuenta.

Esta cuenta se utilizará para crear su certificado HTTPS.

Tutorial - Creación de Certificados HTTPS

En la consola de Linux, use el siguiente comando para instalar los paquetes necesarios.

# apt-get update
# apt-get install openssl

Use el siguiente comando para generar su archivo KEY y su archivo CSR.

# mkdir -p /downloads/certificate
# cd /downloads/certificate
# openssl req -new -newkey rsa:2048 -nodes -keyout techexpert.key -out techexpert.csr

El sistema le hará algunas preguntas para cumplir con su solicitud de certificado.

• Nombre del país: ingrese el código de 2 letras para su país
• Nombre del estado o provincia: ingrese el nombre de su estado o provincia.
• Nombre de localidad: ingrese el nombre de su ciudad
• Nombre de la organización: ingrese el nombre de su organización o su nombre personal.
• Nombre de la unidad organizativa - Opcional
• Nombre común: ingrese el nombre de host de su sitio web
• Dirección de correo electrónico - Opcional
• Una contraseña de desafío - Opcional.
• Un nombre de compañía opcional - opcional.

En nuestro ejemplo, estamos creando una solicitud de certificado para el sitio web 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 []:

La CSR contiene su solicitud de firma de certificado y se enviará a GoDaddy para crear su certificado público.

Aquí está el contenido del archivo 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-----

El archivo KEY contiene su clave privada de certificado y debe guardarse en un lugar seguro todo el tiempo.

Aquí está el contenido del archivo 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-----

Vuelva al sitio web de GODADDY y compre el certificado SSL.

Se le pedirá que pegue el contenido del archivo CSR en el sitio web.

GoDaddy Generate Certificate

Después de 10 minutos, GoDaddy terminará la creación de su certificado y le permitirá descargar un archivo ZIP.

En nuestro ejemplo, el archivo ZIP fue nombrado: techexpert.tips.zip

GoDaddy Certificate Download

Copie el archivo ZIP a su servidor Linux.

En nuestro ejemplo, asumiré que copió el archivo ZIP en el siguiente directorio: / downloads / certificate

# cd /downloads/certificate
# unzip techexpert.tips.zip

Archive: techexpert.tips.zip
inflating: gd_bundle-g2-g1.crt
inflating: 1c9ad5b95b2ac0fb.crt

Vamos a enumerar los archivos disponibles dentro del directorio de certificados.

• 1c9ad5b95b2ac0fb.crt
• gd_bundle-g2-g1.crt
• techexpert.csr
• techexpert.key
• techexpert.tips.zip

Debería tener archivos similares dentro de su directorio de certificados.

Opcional. Si desea buscar dentro de los archivos de certificado enviados desde Godady, use los siguientes comandos.

# openssl x509 -in gd_bundle-g2-g1.crt -text -noout
# openssl x509 -in ab0562011b4bb0c7.crt -text -noout

No olvide cambiar los nombres de los archivos para reflejar su entorno.

Tutorial - Redirecciona HTTP a HTTPS en Apache

Habilite el módulo Apache SSL y el módulo Apache REWRITE.

# a2enmod rewrite
# a2enmod ssl
# service apache2 restart

Edite el archivo de configuración de Apache VIRTUALHOST para ofrecer también su sitio web a través de HTTPS:

# vi /etc/apache2/sites-available/techexpert.conf

Tenga en cuenta que su nombre de VIRTUALHOST y su ubicación pueden no ser los mismos que los míos.

Aquí está nuestro archivo original del sitio web, antes de nuestra configuración.

<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>

Aquí está el nuevo archivo con el HTTPS VIRTUALHOST habilitado.

Este archivo también se configuró para redirigir cualquier conexión HTTP al sitio web de 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>

Establezca el permiso de archivo correcto en todos los archivos de certificados y claves.

# chown www-data.www-data /downloads/certificate/* -R

También debe reiniciar Apache manualmente y verificar el estado del servicio.

# service apache2 stop
# service apache2 start
# service apache2 status

Aquí hay un ejemplo de la salida de estado del servicio de 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 WordPress a HTTPS

Ahora, necesitamos configurar WordPress para usar el HTTPS.

Abra su navegador y acceda al Panel de WordPress.

En el panel de control de WordPress, acceda al menú Configuración y seleccione la opción General.

Wordpress Settings General

Cambie la configuración de la dirección de WordPress (URL) y la dirección del sitio (URL) de HTTP a HTTPS.

Wordpress HTTP to HTTPS

En el panel de control de WordPress, acceda al menú Configuración y seleccione la opción Permalinks.

Wordpress permalinks menu

Haga clic en el botón Guardar cambios para actualizar la configuración de su enlace permanente.

Wordpress backup permalinks

Ha finalizado la configuración de su sitio web.

Abra su navegador e intente acceder a la versión HTTPS de su sitio web.

Si intenta abrir la URL HTTP de su sitio web, el servidor web Apache debería redirigirlo automáticamente a la versión HTTPS.

Asegúrate de que todo esté funcionando.

Tutorial - Sitemap de WordPress

Si su sitio web de WordPress ofrece un Sitemap, debe generar el Sitemap nuevamente.

Por lo general, las personas usan el plugin Yoast SEO para crear el Sitemap dinámicamente.

Desactive el complemento YOAST SEO y active el complemento YOAST SEO.

Esto recreará el Sitemap de WordPress.

Wordpress YOAST SITEMAP Deactivate

Tutorial - Actualizar WordPress MySQL Database Links

ahora, necesitamos editar la base de datos de WordPress y cambiar cada entrada de la URL HTTP a HTTPS.

Debe hacer una copia de seguridad de su base de datos antes de continuar.

Después de finalizar la copia de seguridad de la base de datos de WordPress, necesitamos descargar el 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

Acceda a su directorio de instalación de WordPress y pruebe el 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

Ahora, probemos el comando que reemplazará los enlaces HTTP a la versión HTTPS en la base de datos.

Este comando no realizará ningún cambio en la base de datos.

# 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.

La prueba se realizó con éxito.

Ahora, ejecutemos el comando que reemplazará los enlaces HTTP a la versión HTTPS en la base de datos.

Este comando realizará cambios en la base de datos.

# 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.

Ha finalizado la configuración de la base de datos Mysql.

Opcional - Consola de Búsqueda de Google

Si está utilizando la Consola de búsqueda de Google, debe agregar otro sitio web usando su URL de HTTPS.

Desafortunadamente, la consola de búsqueda de Google no ofrece la opción de cambiar el nombre de su sitio web HTTP a HTTPS.

Deberá configurar la versión HTTPS como un nuevo sitio web.

Opcional - Google Analytics

Si está utilizando Google Analytics, necesita cambiar las propiedades de su sitio web para reflejar la url HTTP.

Acceda al menú del administrador de Google Analytics y seleccione la opción Configuración de la propiedad.

Cambie la configuración de URL predeterminada de HTTP a HTTPS.

Google Analytics - HTTP to HTTPS