Cómo cambiar el dominio de tu sitio web
Hace unos días decidí cambiar la extensión del dominio de mi web por diversas razones, como tengo poco tiempo con esta web y no tengo muchas redirecciones ni mucho tráfico las consecuencias de cambiarlo son pocas, sería diferente si en tu caso las condiciones son contrarias a las mías. De ser así, puedes buscar tutoriales sobre cómo proceder en estos casos.
Mi antigüo dominio era un ".tech" y decidí cambiarlo a ".es"
Para la instalación de los certificados he utilizado Certbot, por lo tanto el tutorial es para todos aquellos lectores que hayan creado su certificado en esa web.
Primero debes crear una redirección en tu antiguo dominio.
En mi caso lo he hecho con ovh: https://docs.ovh.com/es/domains/redireccion-dominio/
Debes cambiar el ServerName del virtualhost en el servidor donde tienes tu web por el nuevo dominio:
<VirtualHost *:80>
ServerName www.tunuevodimino.com
ServerAdmin webmaster@example.com
Para hacer los cambios en el certificado los virtualhosts deben estar activos (sudo a2ensite), de lo contrario mostrará el siguiente error:
Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
Para modificar el certificado SSL debes seguir estos pasos:
Verificar los certificados con este comando:
sudo certbot certificates
Verás lo siguiente en la pantalla:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: apps.dominio1.tech
Serial Number: 3db124c5e54836f2f53aa492095dfa013da
Key Type: RSA
Domains: apps.dominio1.tech
Expiry Date: 2021-08-21 19:33:45+00:00 (VALID: 77 days)
Certificate Path: /etc/letsencrypt/live/apps.dominio1.tech/fullchain.pem
Private Key Path: /etc/letsencrypt/live/apps.dominio1.tech/privkey.pem
Certificate Name: testing.dominio.tech
Serial Number: 37f921f4d4e3edf7dc9681f1a0efeeba653
Key Type: RSA
Domains: testing.dominio.tech
Expiry Date: 2021-02-13 11:57:10+00:00 (INVALID: EXPIRED)
Certificate Path: /etc/letsencrypt/live/testing.dominio.tech/fullchain.pem
Private Key Path: /etc/letsencrypt/live/testing.dominio.tech/privkey.pem
Procedemos a cambiar los dominios del certificado:
https://certbot.eff.org/docs/using.html#changing-a-certificate-s-domains
Luego tomamos el nombre del certificado que queremos cambiar del apartado "Certificate Name:"
Ejecutamos el siguiente comando:
sudo certbot certonly --cert-name apps.dominio1.tech -d tunuevodominio.es -d www.tunuevodominio.es
Nos preguntará lo siguiente:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Apache Web Server plugin (apache)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter] (press 'c' to cancel):
En mi caso como utilizado apache he seleccionado la opción 1.
Luego aparecerá esto:
You are updating certificate apps.dominio1.tech to include new domain(s):
+ tunuevodominio.es
+ www.tunuevodominio.es
You are also removing previously included domain(s):
- apps.dominio1.tech
Did you intend to make this change?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(U)pdate certificate/(C)ancel:
Esto significa que el comando está agregando el nuevo dominio y borrando el antiguo.
Si todo va bien verás una pantalla como esta:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/apps.dominio1.tech/fullchain.pem
Key is saved at: /etc/letsencrypt/live/apps.dominio1.tech/privkey.pem
This certificate expires on 2021-09-03.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
En mi caso como utilizo Django para mi sitio web he tenido que cambiar el host en settings.py para que todo funcione correctamente.
¡Gracias por leerme! Si tienes alguna duda déjame un comentario o envíame un e-mail en la sección "contacto".