Come installare LAMP su Raspberry Pi: guida completa passo‑a‑passo
- texservice13
- 3 giorni fa
- Tempo di lettura: 4 min
Aggiornamento: 11 ore fa
Questa guida ti mostra, in modo chiaro e dettagliato, tutti i passaggi necessari per trasformare il tuo Raspberry Pi in un vero server LAMP (Linux + Apache + MariaDB + PHP). Inoltre troverai istruzioni per configurare SSH, assegnare un IP statico, installare Ollama e condividere le cartelle con Samba.
1️⃣ Prerequisiti di base
Raspberry Pi con Raspberry OS (Bullseye o Buster) installato.
Connessione a Internet per scaricare i pacchetti.
Un terminale (locale o SSH) con permessi sudo.
Aggiornare il sistema
# Aggiorna indice pacchetti e sistema operativo
sudo apt update && sudo apt full-upgrade -y
# Riavvia se il kernel è stato aggiornato
sudo reboot2️⃣ Configurare rete e SSH
Per gestire il Pi da remoto è consigliabile assegnare un IP statico e abilitare l'accesso SSH senza password.
IP statico
# Verifica l'indirizzo corrente
hostname -I # oppure ip addr show wlan0
# Modifica il file di rete
sudo nano /etc/dhcpcd.conf
# Aggiungi alla fine:
interface wlan0
static ip_address=192.168.1.50/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4Abilitare SSH e consentire login root
# Abilita il demone SSH
sudo raspi-config # → Interfaccia → SSH → abilita
# Permetti login root (facoltativo, usarlo con cautela)
sudo nano /etc/ssh/sshd_config
# Cambia la riga
#PermitRootLogin prohibit-password
PermitRootLogin yes
# Ricarica il servizio
sudo systemctl restart sshChiavi SSH da Windows (PowerShell)
# Genera la coppia se non esiste
ssh-keygen -t rsa -b 4096
# Copia la chiave pubblica sul Pi
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@192.168.1.50 `
"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"Da ora puoi connetterti con ssh root@192.168.1.50 senza inserire la password.
3️⃣ Installare il stack LAMP su Raspberry Pi
3.1 Apache
sudo apt install -y apache2
sudo systemctl enable --now apache2
# Verifica con: sudo systemctl status apache23.2 MariaDB (sostituto di MySQL)
sudo apt install -y mariadb-server mariadb-client
sudo systemctl enable --now mariadb
sudo mariadb_secure_installation # segui le istruzioni per impostare root password,
# rimuovere utenti anonimi, ecc.3.3 PHP e moduli più comuni
sudo apt install -y php php-cli php-fpm php-mysql \
php-curl php-gd php-xml php-zip php-bcmath php-intl3.4 Integrare PHP con Apache
# Attiva il modulo PHP per Apache (es. PHP 8.2)
sudo a2enmod php8.2
sudo systemctl restart apache23.5 Verifica dell’installazione
sudo tee /var/www/html/info.php > /dev/null <<'EOF'
EOF
# Apri http://192.168.1.50/info.php nel browser.
# Se vedi la pagina phpinfo, il LAMP è pronto.
# Ricorda di rimuovere il file dopo il test:
sudo rm /var/www/html/info.php4️⃣ Configurazioni avanzate (facoltative)
4.1 Ottimizzare php.ini
sudo nano /etc/php/8.2/apache2/php.ini
# Aggiungi o modifica:
date.timezone = Europe/Rome
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 21M
max_execution_time = 604.2 Creare un database dedicato
sudo mariadb -u root -p
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd';
GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;4.3 VirtualHost per più siti
sudo nano /etc/apache2/sites-available/myapp.conf
<VirtualHost *:80>
ServerName myapp.local
DocumentRoot /var/www/html/myapp
<Directory /var/www/html/myapp>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/myapp_error.log
CustomLog ${APACHE_LOG_DIR}/myapp_access.log combined
</VirtualHost>
sudo a2ensite myapp.conf
sudo systemctl reload apache25️⃣ Installare e configurare Ollama (AI inference)
# Scarica e installa
curl -fsSL https://ollama.com/install.sh | sh
# Modifica il servizio systemd
sudo nano /etc/systemd/system/ollama.service
# Inserisci (o aggiungi) nella sezione [Service]:
Environment="OLLAMA_HOST=0.0.0.0:11434"
ExecStart=/usr/bin/ollama serve
# Ricarica e riavvia il servizio
sudo systemctl daemon-reload
sudo systemctl restart ollama
# Controlla che la porta sia in ascolto:
sudo netstat -tulnp | grep :11434
Collegati con Ollama facendo una richiesta tramite curl. La curl dovrebbe darti la risposta 200; se invece la risposta è 401, allora devi registrare la tua installazione Ollama seguendo il link signin_url:"https://ollama.com/connect?name=raspberrypi\u0026key=c3NoLWVkMjU1MT....."6️⃣ Condividere file con Samba
# Installa Samba
sudo apt install -y samba samba-common-bin
# Crea l'utente Samba (usa lo stesso nome dell'utente Linux)
sudo smbpasswd -a pi # inserisci la password quando richiesto
# Directory da condividere (esempio: /home/pi/Condivisa)
mkdir -p /home/pi/Condivisa
chmod 2775 /home/pi/Condivisa
chown pi:pi /home/pi/Condivisa
# Configura il file smb.conf
sudo nano /etc/samba/smb.conf
[Condivisa]
comment = Cartella condivisa dal Raspberry Pi
path = /home/pi/Condivisa
browseable = yes
read only = no
guest ok = no
writable = yes
create mask = 0664
directory mask = 2775
valid users = pi
# Verifica la configurazione e riavvia il demone
testparm -s
sudo systemctl restart smbd
sudo systemctl enable smbd
# Da Windows, mappa l'unità:
net use Z: \\192.168.1.50\Condivisa /user:pi * # * richiederà la password Samba7️⃣ Sicurezza di base per il tuo LAMP su Raspberry Pi
Azione | Perché è importante |
Disabilitare il login root remoto per MariaDB | Previene attacchi di forza bruta sull'account amministratore. |
Creare utenti dedicati per ogni database | Limita i danni in caso di vulnerabilità dell'applicazione. |
Utilizzare HTTPS (Let’s Encrypt) | Cripta il traffico tra client e server. |
Mantenere il sistema aggiornato | Installa le patch di sicurezza più recenti. |
Rimuovere file di test (info.php, phpinfo()) | Evita la divulgazione di informazioni sul server. |
Installa Let’s Encrypt (facoltativo)
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d tuo-dominio.com -d www.tuo-dominio.com
# Il certificato verrà rinnovato automaticamente.Conclusioni
Seguendo i passaggi descritti in questa guida, avrai trasformato il tuo Raspberry Pi in un server LAMP completo, con accesso SSH sicuro, IP statico, capacità di eseguire modelli AI tramite Ollama e condivisione file Windows tramite Samba. Il tuo mini‑server è ora pronto per ospitare siti web, applicazioni PHP, database MariaDB e molto altro.
Non dimenticare di monitorare regolarmente gli aggiornamenti di sicurezza e di eseguire backup periodici dei dati più importanti.
Articolo scritto da un esperto Linux




Commenti