Mario Fernández Gálvez
Instal·lació i configuració del SW necessari

Instal·lació i configuració del SW necessari

Instal·lació i configuració de software a Debian 13

Guia completa per a principiants — Actualització del sistema, eines essencials, servidor web, base de dades, PHP, Git, Firewall i SSH

📝 Continguts d’aquesta guia

  1. Pas 1 — Actualitzar el sistema abans d’instal·lar res (apt update + upgrade)
  2. Pas 2 — Instal·lar eines essencials (curl, wget, net-tools, nano, vim, git)
  3. Pas 3 — Instal·lar i configurar el servidor web Apache (Apache2)
  4. Pas 4 — Instal·lar i configurar la base de dades MariaDB (MySQL compatible)
  5. Pas 5 — Instal·lar i configurar PHP (PHP 8 + mòduls essencials)
  6. Pas 6 — Instal·lar i configurar el Firewall (UFW)
  7. Pas 7 — Instal·lar i configurar SSH (accés remot segur)
  8. Pas 8 — Verificació final de tot el sistema

⚠ Abans de començar

  • Debian 13 instal·lat i funcionant al teu ordinador.
  • Connexió a internet activa — totes les instal·lacions descarreguen paquets de la xarxa.
  • Accés a root o sudo — necessites permisos d’administrador. Obre el terminal i executa su – per accedir com a root.
  • Temps estimat: 30–60 minuts per completar tota la guia.
1
Actualitzar el sistema
Sempre el primer pas abans d’instal·lar qualsevol software

Abans d’instal·lar qualsevol programa, cal assegurar-se que la llista de paquets del sistema i tots els programes existents estan al dia. Això evita errors de compatibilitat i vulnerabilitats de seguretat.

1.1 — Accedir com a root
Terminal
usuari@debian:~$ su –
Password: ●●●●●● ← escriu la contrasenya de root
root@debian:~#
El símbol # confirma que ets root. A partir d’aquí totes les comandes de la guia s’executen com a root.
1.2 — Actualitzar la llista de paquets
Terminal — root
root@debian:~# apt update
Get:1 http://deb.debian.org/debian trixie InRelease [89.4 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 Packages [9,284 kB]
Reading package lists… Done
Building dependency tree… Done
42 packages can be upgraded.
iapt update no instal·la ni actualitza res — només refresca la llista de paquets disponibles als servidors de Debian. És com actualitzar el catàleg d’una botiga.
1.3 — Actualitzar tots els paquets instal·lats
Terminal — root
root@debian:~# apt upgrade -y
Reading package lists… Done
Building dependency tree… Done
The following packages will be upgraded:
bash curl libc6 openssh-client …
42 upgraded, 0 newly installed, 0 to remove.
Done.
L’opció -y confirma automàticament totes les preguntes. Sense -y, el sistema et preguntarà «Do you want to continue? [Y/n]» — escriu Y i prem Enter.
Quan acabi veuràs «Done.» — el sistema ja està completament actualitzat i preparat per instal·lar software nou.
2
Instal·lar eines essencials
curl, wget, net-tools, nano, vim i git

Debian 13 és molt minimalista per defecte. Moltes eines bàsiques no venen instal·lades. Instal·larem les més útils per al dia a dia d’un administrador de sistema.

2.1 — Instal·lar totes les eines d’un sol cop
Terminal — root
root@debian:~# apt install -y curl wget net-tools nano vim git
Reading package lists… Done
The following NEW packages will be installed:
curl wget net-tools nano vim git git-man …
Setting up curl …
Setting up wget …
Setting up nano …
Setting up vim …
Setting up git …
Setting up net-tools …
2.2 — Configuració bàsica de Git

Configurem el nom i el correu electrònic que s’associaran als commits. Substitueix els valors d’exemple pels teus reals:

Terminal — root
root@debian:~# git config –global user.name «El teu nom»
root@debian:~# git config –global user.email «correu@exemple.com»
root@debian:~# git config –global core.editor nano
# Verificar la configuració:
root@debian:~# git config –list
user.name=El teu nom
user.email=correu@exemple.com
core.editor=nano
2.3 — Verificar les eines instal·lades
Terminal — root
root@debian:~# curl –version
curl 8.x.x (x86_64-pc-linux-gnu) …
root@debian:~# git –version
git version 2.45.x
root@debian:~# ifconfig ← net-tools (veure IP del sistema)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.xxx netmask 255.255.255.0 …
Si veus el número de versió sense errors, l’eina està correctament instal·lada i funciona. Apunta la IP que apareix a ifconfig — la necessitaràs més endavant.
Resum de les eines instal·lades:
EinaPer a què serveix
curlDescarregar fitxers i fer peticions web des del terminal
wgetDescarregar fitxers de manera senzilla amb una URL
net-toolsEines de xarxa: ifconfig, netstat, route…
nanoEditor de text senzill per a principiants
vimEditor de text avançat, molt potent
gitControl de versions de codi font
3
Instal·lar i configurar Apache
Servidor web — permet publicar pàgines web des del teu servidor

