En este tutorial te enseñaré como configurar de forma básica Ubuntu, el sistema operativo de Linux que es ampliamente usado como plataformas de aplicaciones de Servidor.
Consideraciones del Tutorial
Antes de empezar este tutorial te recomiendo considerar lo siguiente:
- En este tutorial estaré usando la ultima version de Ubuntu 22.04, pero la instalacion sirve tambien para otras versiones de Ubuntu (21.04, 20.04, y asi).
- En este tutorial estaré usando digitalocean para crear mi VPS (Virtual Private Server)
Sí aun no tienes una cuenta de DigitalOcean, puede registrarte con este enlace y obtener 100$ Gratis para que pruebes el servicio, o dando click en la siguiente imagen:
Crear un Proyecto de DigitalOcean
Lo primero que tienes que hacer es crear un Proyecto en DigitalOcean. En tu panel izquiero podras ver un boton que dice "New Project", simple da un click coloca algunos nombres y dale en "Create Project".
Creando un Droplet (VPS)
Los servidores en DigitalOcean tienen el nombre de Dropplets, asi que para que podamos crear nuestro primer servidor, vamos a ir en ese boton verde la parte superior y darle un click en "Create" y luego en "Droplets".
Las caracteristicas de nuestro servidor que escogeremos será:
- Sistema Operativo: Ubuntu 22.04
- Plan: Shared CPU
- CPU Options: Regular SSD (5$)
- Data Center Region: San Franciso
En el caso de la Autenticación usaremos las llaves SSH. Este es un metodo seguro para poder conectarnos.
Primero tendremos que generar nuestras llaves. Abre una consola y ejecuta el siguiente comando:
ssh-keygen
simplemente presional enter hasta que termine las preguntas.
y luego si ejecutan este comando podras ver tu clave publica:
cat ~/.ssh/id_rsa.pub
lo que muestre esta clave lo pegan en el recuadro de DigitalOcean.
Finalmente en Hostname, le colocan un nombre a su droplet, el que mas gusten, y le dan en Create Droplet.
Conectandonos a nuestro Servidor
Una vez terminado de crear nuestro Droplet, este generará una IP. Esta es la IP de nuestro Servidor.
Para poder conectarnos a nuestro servidor usaremos un comando que esta disponible en nuestro computador llamado ssh, mas la IP del servidor, que lucira de esta forma:
ssh root@laipdetutservidor
reemplaza en donde dice laipdetutservidor por la IP correcta.
Este comando te preguntara si confias en la conexion, escribes "yes" y continuas. Listo ya estas dentro de tu servidor.
Actualizando Nuestro Servidor
Ahora actualizaremos nuestro servidor de Ubuntu, ya que es una nueva instancia creada.
para actualizarlo podemos ejecutar:
sudo apt update && sudo apt upgrade -y
Este comando lo que hará es que buscara las nuevas versiones de los programas del sistema y los actualizara. el comando -y es simplemente para decirle que cuando nos pregunte la confirmacion responda con yes.
Si te aparece una ventana en el proceso de actualizacion simplemente presiona Enter
Creando un Usuario Nuevo
Cuando creamos un servidor nuevo, el usuario por defecto es el usuario root el cual tiene todo el control del sistema. Pero como recomendación es más seguro crear usuarios especiales que solo puedan hacer determinadas tareas en el servidor, por este motivo vamos a crear un usuario nuevo.
Para poder crear un usuario nuevo, ejecuta los siguientes comandos:
adduser fazt
El comando anterior te pedira que coloques informacion del nuevo usuario que vas a crear, como nombre, correo y principalmente una contraseña. Simplemente coloca un nombre y al resto dale enter, y al final escribes Y para aceptar.
Una vez creado tendras un usuario nuevo, pero con este usuario siempre tiene que ejecutar el comando sudo para alterar el sistema, así que vamos a añadirle permisos de administrador, con el siguiente comando:
usermod -aG sudo fazt
Copiando llaves SSH
Ahora es muy importnate tener en cuenta que si bien tenemos un usuario nuevo, para poder hacer uso de el, primero debemos conectarnos usando el usuario root, y luego cambiar al usuario fazt, lo que no es muy practico. Seria ideal que usando nuestro nuevo usario tambien nos podamos conectar a traves de SSH.
Así que lo que vamos a hacer es copiar la clave ssh del usuario root, al usuario fazt, para que tambien pueda conectarse sin problemas:
rsync --archive --chown=fazt:fazt ~/.ssh /home/fazt
Reemplaza
faztpor el nombre de tu usuario que has creado previamente.
Una vez copiada la clave, ya puedes cerrar la conexion con el servidor, y conectarte nuevamente:
ssh fazt@laipdetutservidor
Configurando Firewall
EL Firewall es un programa que no permite que nuestro servidor acepte cualquier tipo de conexión desde cualquier luegar sino que necesitamos especificarle con algunas reglas que progrmas estan autorizados.
ufw app list
ufw allow openSSH
ufw enable
ufw status
Instalando Programas
A partir de aqui, ya depende que programas necesiten instalar en su servidor, por ejemplo:
- Si van a desarrollar aplicaciones web, necesesitarn Servidores web como Apache o Nginx
- Si necesitan ejecutar programas, necesitaran instalar el interprete o compilador de su programa como Python, Nodejs, Java, Go, Rust, etc.
Y asi con cualquier otro programa. Tambien es posible configurar un Servidor VNC o de escritorio Remoto pero eso lo muestro en otro tutorial.
Ejemplo con Nginx
Por ejemplo, si visitamos nuestra IP, el servidor no respondera nada porque no hay un servidor, pero si instalamos un programa que procese estas peticiones como nginx, podremos ver una respuesta:
sudo apt install nginx
Ahora si visitamos nuestra ip, veremos una resputa, este servidor nos permite servir archivos HTML, por ejemplo.
tambien es posible desinstalarlo con:
sudo apt remove nginx # desinstala Nginx
sudo apt purge nginx # quita las configuraciones de nginx
sudo apt autoremove # quitas las dependencias sin uso
Eliminando Usuario de Linux
deluser <tuusuario>
More resources
Estos son otros enlaces que puedes usar, para encontrar más información