Project

General

Profile

InstallFromSource » History » Revision 3

Revision 2 (stbuehler, 2009-03-28 15:57) → Revision 3/35 (stbuehler, 2009-03-31 12:58)

h1. InstallFromSource 

 h2. Get the source 

 You can either use a release from http://www.lighttpd.net/download or compile from svn: 
 * Using a release/snapshot: 
   Extract the tar ball and enter the new directory: 
   <pre> 
 tar -xf lighttpd-1.4.XXX.tar.gz 
 cd lighttpd-1.4.XXX 
 </pre> 
 * svn (you will need autoconf and automake for this): 
   First time: 
   <pre> 
 svn checkout svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x/ 
 cd lighttpd-1.4.x 
 ./autogen.sh 
 </pre> 
   Next time from @lighttpd-1.4.x/@: 
   <pre> 
 svn update 
 ./autogen.sh 
 </pre> 

 h3. lighttpd 1.5 (development branch) 

 lighttpd 1.5 is not released yet, but you may checkout the source from: 
 <pre> 
 svn checkout svn://svn.lighttpd.net/lighttpd/trunk/ 
 cd trunk 
 ./autogen.sh 
 </pre> 

 See [[DevelSubversion]] and [[Devel]]. 

 h2. Install dependencies 

 Depending on which features you want, you need other libraries; you will want at least libpcre and zlib, for more see [[OptionalLibraries]]. 
 On most systems you need to install the development version of the library packages, the library itself won't be enough! 

 Here is the list used for the debian packages (without the packaging parts): libssl-dev, zlib1g-dev, libbz2-dev, libattr1-dev, libpcre3-dev, libmysqlclient15-dev, libfam-dev, libldap2-dev, libfcgi-dev, libgdbm-dev, libmemcache-dev, liblua5.1-0-dev, pkg-config, uuid-dev, libsqlite3-dev, libxml2-dev, libkrb5-dev. 

 h2. Configure 

 Now you have to use the @./configure@ script - there is a help option for it: 
 <pre> 
 ./configure --help 
 </pre> 

 Don't forget to set the @--prefix@ if you don't want to install in /usr/local. 

 h2. Build 

 If the configure step was successful, you can now build it: 
 <pre> 
 make 
 </pre> 

 h2. Install 

 After a successful build you may install the package. This is not needed, but you will have to give lighttpd the correct location of the modules if you don't (see ./lighttpd -h). 
 As you hopefully didn't use root to build the package, you probably have now to get root access: 
 <pre> 
 su make install 
 </pre> 

 h2. Init script 

 The init-script that is shipped with the source-tarball is meant to be run on a LSB conforming platform like SuSE, Fedora or Debian. 
 <pre> 
 sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd > /etc/init.d/lighttpd 
 chmod a+rx /etc/init.d/lighttpd 
 cp -p doc/sysconfig.lighttpd /etc/sysconfig/lighttpd 
 install -Dp ./doc/lighttpd.conf /etc/lighttpd/lighttpd.conf 
 chkconfig lighttpd on 
 </pre> 

 If you're running *CentOS* or *RHEL* you might need to change the first line to this 
 <pre> 
 sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd.redhat > /etc/init.d/lighttpd 
 </pre> 

 In *Debian* / *Ubuntu* you use update-rc.d rather than chkconfig: 
 <pre> 
 update-rc.d lighttpd defaults 
 </pre> 

 h2. Supervise 

 As an alternative to init scripts you can setup a "supervised" lighttpd with daemontools or runit, see [[LighttpdUnderSupervise]]