Universidad Privada del Este
Facultad de Ciencias de la Informática · Sede Ciudad del Este
GUÍA DE LABORATORIO

Montaje de un servidor web completo

VirtualBox · Ubuntu Server · Apache · PHP · MariaDB · Sitios web / Moodle
servidor: clasex usuario: master contraseña: 2026
0 / 0
Antes de empezar

¿Quién sos?

Se pide una sola vez y acompaña a todas tus respuestas.

Objetivo del laboratorio

Instalar y configurar, desde cero, un servidor web sobre una máquina virtual: crear la VM en VirtualBox, instalar Ubuntu Server, configurar la conexión remota, montar Apache + PHP + MariaDB con el firewall habilitado y, finalmente, publicar uno o varios sitios web (incluida una instalación opcional de Moodle).
1

Preparar la máquina virtual (VirtualBox)

Crear y configurar la VM antes de instalar el sistema

Crear la máquina virtual

  • ✓Crear una nueva MV (nombre de ejemplo: ubuntuserver; tipo Linux / Ubuntu 64-bit).
  • ✓Memoria recomendada: 1024 MB a 2048 MB.
  • ✓Crear un disco duro virtual: formato VDI, reservado dinámicamente, 25 a 30 GB.
La VM se guarda en tu carpeta de usuario, dentro de «VirtualBox VMs», con el nombre que pusiste al inicio.

Verificar la configuración antes de instalar

Seleccioná la MV → botón Configuración y revisá pestaña por pestaña.
  • ✓General: nombre, tipo y versión (arquitectura x86 o x64).
  • ✓Sistema: memoria base y orden de arranque (el disquete no es necesario). Activar I/O APIC y Reloj de hardware para mejor rendimiento; agregar núcleos extra de procesador si se puede.
  • ✓Pantalla: aumentar la memoria de video a 64 MB.
  • ✓Almacenamiento: dejar genérico.
  • ✓Red: habilitar un adaptador en modo Adaptador puente. Nombre: Realtek PCIe · Tipo: Intel PRO/1000 · Modo promiscuo: Permitir todo (elegir la placa según sea wifi o cable).
Nota: activar Características avanzadas dificulta migrar la VM a otros equipos más adelante.
2

Instalar Ubuntu Server

Instalación del sistema operativo y particionado

Arranque e idioma

  • ✓Al iniciar la MV, buscar la .iso de Ubuntu Server, añadirla y seleccionarla.
  • ✓Idioma: Español · continuar sin actualizaciones.
  • ✓Teclado: español latinoamericano.
  • ✓Verificar que tiene una IP y anotarla para futuras conexiones.
  • ✓Sin proxy · usar el Ubuntu archive mirror genérico.

Particionado personalizado del disco

Sobre un disco de 30 GB sin formato. Desplazarse con Tabulador y seleccionar con la Barra espaciadora.
ParticiónFormato / usoTamaño
swapmemoria virtual2 G
/ (root)ext48 G
homecarpeta del usuario10 G
bootarchivos de arranque1 G
Confirmar y continuar con el formateo. Se recomienda dejar siempre algo de espacio libre.

Perfil, SSH y primer arranque

Nombre: Nombre y Apellido del alumno (no del vecino)
Nombre de servidor: clasex
Usuario: master
Contraseña: 2026
  • ✓Rechazar Ubuntu Pro.
  • ✓Instalar el servidor OpenSSH.
  • ✓Instalar sin actualizar.
Primer error habitual: expulsar la .iso de Ubuntu para poder continuar con el arranque y luego reiniciar.

Contraseña de root y red

$ sudo passwd root # seña actual: la de master (2026) # nueva seña de root: 2026 → confirmar
Iniciar la red y reiniciar el servidor.
3

Configurar el servidor

Conexión remota, Apache, PHP y MariaDB

Conexión remota con PuTTY

Al iniciar por primera vez el servidor muestra su IP. Ese valor cambia según la red (casa, trabajo, facultad).
  • ✓En PuTTY cargar la IP del servidor virtual y presionar Open.
  • ✓La primera vez aparece un aviso: aceptar para guardar la llave de conexión.
  • ✓Probar el entorno con el monitor de procesos:
$ htop

Actualizar el sistema (como root)

$ su -- $ sudo apt update $ sudo apt upgrade -y $ reboot now

Apache — servidor web

$ ufw status $ sudo apt-get install apache2
Luego de instalar hay que reiniciar sí o sí; PuTTY queda inactivo hasta que el servidor vuelve a iniciar.
  • ✓Probar Apache: abrir el navegador de tu PC y colocar la IP del servidor en la barra de direcciones → debe verse la página predeterminada de Apache.
$ sudo ufw allow 'Apache' $ sudo ufw allow 'OpenSSH' $ sudo systemctl status apache2 $ ufw app list

PHP (repositorio ondrej)

$ sudo apt update && sudo apt upgrade -y # reiniciar la máquina virtual $ sudo apt install software-properties-common apt-transport-https -y $ sudo add-apt-repository ppa:ondrej/php -y $ sudo apt install php -y $ sudo systemctl restart apache2 $ sudo apt install php libapache2-mod-php -y $ php -v
Opcional — módulos frecuentes: mysql, zip, gd, mbstring, curl, xml, bcmath, intl, soap, xmlrpc. Listar los módulos activos con php -m y reiniciar Apache.

MariaDB — base de datos

$ sudo apt update $ sudo apt install mariadb-server $ sudo mysql_secure_installation
  • ✓Dar Enter · no cambiar la contraseña de root · responder «n».
  • ✓Remover usuarios anónimos.
  • ✓Deshabilitar el acceso remoto de root.
  • ✓Eliminar la base de datos de prueba.
  • ✓Recargar los privilegios (reload tables).
Reiniciar el servidor virtual e iniciar como root para utilizar MariaDB.
4

Publicar sitios web

Carpetas, WinSCP y (opcional) Moodle

Carpeta del sitio y transferencia con WinSCP

  • ✓Ubicar el sitio dentro de /var/www/html/<nombre-del-proyecto>.
  • ✓Subir los archivos a /home/master usando WinSCP (copiar desde la PC al servidor virtual).
$ mkdir /var/www/html/web1 web2 web3 $ chmod -R 777 web1 web2 web3 template $ ls -la

Opcional — Instalar Moodle

Requiere Moodle 4.x. Descargar el paquete y descomprimirlo dentro de /var/www/html/.
$ wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.tgz # alternativa: curl -L -o moodle-latest-405.tgz <misma-URL> $ sudo tar xf moodle-latest-405.tgz -C /var/www/html/ $ sudo mkdir /home/moodledata $ sudo chown www-data: /var/www/html/moodle/
En MariaDB (como root) crear la base y el usuario:
$ create database moodle character set utf8mb4 collate utf8mb4_unicode_ci; $ create user admin@localhost identified by 'hendy2025'; $ grant all privileges on moodle.* to admin@localhost; $ FLUSH PRIVILEGES;
Configurar PHP: max_input_vars = 5000 · post_max_size = 4096 · upload_max_filesize = 4096.
  • ✓Instalar por web desde http://<IP-del-server>/moodle/install.php
  • ✓Dirección web: http://<IP-del-server>/moodle
  • ✓Directorio de Moodle: /var/www/html/moodle · Directorio de datos: /home/data
$ sudo chmod 777 /var/www/html/moodle/theme/ -R
✓

Checklist de entrega

🎉 ¡Laboratorio completado! Todos los ítems verificados.
Para finalizar

Guardar y descargar

Se registran tus datos y los ítems marcados en la planilla del curso (pestaña clase02) y se descarga una copia en tu dispositivo.