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.

