Hace un par de meses por parte del trabajo tuve que configurar un VPS de Ionos desde cero, no encontré mucha información en su documentación por lo que me costó un poco configurarlo, pero al final lo conseguí, en este tutorial te mostraré cómo configurar VPS de Ionos desde cero con Ubuntu Server 20.04 sin más rodeos y al punto, así que manos a la obra.
Qúe vamos a hacer:
- Configurar las reglas del firewall
- Apuntar el nombre de dominio hacia el VPS
- Montar Lamp
- Crear host virtual
- Instalar el certificado SSL
También puedes ver este tutorial en su versión de YouTube, recuerda suscribirte:
1. Configurar las reglas del firewall del VPS
Desde el menú principal accedemos a Servidores & Cloud:
Se abrirá el panel en donde encontramos las configuraciones del VPS, nos dirigimos al menú de la izquierda llamado Red y luego damos clic en políticas de firewall:
En esta sección podemos dar de alta los puertos en los que el VPS va a permitir tránsito, verifica que mínimo tengas estos 3 puertos abiertos:
El puerto 80 permite el tránsito al servidor Apache sin seguridad, el puerto 443 permite el tránsito al servidor Apache con seguridad (SSL), el puerto 22 permite el tránsito SSH y SFTP, podemos permitir la conexión a cualquiera de estos puertos solamente por un I.P. en concreto, recomiendo que el puerto 22 sólo permita la conexión de tu IP; para saber que IP tienes puedes ir aquí una vez que la conozcas puedes editar la regla y en IP permitida agregas la tuya:
Para agregar la regla damos clic en la palomita azul, veremos que el VPS empezará a actualizar:
Nota: Si no te puedes conectar vía SSH cambia la regla del puerto 22 y pon que permita conexiones Todas.
2. Apuntar nombre de dominio hacia el VPS
Accedemos a nuestra cuenta Ionos y damos clic en el apartado Dominios & SSL:
En mi caso no tengo ningún nombre de dominio dado de alta para esta cuenta, voy a configurar un nombre de dominio externo, en el menú de la derecha seleccionamos esa opción:
Escribimos el nombre de dominio que vamos a agregar para su configuración:
Seleccionamos el servidor DNS que utilizaremos, en mi caso utilizaré los servidores DNS de Ionos:
El nombre de dominio externo ya esta agregado a Ionos, ahora falta cambiar los nameservers desde el proveedor con quien compré el nombre de dominio, en este caso es Hostinger:
Actualizo los nameservers desde mi proveedor del nombre de dominio:
Regresamos al panel de Ionos y entramos al menú Dominios & SSL, veremos que el nombre de dominio ya esta agregado pero puede aparecer una leyenda que diga pendiente de confirmar, esto significa que los DNS aún no se propagan por lo que puede demorar de unos minutos a unas horas, en mi caso solo esperé 5 minutos, junto al nombre de dominio damos clic en el engrane y luego nos dirigimos a DNS:
Se abrirá la sección de los registros DNS, agregaremos más registros para que nuestro sitio web funcione correctamente, en el botón agregar registro damos clic:
Escogemos registro tipo A:
En la siguiente ventana en Host ponemos «@» y en «apunta a» la dirección IP de nuestro VPS y damos clic en guardar:
Veremos que el registro ha sido agregado:
Vamos a agregar un registro más, así que damos clic en el botón añadir registro, en la nueva ventana escogemos de nueva cuenta un registro A y copiamos la siguiente configuración:
Tendremos en nuestra configuración dos registros nuevos:
3. Montar Lamp
En un tutorial pasado ya mostré cómo montar el stack Lamp en un servidor virtual lo puedes ver aquí, es muy parecido a lo que vamos a hacer en este tutorial. Accedemos a nuestro VPN a través de la consola SSH, si estás en Windows puedes usar un cliente de SSH como PuTTy, si estás en Linux solo abre una terminal:
Verificamos si hay actualizaciones:
sudo apt update
Si existen actualizaciones escribimos:
sudo apt upgrade
verificamos los perfiles que existen en el firewall UFW:
sudo ufw app list
Permitimos las conexiones SSH:
sudo ufw allow OpenSSH
Habilitamos el firewall y aceptamos escribiendo ‘y’:
sudo ufw enable
Instalamos el servidor web Apache:
sudo apt install apache2
Verificamos los perfiles habilitados en UFW:
sudo ufw app list
Habilitamos Apache Full:
sudo ufw allow in "Apache Full"
Verificamos los cambios realizados:
sudo ufw status
Si abrimos nuestro navegador y escribimos la direccion IP de nuestro VPS o el nombre de dominio veremos la página por default del servidor Apache:
Instalamos MySQL, esta instalación la hago realizando los mismo pasos que en el artículo de cómo instalar Lamp en el paso número 5, lo puedes ver aquí, por lo que solamente mostraré la serie de comandos que necesitamos para su instalación y configuración, para más detalles te invito a ver el artículo antes mencionado:
sudo apt install mysql-server
sudo mysql
Dentro de la consola de MySQL escribimos los siguientes comandos para configurar:
SHOW VARIABLES LIKE 'validate_password';
use mysql;
select user, plugin, host FROM mysql.user;
En la siguiente línea de comando debes de sustituir «mipassword» por la contraseña que quieras usar para MySQL:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'mipassword';
FLUSH PRIVILEGES;
Salimos de la consola de MySQL escribiendo exit; verificamos el password que acabamos de configurar, si logramos entrar quiere decir que la instalación y configuración se hizo de manera correcta:
mysql -uroot -p
Toca instalar PHP, escribimos:
sudo apt install php libapache2-mod-php
Verificamos la instalación:
php -v
4. Crear host virtual
Hasta el punto anterior podemos usar el servidor apache para alojar solamente un nombre de dominio, pero si queremos hospedar más nombres de dominios debemos de crear virtual host o host virtuales, en este paso configuraré un host virtual para mispruebas.xyz tu solo tienes que cambiar ese nombre por el tuyo.
Creamos el directorio para mispruebas.xyz:
sudo mkdir /var/www/mispruebas
Agregamos la propiedad del directorio usando la variable de entorno $USER:
sudo chown -R $USER:$USER /var/www/mispruebas
Creamos un archivo de configuración para nuestro sitio:
sudo nano /etc/apache2/sites-available/mispruebas.conf
Copiamos el siguiente código, cambiando mispruebas por el nombre de tu nombre de dominio:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/mispruebas ServerName mispruebas.xyz ServerAlias www.mispruebas.xyz <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mispruebas> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Habilitamos el nuevo host virtual:
sudo a2ensite mispruebas
Deshabilitamos el sitio web predeterminado de Apache:
sudo a2dissite 000-default
Ahora verificamos la sintaxis:
sudo apache2ctl configtest
Reiniciamos el servidor Apache:
sudo systemctl reload apache2
Creamos un nuevo archivo para asegurarnos que esta funcionando nuestro dominio:
sudo nano /var/www/mispruebas/index.html
En el nuevo archivo index.html escribimos:
<h1>It works fine</h1>
Abrimos el navegador y escribimos nuestro nombre de dominio:
Ya esta funcionando correctamente nuestro servidor Apache, para agregar más sitios web es necesario agregar más hosts virtuales y configurar los DNS como en el paso 1.
5. Instalar el certificado SSL
Ya casi terminamos de configurar tu VPS de Ionos. Ahora vamos a instalar el certificado SSL para nuestro sitio web, para ello tenemos que instalar el software Certbot:
sudo apt install certbot python3-certbot-apache
Obtenemos el certificado SSL:
sudo certbot --apache
Rellenamos la información que nos piden como el email, aceptamos los términos y condiciones tecleando ‘A’ y No aceptamos que nos manden información a nuestro correo electrónico con ‘N’:
Escogemos cuales son los nombre de dominios que queremos activar SSL, en mi caso tengo 2, debemos introducir los números separados de comas:
Si queremos que todo el tránsito http se redireccione a https tecleamos 2 y Enter:
Se nos mostrará el mensaje de que los certificados han sido activados:
Por último verificaremos que la renovación automática de Certbot este habilitada y funcionando escribimos:
sudo systemctl status certbot.timer
Para salir de esa ventana damos Ctrl + c y Enter, ahora escribimos:
sudo certbot renew --dry-run
De esta manera la renovación automática ha quedado activada.
Conclusión
En este tutorial aprendiste cómo configurar VPS de Ionos desde cero, si este tutorial te ha ayudado te invito a que lo compartas en tus redes sociales para que más personas lo vean y les ayude. Puedes agregar más funcionalidades a tu VPS: FTP ver aquí, phpMyAdmin ver aquí, deploy de proyecto Laravel en VPS Ionos ver aquí.
Este tutorial me salvó la vida tío, gracias, toma tu like! Saludos desde España.
Me da mucho gusto que te haya servido, gracias por comentar.
Eres la hostia tío, gracias!
Gracias por visitar!!!
Gracias, me ayudó mucho tu tutorial, la empresa Ionos no da mucha información acerca de la configuración del VPS.
Me alegra mucho que te haya ayudado este tutorial, gracias por visitar.
Muchas gracias por el aporte, me has ahorrado horas de investigar.
Gracias a ti por visitar y dejar un comentario! Saludos.
Me ha servido mucho, gracias por compartir, saludos.
Hola Óscar, gracias a ti por visitar, te mando saludos desde México.
Seguí el tutorial paso a paso y funcionó todo correctamente, gracias por compartir tu conocimiento.
Hola Gerardo, gracias por visitar y comentar, me alegra mucho saber que este tutorial te sirvió. Saludos!
Corto y directo al grano, genial
Gracias amigo Py, siempre estas apoyando en redes sociales, agradezco tu visita y comentario, saludos!
La guia está muy completa. Te felicito por tu aporte.¡Sigue así!
Hola David, gracias por visitar y comentar, me alegra saber que este tutorial fue de ayuda, agradezco tus comentarios, saludos!
[…] will see how to set up an Ionos VPS from scratch step by step. To see the written version visit: https://diarioprogramador.com/configurar-vps-de-ionos-desde-cero/ Social networks of Diario del Programador Facebook page: […]
Seguí paso a paso esta guía y me funciono muy bien, gracias por compartir, saludos.
Hola Nestor, gracias por visitar y comentar, me alegra saber que este tutorial fue de ayuda, saludos!
buena es una excelente explicacion, pero mi pregunta es como es la configuracion cuando se compra el dominio ahi mismo en ionos gracias de antemanos y ver si me puede ayudar es vida o muerte
Hola Juan, gracias por visitar y comentar. Me siento muy contento de que poder ayudar, cualquier otra duda me avisas a través de los grupos de WhatsApp, Telegram, Facebook o mi email: [email protected] Saludos!
Cuando intento agregar otra web, hago los mismos pasos tanto del DNS y del virtual host y me redirije a la primera pagina que hice… cómo le ago?
Seguí el tutorial paso a paso y me funcionó todo sin problema, gracias por compartir.
Hola José, gracias por visitar y comentar, me alegra saber que fue de ayuda este tutorial, te mando un saludo.