Tu sei qui: Portale > Varnish > Installazione di varnish dai sorgenti
Accedi


Hai dimenticato la tua password?
« febbraio 2012 »
febbraio
lumamegivesado
12345
6789101112
13141516171819
20212223242526
272829
 

Installazione di varnish dai sorgenti

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
— archiviato sotto: , ,

Breve howto sull'installazione di varnish 2.1 dai sorgenti git su piattaforma ubuntu 10.10

Premessa

Semplice guida per installare l'HTTP accelerator varnish dai sorgenti in modo da poter abilitare le funzionalità desiderate e per ottenere aggiornamenti a nuove feature e bugfix. Questa guida si basa su ubuntu 10.10 Maverick Meerkat e sul fatto che possediate un account sulla macchina che possa eseguire il comando sudo (amministratore) e che abbiate accesso ad internet. In ultimo si segnala che il sorgente verrà scaricato nella directory /usr/src/varnish e gli eseguibili verranno installati nella sotto /usr/local/varnish.

Installazione delle dipendenze

Per prima cosa dovremo installare tutti quei pacchetti che ci permetteranno di compilare correttamente varnish.

Iniziamo pure:

$ sudo apt-get install gcc
$ sudo apt-get install subversion
$ sudo apt-get install autotools-dev
$ sudo apt-get install automake1.9
$ sudo apt-get install libtool
$ sudo apt-get install libncurses5-dev
$ sudo apt-get install xsltproc
$ sudo apt-get install libpcre3-dev
$ sudo apt-get install pkg-config
$ sudo apt-get install python-docutils

A seguito del passaggio a git come repository dei sorgenti di varnish si dovrà installare:

sudo apt-get install git

Preparazione dell'ambiente e scaricamento dei sorgenti

 Adesso non resta che preparare il nostro ambiente per ottenere i sorgenti:

$ cd /usr/src
$ sudo mkdir varnish
$ sudo chmod g-s varnish
$ sudo chown `logname`:`logname` varnish

Nel caso il comando precedente restituisca un errore di gruppo non valido, questo avviene perchè se utilizzate l'utente "varnish" ma sul sistema non esiste il relativo gruppo "varnish" il comando restituisce il summenzionato errore, per ovviare potete omettere il gruppo oppure immetterlo voi manualmente:

$ sudo chown `logname` varnish

oppure con gruppo digitato a mano:

sudo chown `logname`:miogruppo varnish

 Adesso è giunto il momento di scaricare i sorgenti:

$ cd varnish
$ pwd
/usr/src/varnish
$ git clone git://git.varnish-cache.org/varnish-cache

A seconda della propria velocità di connessione ad internet il download potrebbe durare da pochi secondi a qualche minuto.

Compilazione ed installazione

Se tutti i passi precedenti sono andati a buon fine possiamo iniziare la compilazione:

$ cd /usr/src/varnish/varnish-cache
$ ./autogen.sh
$ ./configure --prefix=/usr/local/varnish --enable-stack-protector

Nel comando precedente si abilitano le ottimizzazioni, o passatemi il termine "disottimizzazioni", di gcc per la protezione dello stack, ovvero l'aggiunta di check ulteriori nel codice per cercare di prevenire i buffer overflow. Su ubuntu questi flag di compilazione dovrebbero essere abilitati di default ma risulta sempre conveniente esplicitarlo.

Nel caso vediate un warning per la funzione sendfile() nessun problema, qui potrete trovare le motivazioni. Di seguito il warning per maggiore chiarezza:

...
configure: WARNING: won't look for sendfile() on x86_64-unknown-linux-gnu
...

Compilazione

Adesso è giunto il momento di compilare varnish:

$ cd /usr/src/varnish/varnish-cache 
$ time make -j`cat /proc/cpuinfo | egrep 'processor' | \
     awk '{ print $3 }' | sort -rn | head -1 | xargs expr 1 + `

L'ultimo comando non fa altro che ricavare dal file /proc/cpuinfo il numero di cpu in modo tale da lanciare un "make -jN" dove N corrisponde al numero di cpu presenti sul sistema; se preferite potete sempre lanciare il canonico:

$ time make

Che impiegherà soltanto più tempo per la compilazione, ma che comunque su un sistema dual core con 2G di RAM la differenza si è attestata tra circa 20 secondi per la prima soluzione e circa 35 secondi per la seconda.

Installazione

Siamo giunti al momento di eseguire l'installazione di varnish:

$ cd /usr/src/varnish/varnish-cache
$ sudo make install

Se il comando precedente è andato a buon fine nella directory /usr/local/varnish troveremo tutto ciò che ci occorre per eseguire varnish cache.

Aggiornamenti

Nel caso si vogliano aggiornare i sorgenti per correzioni di bug o innalzamento di minor release si potranno eseguire i seguenti comandi:

$ cd /usr/src/varnish/varnish-cache
$ git pull

Ora per poter compilare i sorgenti il mio consiglio è di dare prima un make clean onde evitare possibili problemi e dato il poco tempo dovuto alla compilazione; comunque se preferite potrete lanciare soltanto un make -jN. Di seguito la prima soluzione:

$ cd /usr/src/varnish/varnish-cache
$ ./configure --prefix=/usr/local/varnish --enable-stack-protector
$ time make -j`cat /proc/cpuinfo | egrep 'processor' | \
     awk '{ print $3 }' | sort -rn | head -1 | xargs expr 1 + `

Conclusioni

Se tutto è andato bene dovreste avere installato sotto /usr/local/varnish tutto l'occorrente per poter eseguire varnish 2.1. Nel caso vi servisse avviare/stoppare in maniera automatica il servizio varnish tramite init script potete fare riferimento a questa guida.

Azioni sul documento