El tener un dominio cifrado y utilizar el protocolo https es ya una característica que te ayuda al posicionamiento o SEO, para hacerlo necesitas un certificado SSL y aquí puedes ver como configurar certificado SSL en Apache 2 con Ubuntu Server 18.04, pero que puedes utilizar en otras distros.
Como configurar un certificado SSL en Apache 2 en Ubuntu
Lo primero que tienes que hecer es adquirir tu certificado con algún proveedor como GoDaddy o Let’s Encrypt. Una vez que cuentas con el, lo que tienes que hacer es descargar el certificado y cargarlo en tu servidor.
Suponiendo que tienes ya listos los 3 archivos necesarios: el archivo del certificado .cfg, el archivo de la llave de cifrado key.txt y el archivo del conjunto de certificados intermedios o bundle file con extención .cfg, debes cargarlo a tu servidor.
En el caso de Ubuntu Server puedes cargar los archivos a la carpeta del usuario sudoer y luego moverlo a directorio /etc/ssl. Asumiendo que los archivos estén en directorio Descargas puedes ver estos comandos de ejemplo y adecuarlos a tus archivos y a tu servidor.
cd ~/Descarga
scp bf56aacb4a5b7f9b.crt usuario@midominio.com:/home/usuario
scp gd_bundle-g2-g1.crt usuario@midominio.com:/home/usuario
scp key.txt usuario@midominio.com:/home/usuario
Una ves que están en tu servidor, debes moverlos al directoio /etc/ssl
sudo mv *.crt /etc/ssl
sudo mv key.txt /etc/ssl
Una vez que se encuentran en la ruta adecuada tienes que modificar el archivo de configuración del dominio acd l que se va a asignar el certificado
sudo nano /etc/apache2/sites-enabled/midominio.conf
En este archivo se debe tener previamente configurado la sección para el subdominio o dominio virtual para escuchar por el puerto 443 y agregar el siguiente código:
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/bf56aacb4a5b7f9b.crt
SSLCertificateKeyFile /etc/ssl/key.txt
SSLCertificateChainFile /etc/ssl/gd_bundle-g2-g1.crt
Para que quede algo parecido a esto:
<VirtualHost *:443>
ServerName midominio.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/ruta_del_dominio
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/bf56aacb4a5b7f9b.crt
SSLCertificateKeyFile /etc/ssl/key.txt
SSLCertificateChainFile /etc/ssl/gd_bundle-g2-g1.crt
<Directory /var/www/ruta_del_dominio>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/midominio.com.error.log
CustomLog ${APACHE_LOG_DIR}/midominio.com.access.log combined
<FilesMatch \.php$>
# Apache 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>
Una vez que se ha agregado el código se debe reiniciar el servicio apache2
sudo systemctl restart apache2.service
Una vez reiniciado, debe eliminar el cache de tu navegador y probar tu dominio con el protocolo https y se debe mostrar como seguro en el navegador. Este es un ejemplo de un dominio con el servicio https configurado.