Guida all'installazione di Gorg
1.
Introduzione
Gorg è un processore di backend XSLT per un sito web basato su XML. I file
sorgenti XML vengono trasformati e serviti al volo. I file di output e le loro
dipendenze vengono memorizzati nella cache. Le sue caratteristiche principali
sono:
- Funziona con apache, lighttpd o webrick (il server web di ruby)
- Usa un sistema efficiente di caching
-
Genera intestazioni HTTP coerenti quando più nodi web forniscono lo stesso
contenuto
-
Implementa un proprio sistema di compressione (alias mod_gzip), quindi
non si appoggia al server web per comprimere il proprio output
- Supporta il caching su lato client
- Il proprio XSL può accettare e scrivere cookies
-
Fornisce un proprio motore di ricerca (l'indicizzazione del sito verrà
sostanzialmente aggiornata in una versione futura)
Gorg consente di distribuire la propria copia locale di
http://www.gentoo.org. Può usare sia script cgi che fastcgi con
apache o lighttpd, oppure il proprio server web integrato. Il suo nome è
l'abbreviazione per Gentoo.org perché è stato creato pensando
al sito di Gentoo quando c'è stato bisogno di trovare un sostituto per AxKit.
Gorg è stato testato su x86, amd64, alpha, sparc, ppc, mips & hppa con i
seguenti pacchetti:
Codice 1.1: Ambiente di test |
>=net-www/apache-2.0.55
>=www-apache/mod_fcgid-1.0.8
>=dev-lang/ruby-1.8.4
>=dev-libs/fcgi-2.4.0
>=dev-ruby/ruby-fcgi-0.8.6
>=dev-libs/libxml2-2.6.23
>=dev-libs/libxslt-1.1.15
>=dev-db/mysql-4.0.26
>=dev-ruby/ruby-dbi-0.0.21
>=dev-ruby/mysql-ruby
|
2.
Installazione di Gorg
Definire le proprie USE flag per installare apache con o senza il supporto a
mod_fcgi, in base all'uso che se ne vuole fare. La USE flag mysql è
richiesta solo per il motore di ricerca integrato.
Importante:
Potrebbe essere necessario aggiungere una keyword per alcune dipendenze sulla
propria architettura. È possibile aggiungere una keyword per i pacchetti
richiesti oppure accettare una architettura diversa. gorg è stato installato e
testato su x86, amd64, alpha, sparc, ppc, mips & hppa.
|
Codice 2.1: Emergere gorg |
# emerge -pv gorg
# emerge gorg
|
3.
Configurazione di Gorg
Configurazione di apache
Nota:
Si può saltare questa sezione se non verrà utilizzato apache.
|
In caso si voglia utilizzare fastcgi, che è comunque consigliato, bisogna
aggiungere -D FCGID alla variabile APACHE2_OPTS nel file
/etc/conf.d/apache2.
Successivamente, integrare le direttive di configurazione per apache dal file di
esempio /etc/gorg/vhost.sample nella propria configurazione per i
vhost, ad esempio: /etc/apache2/vhosts.d/10_gorg.conf. I commenti
nel file di configurazione di esempio sono di aiuto.
Infine, copiare o creare un link simbolico agli script (c)cgi da
/usr/lib/ruby/site_ruby/<ruby-version>/gorg/fcgi-bin/gorg.fcgi
e
/usr/lib/ruby/site_ruby/<ruby-version>/gorg/cgi-bin/{gorg,search}.cgi
nelle cartelle (f)cgi del proprio sito web e verificare che siano eseguibili. È
consigliabile copiare search.cgi solo nel caso in cui si desidera
utilizzare il motore di ricerca integrato.
Configurazione di gorg
Creare una copia del file di configurazione di esempio
/etc/gorg/gorg.conf.sample chiamata /etc/gorg/gorg.conf
e modificarlo. I commenti sono di aiuto per definire i propri parametri.
È necessario come minimo definire la cartella radice per i documenti web.
Se non si vuole utilizzare il file di configurazione predefinito
/etc/gorg/gorg.conf, è necessario definire la variabile d'ambiente
chiamata GORG_CONF che punta al file di configurazione.
Importante:
Se si desidera utilizzare la cache, ed il suo uso è raccomandato, è bene
accertarsi che la cartella di cache definita nel file di configurazione abbia i
permessi corretti. Se si sta usando apache, l'utente apacha ha bisogno
dell'accesso totale a quella cartella.
|
Aggiungere i file mancanti
Supponendo di voler servire una copia locale di CVS, o una sua copia, o dei link
simbolici ad essa, è necessario scaricare alcuni file dalla cartella
dyn.
Codice 3.1: Aggiungere i file mancanti |
$ cd /percorso/cartella/radice/documenti
/htdocs $ cd dyn
/htdocs $ wget -O news-index.xml http://www.gentoo.org/dyn/news-index.xml?passthru=1
/htdocs $ cd ..
|
C'è anche la necessità di rendere le immagini disponibili al browser. La
cartella images si trova un livello sopra htdocs.
Basta definire un link simbolico e si è pronti a partire.
Codice 3.2: Creare un link simbolico alle immagini |
/htdocs $ ln -si ../images images
/htdocs $ ls -l
drwxr-xr-x 3 neysx users 128 Sep 14 17:45 css
drwxr-xr-x 31 neysx users 744 Oct 26 00:03 doc
drwxr-xr-x 3 neysx users 544 Nov 2 16:53 dtd
drwxr-xr-x 3 neysx users 168 Nov 3 16:24 dyn
-rw-r--r-- 1 neysx users 1406 Jun 7 2003 favicon.ico
lrwxrwxrwx 1 neysx users 10 Oct 21 22:29 images -> ../images/
-rw-r--r-- 1 neysx users 190 Nov 9 2002 index.xml
drwxr-xr-x 16 neysx users 384 Apr 1 2004 main
drwxr-xr-x 17 neysx users 6960 Nov 3 15:34 news
drwxr-xr-x 8 neysx users 192 Oct 23 14:52 proj
drwxr-xr-x 4 neysx users 96 Sep 17 14:05 security
drwxr-xr-x 3 neysx users 736 Nov 2 16:40 xsl
|
Nel CVS locale probabilmente appariranno delle voci in più, ma quelle
citate in precedenza dovrebbero essere disponibili e mantenute aggiornate.
Ricordarsi anche di mantenere la cartella images così com'è.
4.
Avviare Gorg
Il server web integrato
Il modo più semplice per provarlo è eseguire gorg. Dovrebbe apparire
qualcosa come:
Codice 4.1: Avviare gorg |
$ gorg
Avvio del server web Gorg sulla porta 8008
Digitare Ctrl-C oppure "kill 31479" per fermarlo
|
Puntare il browser su http://localhost:8008 e dovrebbe
essere possibile visualizzare il proprio sito preferito.
Con apache
Riavviare apache (/etc/init.d/apache2 restart) e visitare
http://localhost supponendo di averlo installato sulla propria
workstation.
Se si stanno utilizzando server fastcgi, dovrebbe essere possibile visualizzarli
con top -u apache.
Se non dovesse funzionare, provare il server web integrato (digitare
gorg). Se neanche questo metodo dovesse funzionare, verificare il file di
configurazione /etc/gorg/gorg.conf. Se invece dovesse funzionare,
verificare i file di configurazione di apache ed i log.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|