
Instalar y configurar un servidor Linux desde cero puede parecer complicado, pero con una ruta ordenada es una tarea totalmente alcanzable para principiantes. En esta guía aprenderás los pasos esenciales para preparar un servidor con Ubuntu Server o Debian, configurar red, usuarios, SSH, firewall, actualizaciones, seguridad básica y servicios iniciales como Nginx.
Linux es una de las bases más utilizadas para servidores web, aplicaciones, bases de datos, servicios en la nube, laboratorios de ciberseguridad y proyectos empresariales. Su estabilidad, flexibilidad, seguridad y gran comunidad lo convierten en una opción ideal para quienes desean aprender administración de sistemas desde cero.
Esta guía está pensada para principiantes. No necesitas ser experto, pero sí debes avanzar con cuidado, leer cada paso y entender qué estás configurando. Un servidor no es solo una computadora encendida: es un sistema que puede estar expuesto a internet, recibir conexiones remotas y alojar información importante.
El objetivo es que termines con un servidor Linux funcional, actualizado, con acceso remoto seguro, firewall activo y una base mínima para instalar servicios como un sitio web, una API, una base de datos o una aplicación interna.
Distribución recomendada
Ubuntu Server LTS o Debian estable.
Uso principal
Servidor web, aplicaciones, bases de datos o laboratorio.
Nivel
Principiante, paso a paso y con comandos básicos.
1. Antes de empezar: qué necesitas para instalar un servidor Linux
Antes de instalar Linux, debes definir dónde estará tu servidor. Puede ser una computadora física, una máquina virtual, un servidor en la nube o un equipo reciclado para laboratorio. La elección dependerá del uso que quieras darle.
Para principiantes, lo más recomendable es empezar con una máquina virtual o un VPS básico. Esto permite practicar sin poner en riesgo una computadora principal. Si vas a instalarlo en hardware físico, asegúrate de respaldar la información, porque el proceso puede borrar el disco.
También debes elegir una distribución. Para empezar, Ubuntu Server LTS es una de las opciones más amigables por su documentación, comunidad y compatibilidad. Debian es otra excelente alternativa, reconocida por su estabilidad y uso extendido en servidores.
Requisitos básicos recomendados
Procesador: 2 núcleos como mínimo para pruebas básicas.
Memoria RAM: 2 GB como mínimo; 4 GB o más si instalarás servicios adicionales.
Disco: 20 GB como mínimo para laboratorio; más si alojarás archivos o bases de datos.
Red: conexión estable a internet para actualizaciones e instalación de paquetes.
Imagen ISO: Ubuntu Server LTS o Debian estable, descargada desde su sitio oficial.
Advertencia importante: si vas a instalar Linux en una computadora física, realiza copia de seguridad antes de iniciar. El particionado del disco puede borrar datos existentes.
2. Elegir entre Ubuntu Server y Debian
Ubuntu Server y Debian son dos opciones muy usadas para servidores. Ambas son sólidas, gratuitas y tienen gran soporte comunitario. La diferencia principal está en la experiencia de uso y el ritmo de actualización.
Ubuntu Server suele ser más cómodo para principiantes porque ofrece documentación muy clara, paquetes recientes y versiones LTS con soporte extendido. Debian suele ser más conservador, estable y minimalista, ideal para quienes valoran sistemas muy sobrios y predecibles.
Para esta guía usaremos comandos compatibles con Ubuntu Server y Debian en la mayoría de casos. Cuando exista alguna diferencia, se indicará de forma sencilla.
| Distribución | Ventaja principal | Ideal para | Recomendación |
|---|---|---|---|
| Ubuntu Server LTS | Fácil para empezar, buena documentación y soporte amplio. | Principiantes, VPS, servidores web y aprendizaje. | Muy recomendado para comenzar. |
| Debian estable | Sistema robusto, estable y minimalista. | Servidores de larga duración y usuarios que prefieren máxima estabilidad. | Excelente opción si buscas sobriedad y control. |
3. Crear el medio de instalación
Si instalarás el servidor en una computadora física, necesitas crear un USB booteable. Para ello, descarga la imagen ISO de Ubuntu Server o Debian y usa una herramienta como Rufus, balenaEtcher o Ventoy.
Si usarás una máquina virtual, no necesitas USB. Solo debes crear una VM en VirtualBox, VMware, Proxmox, Hyper-V o la plataforma que prefieras, y montar la ISO como unidad de arranque.
En un VPS o servidor cloud, el proveedor normalmente permite elegir la imagen directamente desde su panel. En ese caso, solo seleccionas Ubuntu Server o Debian, defines recursos y esperas a que el servidor quede creado.
Consejo para principiantes: si es tu primera vez, instala Linux Server en una máquina virtual. Así puedes practicar, equivocarte y repetir el proceso sin afectar tu equipo principal.
4. Instalar Ubuntu Server o Debian paso a paso
El instalador puede variar según la distribución, pero el proceso general es similar. Debes seleccionar idioma, teclado, zona horaria, red, usuario, disco e instalación de paquetes básicos.
Durante la instalación, elige un nombre de host claro. Por ejemplo: srv-web01, servidor-linux o lab-ubuntu. Evita nombres confusos o demasiado largos.
Cuando el instalador pregunte por el disco, para laboratorio puedes usar el particionado automático. En producción, conviene planificar mejor las particiones, especialmente si separarás datos, logs o copias de seguridad.
Opciones recomendadas durante la instalación
Idioma: español o inglés, según tu comodidad técnica.
Teclado: configura correctamente para evitar errores de contraseña.
Red: usa DHCP al inicio, luego puedes asignar IP fija.
Usuario: crea un usuario administrador, no trabajes siempre como root.
OpenSSH: actívalo si necesitas administrar el servidor remotamente.
5. Primer inicio: actualizar el sistema
Después de instalar, lo primero es actualizar el sistema. Esto corrige errores, instala parches de seguridad y deja el servidor listo para configuraciones posteriores.
Inicia sesión con el usuario creado durante la instalación y ejecuta:
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
El comando apt update actualiza la lista de paquetes disponibles. apt upgrade instala actualizaciones. apt autoremove elimina paquetes que ya no son necesarios.
Buena práctica: actualiza el servidor antes de instalar servicios. Así reduces errores y evitas trabajar sobre paquetes antiguos.
6. Configurar un usuario administrador seguro
No es recomendable administrar el servidor permanentemente como root. Lo correcto es usar un usuario normal con permisos administrativos mediante sudo.
Si durante la instalación ya creaste un usuario, puedes verificar si tiene permisos sudo con:
groups
Si necesitas crear un nuevo usuario administrador, usa:
sudo adduser adminlinux
sudo usermod -aG sudo adminlinux
Luego prueba iniciar sesión con ese usuario. Antes de cerrar la sesión actual, verifica que el nuevo usuario pueda ejecutar comandos con sudo:
su - adminlinux
sudo whoami
Si el resultado es root, el usuario tiene permisos administrativos correctamente configurados.
7. Instalar y configurar SSH para acceso remoto
SSH permite administrar el servidor desde otra computadora de forma remota y segura. En Ubuntu Server muchas veces se puede instalar durante el proceso inicial; si no lo activaste, puedes instalarlo con:
sudo apt install openssh-server -y
sudo systemctl enable --now ssh
sudo systemctl status ssh
Para conectarte desde otra computadora, usa:
ssh usuario@IP_DEL_SERVIDOR
Ejemplo:
ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
8. Mejorar la seguridad de SSH
SSH es una puerta de entrada al servidor. Por eso debe configurarse con cuidado. Una práctica común es deshabilitar el acceso directo de root y usar autenticación con claves en vez de contraseñas.
Primero, haz una copia del archivo de configuración:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Luego edita el archivo:
sudo nano /etc/ssh/sshd_config
Busca o agrega estas líneas:
PermitRootLogin no
PasswordAuthentication yes
Para principiantes, puedes dejar temporalmente PasswordAuthentication yes. Más adelante, cuando configures claves SSH correctamente, puedes cambiarlo a no.
Antes de reiniciar SSH, valida la configuración:
sudo sshd -t
Si no muestra errores, reinicia el servicio:
sudo systemctl restart ssh
No cierres tu sesión actual de SSH sin probar otra conexión nueva. Si cometiste un error en la configuración, podrías quedarte sin acceso remoto al servidor.
9. Configurar una IP fija
En un servidor, conviene tener una IP estable. Si usas un VPS, normalmente el proveedor ya asigna una IP pública fija. Si estás en una red local, puedes fijar la IP desde el router o desde el propio sistema Linux.
En Ubuntu Server, la configuración de red suele gestionarse con Netplan. Primero identifica el nombre de la interfaz:
ip a
Luego revisa los archivos de Netplan:
ls /etc/netplan/
Ejemplo de configuración para IP fija:
sudo nano /etc/netplan/00-installer-config.yaml
network:
version: 2
ethernets:
enp0s3:
addresses:
- 192.168.1.50/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
Aplica los cambios con:
sudo netplan apply
Verifica conectividad:
ping -c 4 google.com
10. Activar el firewall con UFW
Un firewall controla qué conexiones pueden entrar al servidor. En Ubuntu Server, una opción sencilla es UFW, que permite abrir o cerrar puertos sin manejar reglas complejas.
Instala UFW si no está disponible:
sudo apt install ufw -y
Antes de activarlo, permite SSH para no perder acceso remoto:
sudo ufw allow OpenSSH
Activa el firewall:
sudo ufw enable
sudo ufw status verbose
Si vas a instalar un servidor web, abre HTTP y HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status
Regla de oro: abre solo los puertos que realmente necesitas. Un servidor básico normalmente requiere SSH, HTTP y HTTPS, según su función.
11. Instalar herramientas básicas de administración
Después de instalar y proteger el acceso inicial, conviene agregar herramientas útiles para administrar el servidor.
sudo apt install curl wget git vim nano htop net-tools unzip zip -y
Estas herramientas permiten descargar archivos, revisar procesos, editar configuraciones, clonar repositorios y diagnosticar red.
| Herramienta | Uso principal | Ejemplo |
|---|---|---|
| curl | Probar URLs o APIs desde terminal. | curl http://localhost |
| wget | Descargar archivos. | wget archivo.tar.gz |
| htop | Ver procesos, CPU y memoria. | htop |
| git | Clonar proyectos y controlar versiones. | git clone repositorio |
| net-tools | Herramientas clásicas de red. | netstat, ifconfig |
12. Instalar un servidor web con Nginx
Para comprobar que tu servidor puede publicar contenido web, instala Nginx. Es ligero, rápido y muy usado como servidor web o proxy inverso.
sudo apt install nginx -y
sudo systemctl enable --now nginx
sudo systemctl status nginx
Si tienes firewall activo, permite tráfico web:
sudo ufw allow 'Nginx Full'
sudo ufw status
Ahora abre en tu navegador:
http://IP_DEL_SERVIDOR
Si ves la página de bienvenida de Nginx, tu servidor web está funcionando.
13. Crear una página web de prueba
Para reemplazar la página por defecto, crea un archivo HTML simple:
sudo nano /var/www/html/index.html
Pega este contenido:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Servidor Linux funcionando</title>
</head>
<body>
<h1>Servidor Linux funcionando correctamente</h1>
<p>Esta página se sirve desde Nginx en Linux.</p>
</body>
</html>
Recarga el navegador. Si aparece tu mensaje, ya tienes tu primer contenido publicado desde Linux.
14. Configurar fecha, hora y zona horaria
La hora correcta es importante para logs, certificados SSL, tareas programadas, auditoría y seguridad. Revisa la hora actual:
timedatectl
Para configurar zona horaria, por ejemplo Lima:
sudo timedatectl set-timezone America/Lima
Verifica nuevamente:
timedatectl
15. Revisar servicios activos
En Linux, los servicios se administran con systemd. Puedes listar servicios activos con:
systemctl --type=service --state=running
Para revisar un servicio específico:
systemctl status nginx
systemctl status ssh
Comandos útiles:
sudo systemctl start nombre_servicio
sudo systemctl stop nombre_servicio
sudo systemctl restart nombre_servicio
sudo systemctl enable nombre_servicio
sudo systemctl disable nombre_servicio
16. Revisar logs del sistema
Los logs ayudan a encontrar errores, detectar fallas y revisar actividad del servidor. Para ver logs generales:
journalctl -xe
Para revisar logs de Nginx:
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log
Para revisar intentos de acceso SSH:
sudo journalctl -u ssh
Buena práctica: aprende a leer logs desde el inicio. En administración Linux, muchos problemas se resuelven revisando el mensaje de error correcto.
17. Instalar actualizaciones automáticas de seguridad
Un servidor debe mantenerse actualizado. Para principiantes, una buena opción es habilitar actualizaciones automáticas de seguridad.
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure unattended-upgrades
Selecciona Sí cuando el sistema pregunte si deseas activar actualizaciones automáticas.
Aun así, conviene revisar manualmente el servidor de forma periódica:
sudo apt update
apt list --upgradable
18. Crear copias de seguridad básicas
Un servidor sin copias de seguridad está en riesgo. Puedes perder información por errores humanos, fallas de disco, actualizaciones problemáticas o malas configuraciones.
Para empezar, puedes copiar carpetas importantes con rsync:
sudo apt install rsync -y
sudo rsync -av /var/www/ /backup/www/
Si tienes bases de datos, también debes respaldarlas. Por ejemplo, con MySQL o MariaDB:
mysqldump -u usuario -p nombre_bd > backup.sql
Qué debes respaldar
Archivos web: /var/www/ o la carpeta donde alojas tu aplicación.
Configuraciones: /etc/nginx/, /etc/ssh/, archivos de servicios y variables de entorno.
Bases de datos: MySQL, MariaDB, PostgreSQL u otras.
Certificados: archivos SSL si gestionas sitios con HTTPS.
19. Checklist final de configuración básica
Antes de considerar listo tu servidor, revisa esta lista. No necesitas instalar todo el mismo día, pero sí conviene completar estos puntos si el servidor estará expuesto a internet.
| Elemento | Comando o acción | Estado recomendado |
|---|---|---|
| Sistema actualizado | sudo apt update && sudo apt upgrade | Completo. |
| Usuario sudo | usermod -aG sudo usuario | Configurado. |
| SSH activo | systemctl status ssh | Activo y probado. |
| Root por SSH deshabilitado | PermitRootLogin no | Recomendado. |
| Firewall activo | sudo ufw status | Activo con puertos mínimos. |
| Servidor web | systemctl status nginx | Activo si alojarás web. |
| Copias de seguridad | rsync, snapshots o backups del proveedor | Programadas. |
20. Errores comunes al configurar un servidor Linux
Los principiantes suelen cometer errores repetidos. Conocerlos ayuda a evitarlos desde el inicio.
Errores que debes evitar
Usar root para todo: aumenta el riesgo de errores graves.
No activar firewall: deja servicios innecesarios expuestos.
No actualizar: mantiene vulnerabilidades conocidas.
No hacer backups: cualquier error puede causar pérdida de información.
Abrir demasiados puertos: aumenta la superficie de exposición.
No documentar cambios: dificulta solucionar problemas en el futuro.
Qué puedes instalar después
Una vez que tu servidor Linux está funcionando, puedes instalar distintos servicios según tu objetivo. No instales todo de golpe. Empieza con lo necesario y documenta cada cambio.
Servidor web
Nginx o Apache para publicar sitios y aplicaciones.
Base de datos
MariaDB, MySQL o PostgreSQL para aplicaciones dinámicas.
Aplicaciones
Node.js, Python, PHP, Java, Docker o servicios internos.
Ruta recomendada de aprendizaje para principiantes
Después de instalar tu primer servidor, no intentes aprender todo al mismo tiempo. La administración Linux se domina por práctica gradual.
| Etapa | Qué aprender | Objetivo |
|---|---|---|
| Básico | Comandos, usuarios, permisos, archivos y paquetes. | Moverte con seguridad en terminal. |
| Red | IP, DNS, puertos, firewall y SSH. | Administrar conectividad y acceso remoto. |
| Servicios | Nginx, bases de datos, logs y systemd. | Publicar aplicaciones y mantenerlas activas. |
| Seguridad | Actualizaciones, backups, hardening y monitoreo. | Reducir riesgos y proteger el servidor. |
Conclusión
Instalar y configurar un servidor Linux desde cero es una de las mejores formas de aprender administración de sistemas. Con Ubuntu Server o Debian puedes construir una base sólida para servidores web, aplicaciones, bases de datos, laboratorios y proyectos profesionales.
Los pasos esenciales son claros: instalar el sistema, actualizar paquetes, crear un usuario administrador, configurar SSH, activar firewall, revisar servicios, instalar herramientas básicas, probar un servidor web y preparar copias de seguridad.
La clave no es hacerlo todo perfecto el primer día, sino avanzar con orden y seguridad. Un servidor Linux bien configurado desde el inicio será más estable, más seguro y mucho más fácil de administrar con el tiempo.



