WordPress

WordPress és el sistema de gestió de continguts (CMS) més utilitzat mundialment, emprat tant per a blogs personals com per a portals corporatius i botigues en línia. Aquest document mostra com desplegar WordPress en un servidor Ubuntu 26.04 fent servir la pila LAMP (Linux, Apache, MariaDB, PHP) i com protegir l’accés amb un certificat SSL autosignat.

WordPress logo

Objectius

Requisits previs

💡
Nota

Aquest document s’ha provat sobre Ubuntu Server 26.04 LTS. Els noms dels paquets i les rutes de configuració poden variar lleugerament en altres versions.

1. Actualitza el sistema

Abans d’instal·lar cap paquet, és recomanable actualitzar el dipòsit i els paquets existents.

Actualitza la llista de paquets:

sudo apt update

Actualitza els paquets instal·lats:

sudo apt upgrade

2. Instal·la Apache

Apache serà el servidor web encarregat de servir les pàgines de WordPress.

sudo apt install apache2

Un cop instal·lat, comprova que el servei estigui actiu:

sudo systemctl status apache2

Sortida:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-06-18 17:03:09 UTC; 11s ago
 Invocation: 9ace4398278b4dbe94198122be737116
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 9149 (apache2)
     Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec:   0 B/sec"
      Tasks: 55 (limit: 1703)
     Memory: 5.7M (peak: 5.9M)
        CPU: 38ms
     CGroup: /system.slice/apache2.service
             ├─9149 /usr/sbin/apache2 -k start -DFOREGROUND
             ├─9165 /usr/sbin/apache2 -k start -DFOREGROUND
             └─9166 /usr/sbin/apache2 -k start -DFOREGROUND

Si no està actiu, engega’l i habilita’l per a l’arrencada:

sudo systemctl enable --now apache2

2.1 Configura el tallafocs (UFW)

Si el tallafocs ufw està actiu, cal permetre el trànsit web:

sudo ufw allow 'Apache Full'

Apache Full habilita tant el port 80 (HTTP) com el 443 (HTTPS), que faràs servir més endavant.

Sortida:

Rules updated
Rules updated (v6)

2.2. Comprova

Des d’un navegador, accedeix a http://IP_DEL_SERVIDOR. Hauries de veure la pàgina per defecte d’Apache.

Consell

Per saber la IP del servidor podeu fer servir ip a o hostname -I.

3. Instal·la MariaDB

MariaDB serà el sistema gestor de bases de dades on s’emmagatzemarà tota la informació de WordPress (entrades, usuaris, configuració, etc.).

sudo apt install mariadb-server

Un cop instal·lat, assegura’l:

sudo mariadb-secure-installation

Respon afirmativament a totes les preguntes (establir contrasenya root, eliminar usuaris anònims, desactivar accés remot de root, eliminar la base de dades de test i recarregar privilegis).

4. Crea la base de dades per a WordPress

Accedeix a la consola de MariaDB com a root:

sudo mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 11.8.6-MariaDB-5 from Ubuntu -- Please help get to 10k stars at https://github.com/MariaDB/Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

Dins de la consola SQL, crea la base de dades, l’usuari i assigna-li els privilegis necessaris:

CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO usuari@localhost IDENTIFIED BY 'ContrasenyaSegura123!';
FLUSH PRIVILEGES;
QUIT;
⚠️
Avís

Substitueix ContrasenyaSegura123! per una contrasenya robusta i no la deixis mai per defecte en un entorn de producció.

5. Instal·la PHP i les extensions necessàries

WordPress necessita PHP i diverses extensions per funcionar correctament:

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd \
  php-mbstring php-xml php-xmlrpc php-zip php-apcu php-bcmath \
  php-bz2 php-ctype php-dom php-fileinfo php-ftp php-gmp php-imagick \
  php-intl php-ldap php-memcached php-posix php-simplexml 

5.1 Comprova la versió de PHP

php -v

Sortida:

PHP 8.5.4 (cli) (built: May 25 2026 12:19:37) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.4, Copyright (c), by Zend Technologies

6. Descarrega i configura WordPress

6.1. Descarrega

Situa’t en un directori temporal i descarrega l’última versió de WordPress:

cd /tmp
wget https://ca.wordpress.org/latest-ca.zip

6.2. Descomprimeix

sudo unzip latest-ca.zip -d /var/www/html
💡
Nota

Si no tens unzip instal·lat:

sudo apt install unzip

6.3. Esborra el fitxer d’instal·lació

rm latest-ca.zip

6.4. Permisos

Assigna la propietat dels fitxers a l’usuari d’Apache (www-data) i ajusta els permisos:

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo find /var/www/html/wordpress/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress/ -type f -exec chmod 644 {} \;

7. Genera el certificat autosignat

Genera la clau privada i el certificat (vàlid 365 dies):

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/private/wordpress.key \
  -out /etc/ssl/certs/wordpress.crt \
  -subj "/C=ES/ST=Barcelona/L=Mataró/O=IES Thos i Codina/OU=ASIX/CN=wordpress.thos.local" 

8. Configura Apache (Virtual Host)

8.1. Crea la configuració HTTP (redirecció)

Crea un fitxer de configuració de virtual host específic per a WordPress.

sudo nano /etc/apache2/sites-available/wordpress.conf

Contingut del fitxer:

<VirtualHost *:80>
    ServerName wordpress.thos.local
    Redirect permanent / https://wordpress.thos.local
    
    ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
    CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>

8.2. Configura el Virtual Host SSL

sudo nano /etc/apache2/sites-available/wordpress-ssl.conf

Contingut:

<VirtualHost *:443>
    ServerAdmin admin@thos.local
    ServerName wordpress.thos.local    
    DocumentRoot /var/www/html/wordpress

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/wordpress.crt
    SSLCertificateKeyFile /etc/ssl/private/wordpress.key

    <FilesMatch "\.(?:cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/wordpress_ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/wordpress_ssl_access.log combined
</VirtualHost>

Activa el lloc:

sudo a2ensite wordpress.conf wordpress-ssl.conf

Activa els mòduls:

sudo a2enmod ssl rewrite headers env dir mime 

Reinicia Apache:

sudo systemctl restart apache2

9. Assistent d’instal·lació web de WordPress

Modifica el fitxer /etc/hosts del client (una màquina amb entorn gràfic instal·lat):

sudo nano /etc/hosts
IP_DEL_SERVIDOR wordpress.thos.local

Amb tot configurat, accedeix al navegador:

https://wordpress.thos.local
⚠️
Avís

Com que el certificat és autosignat, els navegadors mostraran un avís de seguretat indicant que la connexió no és de confiança. Això és normal en entorns de proves o intranet; per a producció es recomana un certificat emès per una autoritat de certificació (per exemple, mitjançant Let’s Encrypt).

Avís de seguretat

Acceptem el risc

Assistent d’instal·lació

Es mostrarà l’assistent d’instal·lació de WordPress, on caldrà indicar:

Connexió a la base de dades

Executa la instal·lació

Instal·lació correcta

En aquest punt cal indicar:

Accés amb l’usuari administrador

Un cop completat l’assistent, WordPress ja estarà operatiu.

Tauler de control

10. Comprovacions finals

Versions d’aquest document

Domini Públic (CC0)