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, Linode, OVH, clouding, . . . )
- How To Set Up an Ubuntu 20.04 Server on a DigitalOcean Droplet: instalar LAMP/LEMP
Cómo instalar Linux, Nginx, MySQL y PHP (pila LEMP) en Ubuntu 20.04
- Configuración inicial: Crear un nuevo usuario y añadirlo al grupo sudo.
- Deshabilitar el acceso del usuario root por 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 -d www.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.
- Instalar Webmin (y el módulo para Nginx):
Installing on Debian
How to install Webmin on Ubuntu 20.04
Abrir puerto 10000 en el cortafuegos
midominio.es:10000/
Instalar el módulo para Nginx
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 ejemplo.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 ejemplo.alumno.me" > ejemplo/index.html
instalar un certificado ssl:
// sustituir alumno.me por el dominio usado
sudo certbot --nginx -d ejemplo.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 en una carpeta 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.