Passaggi per configurare un web server (Apache + PHP) sulla tua VPS
Inviato: lunedì 31 marzo 2025, 16:56
1. Aggiorna il sistema
Prima di iniziare, assicurati che il sistema sia aggiornato.
2. Installa Apache
Apache è uno dei web server più utilizzati. Per installarlo sulla tua VPS, esegui il seguente comando:
3. Installa PHP e i moduli necessari
Per eseguire il file PHP, dovrai installare PHP e alcuni moduli necessari per il suo funzionamento.
libapache2-mod-php è il modulo che permette ad Apache di eseguire i file PHP.
php-cli è la versione a linea di comando di PHP (utile per script).
php-curl è necessario per eseguire le richieste cURL.
php-xml, php-mbstring e php-zip sono moduli aggiuntivi per garantire una buona compatibilità con PHP.
4. Configura il firewall per consentire il traffico HTTP
Se hai un firewall attivo sulla tua VPS (ad esempio, UFW), dovrai configurarlo per consentire il traffico HTTP e HTTPS. Esegui i seguenti comandi per consentire il traffico web:
Verifica che il firewall stia consentendo il traffico:
5. Avvia Apache e abilitalo al boot
Ora avvia Apache e assicurati che si avvii automaticamente al boot della VPS:
6. Verifica che Apache stia funzionando
Apri il browser e digita l'indirizzo IP della tua VPS (ad esempio http://vps_ip_address/). Dovresti vedere la pagina predefinita di Apache che dice "It works!"
Se hai visto questa pagina, Apache è correttamente installato e funzionante.
7. Crea la cartella per il tuo sito web
Crea una cartella dove metterai il file manage_server.php (e qualsiasi altro file PHP).
Cambia la proprietà della cartella per l'utente corrente (assicurati che l'utente web possa scrivere nella cartella):
8. Carica il tuo file manage_server.php
Carica il file manage_server.php che eseguirà i comandi sulla tua VPS. Usa un editor di testo come nano o vim per creare e caricare il file.
Copia il contenuto del tuo file API nel file appena creato e salva.
9. Verifica la configurazione di PHP
Assicurati che PHP funzioni correttamente. Crea un file PHP di prova nella cartella del tuo sito:
Aggiungi il seguente contenuto al file:
Salva il file e accedi alla tua VPS nel browser con il percorso http://vps_ip_address/sof2_api/info.php. Dovresti vedere una pagina con tutte le informazioni di configurazione di PHP.
Nota: Assicurati di rimuovere questo file (info.php) dopo aver verificato che PHP sia correttamente configurato, poiché fornisce informazioni sensibili sul server.
10. Configurazione di Apache per il file PHP
Assicurati che il file .php venga correttamente eseguito da Apache. In caso contrario, configura Apache per gestire i file PHP. Puoi anche creare un virtual host per il tuo progetto (opzionale), ma per il momento il sito dovrebbe funzionare con la configurazione predefinita.
Verifica che Apache e PHP siano configurati correttamente per lavorare insieme.
11. Testare la tua API
Ora che Apache e PHP sono correttamente configurati, accedi al file manage_server.php dalla tua VPS tramite l'URL nel browser:
Sostituisci vps_ip_address con l'indirizzo IP pubblico della tua VPS e l'azione (start, stop, restart, status) con quella che desideri eseguire.
Se tutto è configurato correttamente, il comando che hai specificato nello script .sh sulla VPS verrà eseguito e vedrai l'output di questa operazione nel tuo browser.
12. Configura il server web remoto per comunicare con la VPS
Ora, nel codice PHP del server remoto (quello che contiene l'interfaccia web), assicurati che l'URL della tua VPS venga configurato correttamente per fare richieste HTTP.
Esegui la richiesta tramite cURL alla VPS, ad esempio:
Sostituisci vps_ip_address con l'indirizzo IP della tua VPS.
Considerazioni di sicurezza
Autenticazione: Proteggi il file API con una forma di autenticazione, come una chiave API o una password, per evitare l'accesso non autorizzato.
SSL: Utilizza HTTPS per cifrare le comunicazioni tra il server remoto e la VPS. Puoi usare Let's Encrypt per ottenere un certificato SSL gratuito.
Firewall: Configura correttamente il firewall sulla VPS per consentire solo il traffico dal server remoto.
Prima di iniziare, assicurati che il sistema sia aggiornato.
Codice: Seleziona tutto
sudo apt update && sudo apt upgrade -y
Apache è uno dei web server più utilizzati. Per installarlo sulla tua VPS, esegui il seguente comando:
Codice: Seleziona tutto
sudo apt install apache2 -y
Per eseguire il file PHP, dovrai installare PHP e alcuni moduli necessari per il suo funzionamento.
Codice: Seleziona tutto
sudo apt install php libapache2-mod-php php-cli php-curl php-xml php-mbstring php-zip -y
php-cli è la versione a linea di comando di PHP (utile per script).
php-curl è necessario per eseguire le richieste cURL.
php-xml, php-mbstring e php-zip sono moduli aggiuntivi per garantire una buona compatibilità con PHP.
4. Configura il firewall per consentire il traffico HTTP
Se hai un firewall attivo sulla tua VPS (ad esempio, UFW), dovrai configurarlo per consentire il traffico HTTP e HTTPS. Esegui i seguenti comandi per consentire il traffico web:
Codice: Seleziona tutto
sudo ufw allow 'Apache Full'
Codice: Seleziona tutto
sudo ufw status
Ora avvia Apache e assicurati che si avvii automaticamente al boot della VPS:
Codice: Seleziona tutto
sudo systemctl start apache2
sudo systemctl enable apache2
Apri il browser e digita l'indirizzo IP della tua VPS (ad esempio http://vps_ip_address/). Dovresti vedere la pagina predefinita di Apache che dice "It works!"
Se hai visto questa pagina, Apache è correttamente installato e funzionante.
7. Crea la cartella per il tuo sito web
Crea una cartella dove metterai il file manage_server.php (e qualsiasi altro file PHP).
Codice: Seleziona tutto
sudo mkdir /var/www/html/sof2_api
Codice: Seleziona tutto
sudo chown -R $USER:$USER /var/www/html/sof2_api
Carica il file manage_server.php che eseguirà i comandi sulla tua VPS. Usa un editor di testo come nano o vim per creare e caricare il file.
Codice: Seleziona tutto
sudo nano /var/www/html/sof2_api/manage_server.php
9. Verifica la configurazione di PHP
Assicurati che PHP funzioni correttamente. Crea un file PHP di prova nella cartella del tuo sito:
Codice: Seleziona tutto
sudo nano /var/www/html/sof2_api/info.php
Codice: Seleziona tutto
<?php
phpinfo();
?>
Nota: Assicurati di rimuovere questo file (info.php) dopo aver verificato che PHP sia correttamente configurato, poiché fornisce informazioni sensibili sul server.
Codice: Seleziona tutto
sudo rm /var/www/html/sof2_api/info.php
Assicurati che il file .php venga correttamente eseguito da Apache. In caso contrario, configura Apache per gestire i file PHP. Puoi anche creare un virtual host per il tuo progetto (opzionale), ma per il momento il sito dovrebbe funzionare con la configurazione predefinita.
Verifica che Apache e PHP siano configurati correttamente per lavorare insieme.
11. Testare la tua API
Ora che Apache e PHP sono correttamente configurati, accedi al file manage_server.php dalla tua VPS tramite l'URL nel browser:
Codice: Seleziona tutto
http://vps_ip_address/sof2_api/manage_server.php?action=start
Se tutto è configurato correttamente, il comando che hai specificato nello script .sh sulla VPS verrà eseguito e vedrai l'output di questa operazione nel tuo browser.
12. Configura il server web remoto per comunicare con la VPS
Ora, nel codice PHP del server remoto (quello che contiene l'interfaccia web), assicurati che l'URL della tua VPS venga configurato correttamente per fare richieste HTTP.
Esegui la richiesta tramite cURL alla VPS, ad esempio:
Codice: Seleziona tutto
function sendRequestToVPS($action) {
$vpsUrl = "http://vps_ip_address/sof2_api/manage_server.php?action=$action"; // URL del file PHP sulla VPS
// Usa cURL per inviare la richiesta HTTP
// ...
}
Considerazioni di sicurezza
Autenticazione: Proteggi il file API con una forma di autenticazione, come una chiave API o una password, per evitare l'accesso non autorizzato.
SSL: Utilizza HTTPS per cifrare le comunicazioni tra il server remoto e la VPS. Puoi usare Let's Encrypt per ottenere un certificato SSL gratuito.
Firewall: Configura correttamente il firewall sulla VPS per consentire solo il traffico dal server remoto.