top of page

Come installare LAMP su Raspberry Pi: guida completa passo‑a‑passo

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 reboot

2️⃣ 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.4

Abilitare 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 ssh

Chiavi 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 apache2

3.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-intl

3.4 Integrare PHP con Apache

# Attiva il modulo PHP per Apache (es. PHP 8.2)
sudo a2enmod php8.2
sudo systemctl restart apache2

3.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.php

4️⃣ 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 = 60

4.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 apache2

5️⃣ 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 Samba

7️⃣ 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


© 2024 texservice.tech   -  facilitatore informatico  -   mail: texservice13@gmail.com Tel: 353-468-73-15

bottom of page