Hiawata è un web server sviluppato da Hugo Leisink.Progettato seguendo dei criteri di sicurezza molto elevati,si tratta di un web server veramente molto sicuro ed a basso impatto sulle risorse di sistema.Hiawata è leggero,sicuro,supporta ipv6,certificati ssl e virtualhosts.La versione attuale è la 7.3,dove è stato aggiunto il supporto per il sistema operativo Haiku.Grazie alle modeste risorse di sistema impegnate,Hiawatha è l’ideale per vps e server con limitate disponibilità di memoria e potenza di calcolo.Vediamo l’installazione di Hiawata su un vps Debian 5.0 Lenny,con una configurazione che include l’utilizzo dei virtualhosts.Hiawata permette di utilizzare Php Fastcgi per l’esecuzione di Php.
Installiamo i pacchetti necessari alla compilazione del codice,oltre al pacchetto php5-cgi :
# apt-get update # apt-get install build-essential libc6-dev libssl-dev dpkg-dev debhelper fakeroot libxml2-dev libxslt1-dev php5-cgi -y
Apriamo il file di configurazione di php cgi e inseriamo le seguenti direttive,necessarie per la corretta esecuzione di Hiawata :
# vim /etc/php5/cgi/php.ini
cgi.rfc2616_headers = 1 zlib.output_compression = On zlib.output_compression_level = 6 expose_php = Off display_errors = Off register_globals = Off magic_quotes_gpc = Off allow_url_include = Off
Adesso è il momento di compilare Hiawata.Per ovvi motivi di sicurezza è necessario guadagnare l’accesso come utente comune :
# su normaluser $ wget http://www.hiawatha-webserver.org/files/hiawatha-7.3.tar.gz $ tar zxf hiawatha-7.3.tar.gz $ cd hiawatha-7.3
dopo aver prelevato l’archivio contenente il codice sorgente,avviamo la configurazione e successivamente la compilazione,utilizzato il comando make deb per produrre un pacchetto .deb che potrà essere installato senza colpo ferire.Nell’esempio abbiamo disabilito il supporto per ipv6 :
$ ./configure --disable-ipv6
$ make deb
$ exit
Installiamo Hiawata :
# dpkg -i /home/normaluser/hiawatha_7.3_i386.deb
ed apriamo subito il file di configurazione per php fastcgi :
# vim /etc/hiawatha/php-fcgi.conf
decommentando la direttiva :
Server = /usr/bin/php5-cgi ; 127.0.0.1:2005 ; www-data ; /etc/php5/cgi/php.ini
Apriamo ora il file di configurazione principale per Hiawatha :
# vim /etc/hiawatha/hiawatha.conf
La configurazione che segue è quella di base necessaria per far funzionare correttamente il web server,utilizzando due virtualhosts :
ServerId = www-data
ServerString = blabla
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log
Binding {
Port = 80
Interface = 94.141.20.116
MaxKeepAlive = 30
TimeForRequest = 3,20
EnableTRACE = no
}
CGIhandler = /usr/bin/php5-cgi:php
FastCGIserver {
FastCGIid = PHP5
ConnectTo = 127.0.0.1:2005
Extension = php, php5
SessionTimeout = 30
}
UrlToolkit {
ToolkitID = wordpress
RequestURI exists Return
Match .* Rewrite /index.php
}
Hostname = 90.111.20.77
WebsiteRoot = /var/www
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
VirtualHost {
Hostname = blog.example.com
WebsiteRoot = /home/example
StartFile = index.php
AccessLogfile = /var/log/hiawatha/example_access.log
ErrorLogfile = /var/log/hiawatha/example_error.log
TimeForCGI = 5
UseFastCGI = PHP5
UseToolkit = wordpress
PreventCSRF = yes
PreventSQLi = yes
PreventXSS = yes
UseGZfile = yes
}
VirtualHost {
Hostname = blog.anotherexample.com
WebsiteRoot = /home/anotherexample
StartFile = index.php
AccessLogfile = /var/log/hiawatha/anotherexample_access.log
ErrorLogfile = /var/log/hiawatha/anotherexample_error.log
TimeForCGI = 5
UseFastCGI = PHP5
UseToolkit = wordpress
UseGZfile = yes
}
La direttiva UseGZfile = yes può essere utilizzata qualora si voglia attivare la compressione dei contenuti statici.La raccomandazione è comunque quella di fare affidamento alla compressione offerta da php,che abbiamo attivato durante i primi passi dell’articolo.Le direttive di configurazione sono abbastanza esplicative e lasciamo alla documentazione ufficiale il compito di sollevare il lettore da eventuali dubbi circa il significato delle varie opzioni.La configurazione di cui sopra fa utilizzo dell’Url toolkit per WordPress.Un URL Toolkit non è altro che l’equivalente delle regole di rewrite utilizzate da Apache.
Per avviare Fastcgi e Hiawata utilizziamo i comandi :
# /etc/init.d/php-fcgi start
# /etc/init.d/hiawatha start
Hiawata è un web server sicuro e poco esigente,caratteristiche che ne permettono con successo l’utilizzo su vps dove risparmiare i quantitativi di memoria impegnata dagli applicativi è ormai d’obbligo.Hiawata è un software ancora giovane e carente per quanto riguarda le funzionalità più avanzate offerte da web server come Apache,Lighttpd e Nginx.Tuttavia la sua elevata sicurezza e la grande flessibilità ne fanno un prodotto da tenere sicuramente in grande considerazione.

Pingback: Hiawatha web server su Ubuntu Lucid 10.04 | SERVERMANAGED.IT ::