Apache és el servidor web més usat al món. Instal·lar-lo permet que el teu ordinador serveixi pàgines web. Un cop instal·lat, qualsevol fitxer que posis a /var/www/html/ serà accessible des d’un navegador.

3.1 — Instal·lar Apache
Terminal — root
root@debian:~# apt install -y apache2
Setting up apache2 …
Enabling module mpm_event …
apache2.service – The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service)
Active: active (running) since …
Apache s’inicia automàticament després d’instal·lar-se. Obre un navegador web i accedeix a http://localhost — hauries de veure la pàgina de benvinguda d’Apache.
3.2 — Comandes bàsiques de gestió d’Apache
Terminal — root
# Comprovar l’estat d’Apache
root@debian:~# systemctl status apache2
# Aturar Apache
root@debian:~# systemctl stop apache2
# Iniciar Apache
root@debian:~# systemctl start apache2
# Reiniciar Apache (aplicar canvis de configuració)
root@debian:~# systemctl restart apache2
# Activar Apache a l’inici del sistema
root@debian:~# systemctl enable apache2
3.3 — Crear una pàgina web de prova
Terminal — root
root@debian:~# echo ‘<h1>Hola! Apache funciona correctament.</h1>’ > /var/www/html/prova.html
Obre el navegador i accedeix a http://localhost/prova.html — hauries de veure el missatge. El directori arrel d’Apache és /var/www/html/ — tots els fitxers que hi posis seran accessibles al navegador.
4
Instal·lar i configurar MariaDB
Base de dades compatible amb MySQL

MariaDB és un sistema de gestió de bases de dades 100% compatible amb MySQL. Permet emmagatzemar dades de forma estructurada. És la base de dades per defecte a Debian 13.

4.1 — Instal·lar MariaDB
Terminal — root
root@debian:~# apt install -y mariadb-server mariadb-client
Setting up mariadb-server …
mariadb.service – MariaDB RDBMS
Active: active (running)
4.2 — Assegurar la instal·lació (molt important)

Executa l’assistent de seguretat que elimina configuracions insegures per defecte:

Terminal — root
root@debian:~# mysql_secure_installation
Enter current password for root (enter for none): ← prem Enter (buit)
Switch to unix_socket authentication [Y/n]: Y
Change the root password? [Y/n]: Y ← posa una contrasenya segura
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Respon Y a totes les preguntes. Quan demani la contrasenya de root de MariaDB, tria una contrasenya segura i guarda-la en un lloc segur.
4.3 — Crear una base de dades i un usuari de prova
Terminal — root (consola MariaDB)
root@debian:~# mariadb -u root -p
Enter password: ← introdueix la contrasenya de MariaDB
Welcome to the MariaDB monitor.
MariaDB [(none)]> CREATE DATABASE prova_db;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> CREATE USER ‘usuari_prova’@‘localhost’ IDENTIFIED BY ‘ContrasenyaSegura1!’;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON prova_db.* TO ‘usuari_prova’@‘localhost’;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Bye
iLes comandes de MariaDB sempre acaben amb punt i coma ; — no ho oblidis o la consola esperarà que acabis la comanda.
5
Instal·lar i configurar PHP
Llenguatge de programació web del servidor

PHP és el llenguatge que permet que les pàgines web siguin dinàmiques. Juntament amb Apache i MariaDB forma la pila LAMP (Linux, Apache, MariaDB, PHP), la base de la majoria de webs i gestors de contingut com WordPress.

5.1 — Instal·lar PHP i els mòduls essencials
Terminal — root
root@debian:~# apt install -y php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip libapache2-mod-php
Setting up php …
Setting up php-mysql …
Setting up libapache2-mod-php …
Enabling module php8.x …
iEl paquet libapache2-mod-php connecta PHP amb Apache perquè els fitxers .php funcionin al navegador. php-mysql permet que PHP es comuniqui amb MariaDB.
5.2 — Verificar la versió de PHP instal·lada
Terminal — root
root@debian:~# php –version
PHP 8.x.x (cli) (built: …) …
Copyright (c) The PHP Group
5.3 — Crear una pàgina PHP de prova
Terminal — root
root@debian:~# echo ‘<?php phpinfo(); ?>’ > /var/www/html/info.php
root@debian:~# systemctl restart apache2
Obre el navegador i accedeix a http://localhost/info.php. Hauries de veure una pàgina de color blau amb tota la informació de PHP. Això confirma que PHP i Apache funcionen junts correctament.
Important: un cop verificat que PHP funciona, elimina el fitxer info.php per seguretat — revela informació sensible del servidor.
Executa: rm /var/www/html/info.php
6
Instal·lar i configurar el Firewall (UFW)
Protegeix el servidor controlant les connexions de xarxa

