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:

DigitalOcean Referral Badge

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 fazt por 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