Passaggi per configurare un web server (Apache + PHP) sulla tua VPS
Posted: Monday 31 March 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.
Code: Select all
sudo apt update && sudo apt upgrade -yApache è uno dei web server più utilizzati. Per installarlo sulla tua VPS, esegui il seguente comando:
Code: Select all
sudo apt install apache2 -yPer eseguire il file PHP, dovrai installare PHP e alcuni moduli necessari per il suo funzionamento.
Code: Select all
sudo apt install php libapache2-mod-php php-cli php-curl php-xml php-mbstring php-zip -yphp-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:
Code: Select all
sudo ufw allow 'Apache Full'Code: Select all
sudo ufw statusOra avvia Apache e assicurati che si avvii automaticamente al boot della VPS:
Code: Select all
sudo systemctl start apache2
sudo systemctl enable apache2Apri 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).
Code: Select all
sudo mkdir /var/www/html/sof2_apiCode: Select all
sudo chown -R $USER:$USER /var/www/html/sof2_apiCarica 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.
Code: Select all
sudo nano /var/www/html/sof2_api/manage_server.php9. Verifica la configurazione di PHP
Assicurati che PHP funzioni correttamente. Crea un file PHP di prova nella cartella del tuo sito:
Code: Select all
sudo nano /var/www/html/sof2_api/info.phpCode: Select all
<?php
phpinfo();
?>Nota: Assicurati di rimuovere questo file (info.php) dopo aver verificato che PHP sia correttamente configurato, poiché fornisce informazioni sensibili sul server.
Code: Select all
sudo rm /var/www/html/sof2_api/info.phpAssicurati 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:
Code: Select all
http://vps_ip_address/sof2_api/manage_server.php?action=startSe 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:
Code: Select all
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.