En aquesta guia t’explico pas a pas com crear una màquina virtual a VirtualBox, instal·lar-hi Ubuntu Server i configurar-hi un servidor LAMP (Linux, Apache, MySQL, PHP). És un entorn ideal per aprendre i per provar aplicacions web sense tocar cap servidor real.
Pas 1: descarregar i instal·lar VirtualBox
- Ves al web oficial, virtualbox.org.
- Descarrega la versió per al teu sistema operatiu (Windows, macOS o Linux).
- Executa l’instal·lador i segueix les instruccions de la pantalla.
Si el teu ordinador és Linux, el més pràctic és instal·lar-lo des del repositori d’Oracle amb apt: ho tens explicat a la guia d’instal·lació de VirtualBox a Linux.
Pas 2: descarregar la imatge ISO d’Ubuntu Server
- Ves a la pàgina oficial d’Ubuntu (ubuntu.com) i entra a la secció de descàrregues de Ubuntu Server.
- Descarrega la versió LTS més recent (ara, la 26.04 LTS, amb suport de cinc anys), per a amd64.
- Desa el fitxer ISO en un lloc fàcil de trobar.
Pas 3: crear la màquina virtual
- Obre VirtualBox i fes clic a Nova.
- Posa-li un nom (per exemple,
Ubuntu-Server) i selecciona la ISO que has baixat. VirtualBox detecta que és Ubuntu de 64 bits. - Si l’assistent et proposa la instal·lació desatesa (unattended), desactiva-la per seguir els passos d’aquesta guia i controlar tu la instal·lació.
- Assigna-hi com a mínim 2 GB de RAM (millor 4 GB si en tens prou) i 2 CPU.
- Crea un disc dur virtual d’almenys 20 GB. Si és de mida dinàmica, només ocuparà el que faci servir.
- Quan estigui creada, ves a Configuració → Xarxa i canvia l’adaptador 1 a Adaptador pont (Bridged Adapter), triant la targeta de xarxa del teu ordinador. Així la màquina virtual tindrà una IP pròpia a la xarxa local i hi podràs accedir des d’altres equips. Amb el mode NAT per defecte, la màquina té internet, però des de fora no s’hi pot arribar.
Pas 4: instal·lar Ubuntu Server
- Arrenca la màquina virtual: començarà des de la ISO.
- Segueix l’instal·lador: tria l’idioma i la distribució del teclat.
- A la configuració de xarxa, deixa DHCP (el més senzill per començar) o assigna-hi una IP estàtica.
- Crea el teu usuari: tindrà permisos d’administrador amb
sudo. - Quan t’ho pregunti, marca Install OpenSSH server: així ja tindràs l’accés remot a punt.
- Acaba la instal·lació i reinicia quan t’ho demani (si cal, treu la ISO de la unitat virtual).
Configurar SSH per a l’accés remot
Si no has marcat OpenSSH durant la instal·lació, instal·la’l ara:
sudo apt update && sudo apt install openssh-server -y
Comprova que funciona:
sudo systemctl status ssh
A les versions recents d’Ubuntu, SSH s’activa per sòcol (socket activation): el servei ssh pot sortir com a inactive (dead) amb la línia TriggeredBy: ssh.socket fins a la primera connexió. És normal; el que ha d’estar actiu és ssh.socket (sudo systemctl status ssh.socket).
Busca la IP de la màquina virtual:
ip -4 addr
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.50/24 metric 100 brd 192.168.1.255 scope global dynamic enp0s3
En aquest exemple, la IP és 192.168.1.50. Des d’un altre equip de la mateixa xarxa, connecta-t’hi:
ssh usuari@192.168.1.50
Crear un altre usuari amb permisos de sudo (opcional)
L’usuari que has creat durant la instal·lació ja pot fer servir sudo. Si en vols un altre:
sudo adduser joan
sudo usermod -aG sudo joan
su - joan
Pas 5: configurar el servidor LAMP
1. Instal·lar Apache
sudo apt install apache2 -y
Comprova que respon obrint http://192.168.1.50 (la IP de la teva màquina) en un navegador: has de veure la pàgina per defecte d’Apache («Apache2 Default Page»). També ho pots comprovar des de la mateixa màquina amb curl -I http://localhost.
2. Instal·lar MySQL
sudo apt install mysql-server -y
I executa l’script de configuració segura, que et deixa treure els usuaris anònims, la base de dades de proves i l’accés remot de root:
sudo mysql_secure_installation
A Ubuntu, l’usuari root de MySQL s’autentica amb el sistema (connector auth_socket): hi entres amb sudo mysql, sense contrasenya. Per a les aplicacions, no facis servir root; crea una base de dades i un usuari propis:
sudo mysql
CREATE DATABASE web CHARACTER SET utf8mb4;
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'una-contrasenya-forta';
GRANT ALL PRIVILEGES ON web.* TO 'webuser'@'localhost';
EXIT;
Si fas servir Debian en lloc d’Ubuntu: Debian no inclou MySQL, sinó MariaDB, que és compatible. Instal·la mariadb-server i fes servir sudo mariadb-secure-installation i sudo mariadb. La resta de la guia és igual.
3. Instal·lar PHP
sudo apt install php libapache2-mod-php php-mysql -y
Això instal·la la versió de PHP de la teva distribució (8.5 a Ubuntu 26.04, 8.3 a Ubuntu 24.04, 8.4 a Debian 13). Comprova-ho amb php -v.
Per verificar que Apache executa PHP, crea el fitxer /var/www/html/info.php:
sudo nano /var/www/html/info.php
amb aquest contingut:
<?php
phpinfo();
I obre http://192.168.1.50/info.php al navegador: has de veure la pàgina d’informació de PHP.
Quan hagis acabat, esborra’l (sudo rm /var/www/html/info.php): mostra molta informació del servidor que no ha de quedar a la vista.
4. El tallafoc (si el fas servir)
Ubuntu Server porta ufw instal·lat però desactivat. Si l’actives, obre abans SSH i el web, o et quedaràs fora:
sudo ufw allow OpenSSH
sudo ufw allow "Apache Full"
sudo ufw enable
Apache Full obre els ports 80 i 443; si només vols HTTP, fes servir Apache.
Pas 6: proves des d’un altre ordinador de la xarxa
- Des d’un altre equip, obre un navegador i ves a
http://192.168.1.50. - Si veus la pàgina d’Apache, el servidor web funciona correctament.
- Per a la base de dades, tingues en compte que MySQL només escolta a
127.0.0.1per defecte, així que un client extern no s’hi podrà connectar. La manera més segura és fer-ho a través d’un túnel SSH, sense obrir el port 3306:
ssh -L 3306:127.0.0.1:3306 usuari@192.168.1.50
Mentre aquesta connexió estigui oberta, el teu client de bases de dades es pot connectar a 127.0.0.1:3306 del teu ordinador amb l’usuari webuser. Si de debò necessites accés directe, hauràs de canviar bind-address a /etc/mysql/mysql.conf.d/mysqld.cnf i crear l’usuari per a la IP o la xarxa des d’on et connectaràs (no amb '%' a tot arreu).
Conclusió
Amb aquests passos tens una màquina virtual amb un servidor LAMP funcional. A partir d’aquí ja pots començar a desenvolupar i allotjar aplicacions web al teu servidor Ubuntu. El pas següent natural és posar-hi HTTPS i reforçar la configuració d’Apache.