UFW (Uncomplicated Firewall) és una eina senzilla per gestionar el tallafoc de Linux. Permet controlar quins ports estan oberts i quines connexions s’accepten al servidor.

6.1 — Instal·lar UFW
Terminal — root
root@debian:~# apt install -y ufw
Setting up ufw …
6.2 — Configurar les regles bàsiques
Molt important: Abans d’activar el firewall, has d’obrir el port SSH (22). Si no ho fas i estàs connectat remotament, et quedaràs sense accés al servidor.
Terminal — root
# Permetre SSH (accés remot)
root@debian:~# ufw allow ssh
Rules updated
# Permetre tràfic web HTTP (port 80)
root@debian:~# ufw allow 80/tcp
Rules updated
# Permetre tràfic web HTTPS (port 443)
root@debian:~# ufw allow 443/tcp
Rules updated
# Activar el firewall
root@debian:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
6.3 — Verificar l’estat del firewall
Terminal — root
root@debian:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
To Action From
— —— —-
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
El firewall està actiu. Els ports 22 (SSH), 80 (HTTP) i 443 (HTTPS) estan oberts. Qualsevol altre port estarà bloquejat per defecte.
7
Instal·lar i configurar SSH
Accés remot segur al servidor

SSH (Secure Shell) permet accedir al teu servidor de forma segura des d’un altre ordinador a través de la xarxa. Tota la comunicació està xifrada.

7.1 — Instal·lar el servidor SSH
Terminal — root
root@debian:~# apt install -y openssh-server
Setting up openssh-server …
ssh.service – OpenBSD Secure Shell server
Active: active (running)
7.2 — Configuració de seguretat recomanada

Editarem el fitxer de configuració principal de SSH per millorar la seguretat:

Terminal — root
root@debian:~# nano /etc/ssh/sshd_config

Busca i modifica (o afegeix) les línies següents dins el fitxer. Usa Ctrl+W per buscar text dins nano:

/etc/ssh/sshd_config fitxer de configuració
# Port d’escolta (pots canviar-lo per més seguretat)
Port 22
 
# Desactivar login de root per SSH (recomanat)
PermitRootLogin no
 
# Nombre màxim d’intents de contrasenya
MaxAuthTries 3
 
# Temps màxim per autenticar-se (60 segons)
LoginGraceTime 60
 
# Permetre autenticació amb contrasenya
PasswordAuthentication yes
Per desar els canvis a nano: prem Ctrl+X, després Y per confirmar, i Enter per desar al mateix fitxer.
7.3 — Aplicar els canvis i verificar SSH
Terminal — root
# Reiniciar SSH per aplicar la configuració
root@debian:~# systemctl restart ssh
# Verificar que SSH està actiu
root@debian:~# systemctl status ssh
ssh.service – OpenBSD Secure Shell server
Active: active (running)
# Connectar-se via SSH des d’un altre ordinador:
usuari@altrePc:~$ ssh mario@192.168.1.xxx
iSubstitueix 192.168.1.xxx per la IP del teu servidor Debian (la que vas veure amb ifconfig al Pas 2). Substitueix mario per un dels usuaris que vas crear.
8
Verificació final del sistema
Comprova que tot funciona correctament

Executa aquestes comandes per confirmar que tots els serveis instal·lats estan actius i funcionant correctament:

8.1 — Comprovar l’estat de tots els serveis
Terminal — root
root@debian:~# systemctl is-active apache2 mariadb ssh ufw
active ← apache2
active ← mariadb
active ← ssh
active ← ufw
Si tots els serveis mostren «active», tot funciona correctament. Si algun diu «inactive», executa systemctl start nom_servei per iniciar-lo.
8.2 — Resum de tot el software instal·lat
SoftwareVersióPortEstat
Sistema Debian 13Trixie✓ Actualitzat
Apache22.4.x80 / 443✓ Actiu
MariaDB10.x / 11.x3306✓ Actiu
PHP8.x✓ Actiu
UFW Firewall22, 80, 443✓ Actiu
OpenSSH Server9.x22✓ Actiu
curl, wget, git…✓ Instal·lats

Sistema completament configurat!

Debian 13 amb pila LAMP completa (Apache + MariaDB + PHP), Firewall UFW, SSH i eines essencials. El servidor està llest per allotjar aplicacions web.