Servidor VPS
Configuración de un dominio y un alojamiento en Internet
Se desea disponer de un alojamiento en Internet configurado con un servidor ssh, servidor web y servidor de correo. Se añadirán medidas de seguridad y de monitorización.
Para ello se utilizará un dominio y un servidor VPS. Se puede usar el pack de Github.
– Registrar un dominio en Namecheap (o Name, Hostalia, Piensa Solutions, . . . )
Configurar los DNS del alojamiento que se va a utilizar.
– Utilizar un VPS en DigitalOcean ( o PiensaSolutions, Contabo, OVH, Clouding, . . . )
- How To Set Up an Ubuntu 20.04 Server on a DigitalOcean Droplet: instalar LAMP/LEMP
How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 22.04
- Añadir el dominio y crear un registro tipo A
Conectarse por ssh
ssh root@your_server_ip
Crear un nuevo usuario y añadirlo al grupo sudo
adduser nombre_usuario usermod -aG sudo nombre_usuario
Abrir el fichero de configuración del servidor ssh
sudo nano /etc/ssh/sshd_config
Modificar la opción PermitRootLogin y guardar el archivo
PermitRootLogin no
Reiniiciar el servidor ssh
sudo systemctl restart ssh
- Configurar el servidor de correo Postfix.
- Instalar un certificado con Let’s Encrypt para usar https:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
Comprobación de renovación automática (2 veces al día):
sudo systemctl status certbot.timer sudo certbot renew –dry-run
Renovación del certificado SSL
- Configurar ufw, habilitar el cortafuegos ufw y abrir únicamente los puertos necesarios.
- Proteger el servidor con fail2ban.
Instalar y configurar Fail2Ban
Configura Fail2ban para evitar ataques SASL en Postfix
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh sudo sh setup-repos.sh sudo apt-get install webmin --install-recommends
Abrir puerto 10000 en el cortafuegos
sudo ufw allow 10000
Acceso desde el navegador (introducir un user y password de un usuario en el equipo):
midominio.es:10000/
Instalar el módulo para administrar Nginx desde Webmin:
En Ubuntu 20.04 da error en el módulo:
sudo apt install libhtml-parser-perl
- Crear un servidor virtual con Webmin
How To Set Up Nginx Server Blocks
server { listen 80; # sustituir usuario por el nombre de usuario usado root /home/usuario/ejemplo; # Add index.php to the list if you are using PHP index index.php index.html; # sustituir alumno.me por el dominio usado server_name laravel.alumno.me; location / { # First attempt to serve request as file, then as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } }
dar permiso de acceso a la carpeta usuario al resto de usuarios:
sudo chmod 755 /home/usuario
configurar el DNS en el droplet: añadir un registro tipo A
Crear el fichero /home/usuario/ejemplo/index.html:
cd ~
mkdir ejemplo
// sustituir alumno.me por el dominio usado
echo "Servidor virtual laravel.alumno.me" > ejemplo/index.html
instalar un certificado ssl:
// sustituir alumno.me por el dominio usado
sudo certbot --nginx -d laravel.alumno.me
Comprobar el acceso desdse el navegador:
- Usar netdata para monitorizar el funcionamiento del servidor:
Recomendable:
– Instalar Midnight Commander (en el VPS)
sudo apt install mc
– Instalar Filezilla (en el equipo local)
sudo apt install filezilla
– Montar el sistema de ficheros remoto del VPS en una carpeta en el equipo local:
cd ~ mkdir servidor sudo apt install sshfs sshfs usuario@alumno.me:/home/usuario servidor
y desmontarlo al terminar
fusermount -u servidor
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.