Cosas de PHPInformáticaLinuxUtilidades linux

Màquina virtual a VirtualBox amb Ubuntu Server i un servidor LAMP



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

  1. Ves al web oficial, virtualbox.org.
  2. Descarrega la versió per al teu sistema operatiu (Windows, macOS o Linux).
  3. 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

  1. Ves a la pàgina oficial d’Ubuntu (ubuntu.com) i entra a la secció de descàrregues de Ubuntu Server.
  2. Descarrega la versió LTS més recent (ara, la 26.04 LTS, amb suport de cinc anys), per a amd64.
  3. Desa el fitxer ISO en un lloc fàcil de trobar.

Pas 3: crear la màquina virtual

  1. Obre VirtualBox i fes clic a Nova.
  2. Posa-li un nom (per exemple, Ubuntu-Server) i selecciona la ISO que has baixat. VirtualBox detecta que és Ubuntu de 64 bits.
  3. 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ó.
  4. Assigna-hi com a mínim 2 GB de RAM (millor 4 GB si en tens prou) i 2 CPU.
  5. Crea un disc dur virtual d’almenys 20 GB. Si és de mida dinàmica, només ocuparà el que faci servir.
  6. 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

  1. Arrenca la màquina virtual: començarà des de la ISO.
  2. Segueix l’instal·lador: tria l’idioma i la distribució del teclat.
  3. A la configuració de xarxa, deixa DHCP (el més senzill per començar) o assigna-hi una IP estàtica.
  4. Crea el teu usuari: tindrà permisos d’administrador amb sudo.
  5. Quan t’ho pregunti, marca Install OpenSSH server: així ja tindràs l’accés remot a punt.
  6. 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

  1. Des d’un altre equip, obre un navegador i ves a http://192.168.1.50.
  2. Si veus la pàgina d’Apache, el servidor web funciona correctament.
  3. Per a la base de dades, tingues en compte que MySQL només escolta a 127.0.0.1 per 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.

Posts relacionats