In questo articolo vedremo come sia possibile configurare il web serverApache attraverso un'immediata e potente interfaccia grafica. Chi mi ha già seguito sulle pagine di HTML.IT avrà intuito che, in ambito server, non sono un fanatico delle GUI (Graphical User Interface). Un po' perché lavoro principalmente su server Linux in cui per tradizione si editano a mano i file di configurazione, specie se ci si collega da remoto. Un po' per la sensazione di controllo sull'applicazione che l'interfaccia grafica, facendo da filtro, tende a ridurre.
Fatta questa debita premessa devo però ammettere che, in alcune circostanze, l'adozione di una GUI ben congegnata può facilitare e rendere più rapide le operazioni di configurazione. Sicuramente può aiutare gli amministratori meno esperti a "farsi le ossa" su un certo software. Ai più smaliziati può evitare il ricorso a Google per trovare quella particolare sintassi che al momento buono non si ricorda mai. Che dire poi dei grafici web che in molti casi vengono colti da emicraniala al solo suono della parola "configurazione"?
Il software che descriverò in queste pagine si chiama ApacheConf, è sviluppato da Zecos Software ed al momento della stesura dell'articolo è giunto alla versione 6.1. La presentazione delle opzioni di configurazione suddivise in categorie logiche rappresenta certamente uno dei maggiori pregi del programma. Difficilmente sarebbe possibile ottenere una simile schematizzazione dalla semplice lettura del file httpd.conf. Altra caratteristica positiva sono le varie forme di help che presentano con immediatezza il significato ed la sintassi della direttiva su cui si sta agendo.
Come sempre accanto ai pro ci sono i contro: prima di tutto il programma è distribuito come shareware e dopo i 30 giorni di prova, è necessario regolarizzare la copia scaricata acquistando una licenza. L'importo, intorno ai 75 dollari, risulta comunque contenuto, grazie anche al cambio euro/dollaro particolarmente favorevole. Il software funziona unicamente sui sistemi Windows 9x, NT 4, 2000, XP, Vista. Permette però di gestire un web server remoto Unix, Linux, FreeBSD, NetWare collegandosi ad esso tramite LAN, via SSH o FTP. Lo spazio su disco richiesto dal programma è piuttosto modesto intorno ai 4.5 MB.
Installiamo ApacheConf
Per i nostri test supporremo di aver accesso come utente Administrator ad una macchina Windows XP su cui sia già installato e funzionante Apache 2.2 in C:ProgrammiApache Software FoundationApache2.2. In altri termini gestiremo localmente Apache con ApacheConf.
Dopo aver scaricato il programma d'installazione dal sito www.apache-gui.com facciamo partire, con il classico doppio click, il wizard che ci accompagnerà nel processo di setup. Possiamo tranquillamente accettare le impostazioni di default se non ci sono ragioni particolari per modificarle. Al termine dell'installazione, dopo una "visita obbligata" alla pagina web che ci ricorda le condizioni di utilizzo del software, possiamo scegliere di lanciare direttamente il programma.
Partiamo con un paio di operazioni sul look & feel: primo selezioniamo il tema che più ci piace dal box di destra Visual themes, poi la lingua italiana dal menu Edit / Language / Italiano.
Bene, ora che siamo a nostro agio iniziamo con la creazione di un nuovo progetto cliccando sul corrispondente link nell'area denominata Tasks. La successiva finestra a destra, nell'area Your servers, presenta il link Aggiungi Server. Selezioniamolo ed ApacheConf ci guiderà passo passo nella scelta delle opzioni relative al nostro server. Innanzitutto associamogli un nome identificativo, ad esempio ProvaServer, scegliamo la corretta versione di Apache, 2.x.x nel nostro caso, ed infine decidiamo se vogliamo visualizzare in toto o solo gli ultimi 5kB dei file di log.
Proseguendo scegliamo il tipo di accesso ai file di configurazione, File locali nel nostro caso, dato che web server e programma di configurazione risultano installati sulla medesima macchina. Sfogliando le risorse del computer andiamo a selezionare la posizione del file httpd.conf nel nostro esempio C:ProgrammiApache Software FoundationApache2.2confhttpd.conf.
Avanzando ulteriormente nella procedura guidata scegliamo il sistema operativo sui cui gira Apache, per noi MS Windows. In questo caso è necessario specificare il nome del computer ed il nome del Servizio con cui Apache viene individuato. Le scelte predefinite dovrebbero già risultare corrette. Tutto ciò ci permetterà di lanciare, fermare o riavviare il web server direttamente da ApacheConf.
Ora non resta che specificare un URL valido per il nostro server per verificarne lo stato: http://localhost nel nostro caso andrà benissimo. Finalmente siamo giunti al termine, prima di procedere però meglio salvare il nostro progetto dal menu File / Salva progetto con nome. Il percorso di default dovrebbe portare alla directory C:ProgrammiApache Software FoundationApache2.2conf di Apache, l'estensione assegnata al file sarà .aprj.
La finestra di lavoro
Analizziamo ora l'organizzazione dello spazio di lavoro in ApacheConf. A sinistra la colonna Project Tree mediante una classica struttura ad albero, facilmente espandibile, riporta l'elenco dei server memorizzati. Qui potremo trovare il nostro ProvaServer. Come in ogni tree view che si rispetti la selezione di un elemento a sinistra determina la comparsa a destra delle relative opzioni di configurazione. Tanto per cominciare selezioniamo ProvaServer e testiamo le possibili azioni, ad esempio fermando ed avviando Apache o ricontrollando con il link Proprietà del server le informazioni precedentemente inserite mediante il wizard.
Espandendo il nodo ProvaServer noteremo che le direttive sono suddivise in categorie: Global server settings, Directories, Virtual hosts, e così via. ApacheConf ha provveduto ad organizzarle dopo aver letto il file di configurazione httpd.conf.
Il significato delle principali sezioni è il seguente:
- Global server settings: raccoglie le direttive che regolano il comportamento del web server nella sua globalità
- Directories: gestisce le caratteristiche di ciascuna directory (e sue sottodirectory) cui Apache ha accesso, attivando o disabilitando alcune proprietà.
- Virtual hosts: permette la definizione di diversi host virtuali (www.server1.it, www.server2.com,...) sul medesimo server Apache distinguendoli in base al nome o al numero IP assegnato.
- External files: permette la consultazione ed eventualmente la modifica/aggiunta di alcuni tipi di file come file di log, file di inclusione, .htaccess.
Come già accennato, tutte le direttive appartenenti ad una categoria possono essere visualizzate e modificate nell'area destra della finestra. Vi sono vari modi di impostare le opzioni di configurazione. È possibile modificare un valore editandolo manualmente: se volessimo mettere il web server in ascolto sulla porta 8080 basterebbe selezionare Listen ed inserire 8080 al posto del valore predefinito 80. In alcuni casi la scelta viene resa più semplice da un menu a discesa. Se con la direttiva LogLevel vogliamo impostare il tipo di messaggi d'errore memorizzati nell'error_log ci verranno già fornite le possibili opzioni: emerg, alert, crit, error....Quando la sintassi prevede il riferimento ad un file o ad una directory, come nel caso di DocumentRoot, se non si ricorda l'esatto percorso, è possibile sfogliare le risorse del computer per localizzarne la posizione.
Se la direttiva rappresenta un blocco contenitore all'interno del quale vengono specificate alcune istruzioni come nel caso di IfModule, Files, Limit, etc. accanto ad essa comparirà il simbolo di espansione "+". Selezionandolo sarà possibile visualizzare e modificare le opzioni nascoste. Il checkbox alla sinistra di ciascuna direttiva permette di commentarla, una volta fatto essa assumerà un colore grigio chiaro. Sempre a proposito di commenti, se si desidera per maggiore leggibilità nascondere quelli presenti di default in httpd.conf e che il software visualizza in verde, basta cliccare sul checkbox del tab Nascondi commenti.
Come accennato in precedenza uno degli aspetti più pregevoli di questa interfaccia grafica è rappresentato dal sistema di suggerimenti prezioso per i neofiti, ma anche per gli amministratori più esperti. Infatti la selezione di una direttiva permette di visualizzarne descrizione, sintassi, valori di default ed esempi pratici nella parte inferiore della finestra. Analogo effetto si può ottenere cliccando con il tasto destro del mouse sulla direttiva e scegliendo la voce Aiuto della direttiva.
È naturalmente possibile, non solo modificare direttive presenti di default, ma anche aggiungere di nuove. Per farlo si può utilizzare il menu Direttive o il menu contestuale aperto dal tasto destro del mouse. Anche questa operazione viene facilitata dall'accesso ad un elenco completo corredato di note esplicative.
Se si desidera è ancora possibile intervenire manualmente sul file di configurazione principale httpd.conf e sui file inclusi. Selezionando il tab Source file si aprirà l'editor integrato che presenta alcune utili funzionalità come numerazione delle righe, rappresentazione della sintassi in diversi colori, aggiunta di segnalibri ed altre. Per comodità dell'utilizzatore lo switch posiziona esattamente sulla direttiva su cui si stava agendo. Anche questo strumento risulta estremamente utile per l'apprendimento permettendo di confrontare le impostazioni scelte mediante l'interfaccia grafica con la corrispondente sintassi.
Una volta terminate le modifiche possiamo testare la configurazione scegliendo nella colonna più a destra, Tasks, il link Prova configurazione. L'operazione è equivalente al comando httpd -t
e se la risposta sarà SYNTAX OK potremo riavviare il server per rendere effettive le modifiche apportate.
Aggiunta di un host virtuale
Una delle operazioni più comuni nella gestione di Apache consiste nell'aggiungere un host virtuale. Con ApacheConf tutto si realizza in pochi click. Consideriamo la situazione più comune di un server con host virtuali basati sul nome, ovvero nomi diversi che fanno riferimento al medesimo numero IP.
Prima di tutto aggiungiamo, se non è già presente, la direttiva NameVirtualHost alla sezione Global server settings, assegnando il valore *:80. Ora spostiamoci in VirtualHosts e selezioniamo il task Aggiungi host virtuale. Nella finestra di configurazione, accanto al campo Indirizzo Host, clicchiamo sulla freccia gialla caricando la definizione *:80. Digitiamo in Nome del server il nome del server virtuale che sarà qualcosa di simile a www.mioserver.com. Infine nel campo DocumentRoot, sfogliando le risorse, andiamo ad individuare la directory che conterrà le pagine del nuovo sito. La configurazione di base è pronta, salviamola, riavviamo il web server, et voilá.
Conclusioni
Le opzioni di ApacheConf sono naturalmente molte più di quelle brevemente descritte nell'articolo. Possiamo citare la possibilità di configurare l'utilizzo di PHP o SSI tramite un comodo wizard o ancora l'editing dei file .htaccess, .htpasswd, .htgroup. In particolare può risultare interessante la possibilità di gestire un server remoto, magari Linux, attraverso una connessione SSH. L'unica difficoltà sarà il livello di privilegi necessario all'utente che si collega per operazioni come il salvataggio delle modifiche o il riavvio di Apache.
Prima di concludere vi segnalo, sempre in tema di GUI, che Zecos Software propone tra i suoi prodotti anche Htpasswd generator una comoda interfaccia per gestire i file di autenticazione .htaccess, .htpasswd, .htgroup. In questo caso la versione Lite è anche gratuita.