Instalar paquetes en Ubuntu con APT

Resumen

Aprender a instalar paquetes en Ubuntu con APT es el primer paso para administrar un servidor real. Aquí verás cómo usar el gestor de paquetes por defecto, actualizar el sistema, instalar Nginx y personalizar su mensaje de bienvenida desde la terminal, ideal si estás dando tus primeros pasos en despliegues con Python.

¿Qué es APT y por qué viene con Ubuntu?

Cuando elegimos Ubuntu como sistema operativo del servidor, también heredamos sus herramientas preinstaladas. Una de las más importantes es APT, el gestor de paquetes por defecto que te permite instalar, reinstalar y eliminar software sin tener que rastrear manualmente cada dependencia.

Antes se llamaba apt-get, pero fue renombrado a apt para simplificar su uso [02:14]. Si ejecutas el comando con la bandera --help, verás la versión, una descripción corta y los comandos más usados: list, search, install, reinstall, remove, update y upgrade.

Otro detalle útil: la imagen base de Ubuntu ya trae Python 3 preinstalado. Como la versión está al día, podemos usarla sin reconfigurar nada.

¿Qué hace APT en Ubuntu? Es el gestor de paquetes oficial. Te deja instalar, actualizar y desinstalar software desde la terminal con un solo comando, resolviendo dependencias automáticamente.

¿Cómo actualizo la lista de paquetes con sudo apt update?

El primer comando que deberías correr en un servidor nuevo es sudo apt update. Este actualiza la lista de software disponible, no el software en sí.

Si lo ejecutas sin sudo, recibirás un error de permisos denegados. La razón es simple: estás modificando el servidor, así que necesitas privilegios de superusuario. Eso hace sudo, que significa superuser do [03:30].

Después de correrlo, APT accede a varias URLs (por eso el servidor necesita Internet) y al final muestra un resumen. En la demo aparecieron 29 paquetes actualizables.

¿Cuál es la diferencia entre apt update y apt upgrade?

  • apt update: refresca la lista de paquetes disponibles y sus versiones.
  • apt upgrade: instala las nuevas versiones de los paquetes ya instalados.
  • apt list --upgradable: muestra qué paquetes se actualizarán antes de aplicar cambios.

En producción, antes de correr sudo apt upgrade, revisa siempre la lista. Si por ejemplo Nginx va a actualizarse y reinicia el servicio, podrías cortar tráfico real sin querer.

Un tip de la terminal: cuando APT te pregunte Do you want to continue? [Y/n], la letra en mayúscula es la opción por defecto al presionar Enter. Tras la actualización, a veces verás un mensaje que pide reiniciar con sudo reboot.

¿Cómo instalo Nginx y personalizo su mensaje de bienvenida?

Para instalar un paquete necesitas su nombre. En este caso usamos Nginx, un servidor web que sirve archivos HTML o respuestas configuradas.

El comando es:

bash sudo apt install nginx

APT te muestra todas las dependencias que se instalarán automáticamente. Esa es una de sus mayores ventajas: no tienes que conocer la cadena completa de dependencias.

Una vez instalado, verifica el estado del servicio:

bash sudo service nginx status

Un punto verde indica que el servidor está corriendo. Si copias la IP pública del servidor en el navegador, verás el mensaje Welcome to Nginx, la página por defecto.

¿Cómo verifico si Nginx está corriendo? Ejecuta sudo service nginx status. Si ves un punto verde y active (running), el servicio está activo. También puedes abrir la IP del servidor en el navegador.

¿Dónde edito la configuración de Nginx?

La configuración del sitio por defecto está en /etc/nginx/sites-available/default. Para abrirla con Vim:

bash sudo vim /etc/nginx/sites-available/default

Dentro del archivo verás bloques como location y la configuración SSL comentada. En el bloque location / puedes reemplazar el contenido para devolver una respuesta personalizada [09:45]:

nginx location / { return 200 "Hello from the Platzi Python Deployments course."; add_header Content-Type text/plain; }

Para borrar líneas en Vim, presiona Escape para salir del modo inserción y usa dd para eliminar la línea actual. Guarda con :wq.

¿Cómo valido y aplico cambios sin romper el servidor?

Nginx incluye un comando para probar la configuración antes de aplicarla:

  • sudo nginx -t: valida la sintaxis del archivo y confirma si es correcta.
  • sudo service nginx restart: reinicia el servicio para cargar los cambios.
  • sudo service nginx status: confirma que sigue activo tras el reinicio.

Al recargar la IP en el navegador, ahora aparece el mensaje personalizado. Esto demuestra que tu cambio en el bloque location está sirviéndose en vivo.

¿Qué sigue para desplegar una app de Python con Django?

La meta no es servir un mensaje plano, sino una aplicación real escrita en Django, que se comunica con Nginx mediante WSGI. Para clonar el código al servidor usaremos Git.

Al correr sudo apt install git, APT responde que ya está instalado. Esto es coherente con la imagen base de Ubuntu, que trae varias herramientas listas para usar.

Con APT dominado, Nginx corriendo y Git disponible, tu servidor está listo para recibir código Python real. Te dejo un reto: crea una nueva configuración de Nginx que muestre un mensaje propio en la IP de tu servidor y compártelo en los comentarios.