= Setting up Varnish for your Noosfero site Varnish is a HTTP caching server, and using it together with Noosfero is highly recommended. See http://www.varnish-cache.org/ for more information on Varnish. Varnish can be set up to use with Noosfero with the following steps: 1) setup Noosfero with apache according to the INSTALL file. 2) install Varnish # apt-get install varnish Noosfero was tested with Varnish 2.x. If you are using a Debian Lenny (and you should, unless Debian already released Squeeze by now), make sure you install varnish from the lenny-backports suite. 3) Enable varnish logging: 3a) Edit /etc/default/varnishncsa and uncomment the line that contains: VARNISHNCSA_ENABLED=1 The varnish log will be written to /var/log/varnish/varnishncsa.log in an apache-compatible format. You should change your statistics generation software (e.g. awstats) to use that instead of apache logs. 3b) Restart Varnish Logging service # invoke-rc.d varnishncsa start 4) Change Apache to listen on port 8080 instead of 80 4a) Edit /etc/apache2/ports.conf, and: * change 'Listen 80' to 'Listen 127.0.0.1:8080' * change 'NameVirtualHost *:80' to 'NameVirtualHost *:8080' 4b) Edit /etc/apache2/sites-enabled/*, and change '' to '' 4c) Restart apache # invoke-rc.d apache2 restart 5) Change Varnish to listen on port 80 5a) Edit /etc/default/varnish and change '-a :6081' to '-a :80' 5b) Restart Varnish # invoke-rc.d varnish restart 6) Configure varnish to fit noosfero (assuming Noosfero is installed in /var/lib/noosfero) 6a) Configure noosfero to do specific routines to varnish Add the following line to your /etc/varnish/default.vcl file: include "/var/lib/noosfero/etc/noosfero/varnish-noosfero.vcl"; 6b) Configure varnish to store separate caches for each language Add the following line to your /etc/varnish/default.vcl file: include "/var/lib/noosfero/etc/noosfero/varnish-accept-language.vcl"; 7) Restart Varnish # invoke-rc.d varnish restart Thanks to Cosimo Streppone for varnish-accept-language. See http://github.com/cosimo/varnish-accept-language for more information. -- Antonio Terceiro Sat, 04 Sep 2010 17:29:27 -0300