Ogni utente può gestire un’istanza personalizzata del server. In questo modo ognuno può configurare il proprio server come desidera, con il non trascurabile vantaggio di poterlo far partire e fermare quando vuole.

Il server è quello standard della distribuzione (la versione è ottenibile con il comando apache2 -v). Con Ubuntu 20.04 c’è Apache httpd 2.4.41.

La cartella /opt/httpd-setup contiene i file di configurazione di base, ma non è scrivibile dagli utenti; seguire la procedura dettagliata in questa pagina.

Setup

Per poter configurare il server occorre quindi creare nella propria area utente la cartella ~/httpd, contenente i file iniziali di configurazione del server.

Per far questo è possibile lanciare lo script:

/opt/httpd-setup/user-setup.sh

Il server così configurato ha come radice dei documenti la cartella ~/httpd/www/html nella vostra area utente.

NOTA: se avete fatto il setup di Apache httpd negli anni precedenti (prima di agosto 2021), dovete ripeterlo, perché con l’aggiornamento è cambiata la versione di PHP e alcune vecchie impostazioni non sono più adeguate.

Esecuzione

È possibile utilizzare uno script per controllare il server (viene copiato insieme ai file di configurazione nella cartella ~/httpd nella propria area utente).

Per lanciare il server:

~/httpd/httpd.sh start

Per fermare il server:

~/httpd/httpd.sh stop

Per fermare e far ripartire il server:

~/httpd/httpd.sh restart

Prima connessione

Una volta lanciato il server, il servizio è accessibile all’indirizzo http://localhost:8000/.

Per comodità, su ogni macchina sono presenti delle regole iptables per rigirare alla porta 8000 le richieste in arrivo sulla porta 80; quindi il server è raggiungibile anche senza specificare la porta, con http://localhost/.

È anche possibile utilizzare il nome della macchina; ad esempio, se siete su lab32.edu-al.unipmn.it, il server è raggiungibile con http://lab32.edu-al.unipmn.it:8000/ o http://lab32.edu-al.unipmn.it/.

PHP

Seguendo questa procedura, Apache HTTPD è già configurato con PHP.

All’interno della document root è presente un file phpinfo.php, che è possibile utilizzare per visualizzare i dettagli della configurazione di PHP:

http://localhost/phpinfo.php

Con Ubuntu 20.04 è presente il PHP 7.4.3.

Adminer

Con il setup del server web e dell’ambiente PHP abbiamo anche incluso Adminer, che è un’interfaccia di gestione dei database.

Dopo aver fatto il setup qui descritto, lo potete utilizzare collegandovi a:

http://localhost/adminer/

Attenzione: per motivi di sicurezza, l’accesso ad Adminer è abilitato solo da localhost. Questo perché consente l’accesso al DB, e il setup crea un DB con una password nota.

Se vuoi abilitare l’accesso anche dall’esterno, devi:

1) cambiare la password per accedere al database (vedi la pagina di setup del DB per leggere la procedura)

2) rimuovere o modificare in modo opportuno il file: ~/httpd/conf.d/01-protect-adminer.conf

Cosa fare ora?

Hai già configurato MySQL? Probabilmente un server DB ti verrà comodo.

O magari preferisci utilizzare PostgreSQL.

Hai già aggiunto phpMyAdmin per gestire il DB? È un utile interfaccia web, che puoi utilizzare in alternativa ad Adminer.

Esempio 1: configurarsi un’istanza di Drupal.

Esempio 2: configurarsi un’istanza di WordPress.

Note finali

Nota: la configurazione che viene creata attraverso lo script di setup è quella di base, ma potete fare numerosi affinamenti e modifiche, a seconda delle vostre esigenze; per tutte le informazioni si consiglia di consultare la ricca documentazione disponibile sul sito http://httpd.apache.org.