Lighttpd(LightHttpd) - 安装/配置预备??文章声明???作者:傲风(aofengblog@163.com)???????编写时间:2008
Lighttpd(LightHttpd) - 安装/配置
预备
??文章声明
???
作者:傲风(aofengblog@163.com)???????编写时间:2008年12月11日?
网址:http://aofengblog.blog.163.com
?
SUSELinux9
lighttpd-1.4.20.tar.gz
pcre-7.8.tar.gz
zlib-1.2.3.tar.gz
安装
1、Zlib
1)安装Zlib。
./configure --prefix=/nfs10/aofeng/zlib-1.2.3 --sharedChecking for gcc...
Checking for shared library support...
Building shared library libz.so.1.2.3 with gcc.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
makegcc -fPIC -O3 -DUSE_MMAP?? -c -o example.o example.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o adler32.o adler32.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o compress.o compress.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o crc32.o crc32.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o gzio.o gzio.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o uncompr.o uncompr.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o deflate.o deflate.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o trees.o trees.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o zutil.o zutil.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o inflate.o inflate.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o infback.o infback.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o inftrees.o inftrees.c
gcc -fPIC -O3 -DUSE_MMAP?? -c -o inffast.o inffast.c
gcc -shared -Wl,-soname,libz.so.1 -o libz.so.1.2.3 adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
rm -f libz.so libz.so.1
ln -s libz.so.1.2.3 libz.so
ln -s libz.so.1.2.3 libz.so.1
gcc -fPIC -O3 -DUSE_MMAP -o example example.o -L. libz.so.1.2.3
gcc -fPIC -O3 -DUSE_MMAP?? -c -o minigzip.o minigzip.c
gcc -fPIC -O3 -DUSE_MMAP -o minigzip minigzip.o -L. libz.so.1.2.3
make check???????????# 这一步也可以不执行,只是为了校验make是否成功
hello world
zlib version 1.2.3 = 0x1230, compile flags = 0x55
uncompress(): hello, hello!
gzread(): hello, hello!
gzgets() after gzseek:? hello!
inflate(): hello, hello!
large_inflate(): OK
after inflateSync(): hello, hello!
inflate with dictionary: hello, hello!
??????????????? *** zlib test OK ***
make install
cp zlib.h zconf.h /nfs10/aofeng/zlib-1.2.3/include
chmod 644 /nfs10/aofeng/zlib-1.2.3/include/zlib.h /nfs10/aofeng/zlib-1.2.3/include/zconf.h
cp libz.so.1.2.3 /nfs10/aofeng/zlib-1.2.3/lib
cd /nfs10/aofeng/zlib-1.2.3/lib; chmod 755 libz.so.1.2.3
cd /nfs10/aofeng/zlib-1.2.3/lib; if test -f libz.so.1.2.3; then \
? rm -f libz.so libz.so.1; \
? ln -s libz.so.1.2.3 libz.so; \
? ln -s libz.so.1.2.3 libz.so.1; \
? (ldconfig || true)? >/dev/null 2>&1; \
fi
cp zlib.3 /nfs10/aofeng/zlib-1.2.3/share/man/man3
chmod 644 /nfs10/aofeng/zlib-1.2.3/share/man/man3/zlib.3
2)查看Zlib安装后生成的文件。
首先进入Zlib安装时用--prefix指定的目录,安装后生成了三个目录:include、lib、share。
ls
include? lib? share
ls -l libtotal 82
lrwxrwxrwx? 1 aofeng users??? 13 2008-12-10 17:14 libz.so -> libz.so.1.2.3
lrwxrwxrwx? 1 aofeng users??? 13 2008-12-10 17:14 libz.so.1 -> libz.so.1.2.3
-rwxr-xr-x? 1 aofeng users 81607 2008-12-10 17:14 libz.so.1.2.3
ls -l includetotal 75
-rw-r--r--? 1 aofeng users? 9544 2008-12-10 17:14 zconf.h
-rw-r--r--? 1 aofeng users 66188 2008-12-10 17:14 zlib.h
3)将Zlib加入环境变量。
ZLIB_HOME=$USER_HOME/zlib-1.2.3
LD_LIBRARY_PATH=$ZLIB_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
2、Pcre
1)安装Pcre。
./configure --prefix=/nfs10/aofeng/pcre-7.8 --enable-utf8 --enable-unicode-properties…… ……
pcre-7.8 configuration summary:
??? Install prefix .................. : /nfs10/nieyong/pcre-7.8
??? C preprocessor .................. : gcc -E
??? C compiler ...................... : gcc
??? C++ preprocessor ................ : g++ -E
??? C++ compiler .................... : g++
??? Linker .......................... : /usr/i586-suse-linux/bin/ld
??? C preprocessor flags ............ :?
??? C compiler flags ................ : -O2
??? C++ compiler flags .............. : -O2
??? Linker flags .................... :?
??? Extra libraries ................. :?
??? Build C++ library ............... : yes
??? Enable UTF-8 support ............ : yes
??? Unicode properties .............. : yes
??? Newline char/sequence ........... : lf
??? \R matches only ANYCRLF ......... : no
??? EBCDIC coding ................... : no
??? Rebuild char tables ............. : no
??? Use stack recursion ............. : yes
??? POSIX mem threshold ............. : 10
??? Internal link size .............. : 2
??? Match limit ..................... : 10000000
??? Match limit recursion ........... : MATCH_LIMIT
??? Build shared libs ............... : yes
??? Build static libs ............... : yes
??? Link pcregrep with libz ......... : no
??? Link pcregrep with libbz2 ....... : no
??? Link pcretest with libreadline .. : no
make…… ……
make install…… ……
2)查看Pcre安装的文件。
首先进入Pcre安装时用--prefix指定的目录,安装后生成了四个目录:bin、include、lib、share。
ls
bin? include? lib? share
ls -l bin
total 79
-rwxr-xr-x? 1 aofeng users? 1260 2008-12-10 17:32 pcre-config
-rwxr-xr-x? 1 aofeng users 31899 2008-12-10 17:32 pcregrep
-rwxr-xr-x? 1 aofeng users 45875 2008-12-10 17:32 pcretest
ls -l include
total 65
-rw-r--r--? 1 aofeng users? 6783 2008-12-10 17:32 pcrecpparg.h
-rw-r--r--? 1 aofeng users 26253 2008-12-10 17:32 pcrecpp.h
-rw-r--r--? 1 aofeng users 12481 2008-12-10 17:32 pcre.h
-rw-r--r--? 1 aofeng users? 5029 2008-12-10 17:32 pcreposix.h
-rw-r--r--? 1 aofeng users? 6600 2008-12-10 17:32 pcre_scanner.h
-rw-r--r--? 1 aofeng users? 6216 2008-12-10 17:32 pcre_stringpiece.h
ls -l lib
total 555
-rw-r--r--? 1 aofeng users 221702 2008-12-10 17:32 libpcre.a
-rw-r--r--? 1 aofeng users? 35430 2008-12-10 17:32 libpcrecpp.a
-rwxr-xr-x? 1 aofeng users??? 887 2008-12-10 17:32 libpcrecpp.la
lrwxrwxrwx? 1 aofeng users???? 19 2008-12-10 17:32 libpcrecpp.so -> libpcrecpp.so.0.0.0
lrwxrwxrwx? 1 aofeng users???? 19 2008-12-10 17:32 libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
-rwxr-xr-x? 1 aofeng users? 41344 2008-12-10 17:32 libpcrecpp.so.0.0.0
-rwxr-xr-x? 1 aofeng users??? 805 2008-12-10 17:32 libpcre.la
-rw-r--r--? 1 aofeng users?? 3518 2008-12-10 17:32 libpcreposix.a
-rwxr-xr-x? 1 aofeng users??? 879 2008-12-10 17:32 libpcreposix.la
lrwxrwxrwx? 1 aofeng users???? 21 2008-12-10 17:32 libpcreposix.so -> libpcreposix.so.0.0.0
lrwxrwxrwx? 1 aofeng users???? 21 2008-12-10 17:32 libpcreposix.so.0 -> libpcreposix.so.0.0.0
-rwxr-xr-x? 1 aofeng users?? 9087 2008-12-10 17:32 libpcreposix.so.0.0.0
lrwxrwxrwx? 1 aofeng users???? 16 2008-12-10 17:32 libpcre.so -> libpcre.so.0.0.1
lrwxrwxrwx? 1 aofeng users???? 16 2008-12-10 17:32 libpcre.so.0 -> libpcre.so.0.0.1
-rwxr-xr-x? 1 aofeng users 215060 2008-12-10 17:32 libpcre.so.0.0.1
drwxr-xr-x? 2 aofeng users??? 512 2008-12-10 17:32 pkgconfig
3)将pcre加入环境变量。
PCRE_HOME=$USER_HOME/pcre-7.8
PATH=$PCRE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$PCRE_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
3、Lighttpd。
1)安装Lighttpd。
./configure --prefix=/nfs10/nieyong/lighttpd-1.4.20
…… ……
checking for perl regular expressions support... yes
checking for pcre-config... /nfs10/nieyong/pcre-7.8/bin/pcre-config
checking for pcre_compile in -lpcre... yes
checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking for zlib support... yes
checking for deflate in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
…… ……
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating tests/Makefile
config.status: creating tests/docroot/Makefile
config.status: creating tests/docroot/123/Makefile
config.status: creating tests/docroot/www/Makefile
config.status: creating tests/docroot/www/go/Makefile
config.status: creating tests/docroot/www/indexfile/Makefile
config.status: creating tests/docroot/www/expire/Makefile
config.status: creating distribute.sh
config.status: creating cygwin/Makefile
config.status: creating cygwin/lighttpd.README
config.status: creating openwrt/Makefile
config.status: creating openwrt/control
config.status: creating openwrt/lighttpd.mk
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
Plugins:
enabled:?
? mod_access
? mod_accesslog
? mod_alias
? mod_auth
? mod_cgi
? mod_compress
? mod_dirlisting
? mod_evhost
? mod_expire
? mod_extforward
? mod_fastcgi
? mod_flv_streaming
? mod_indexfiles
? mod_proxy
? mod_redirect
? mod_rewrite
? mod_rrdtool
? mod_scgi
? mod_secdownload
? mod_setenv
? mod_simple_vhost
? mod_ssi
? mod_staticfile
? mod_status
? mod_trigger_b4_dl
? mod_userdir
? mod_usertrack
? mod_webdav
disabled:?
? mod_cml
? mod_magnet
? mod_mysql_vhost
Features:
enabled:?
? auth-crypt
? compress-bzip2
? compress-deflate
? compress-gzip
? large-files
? network-ipv6
? regex-conditionals
disabled:?
? auth-ldap
? network-openssl
? stat-cache-fam
? storage-gdbm
? storage-memcache
? webdav-locks
? webdav-properties
注意:如果没有将pcre的bin目录加入环境变量PATH中,在执行这个步骤时将报错:
checking for pcre-config... no
configure: error: pcre-config not found, install the pcre-devel package or build with --without-pcre
并且中断安装。
make
…… ……
make install
…… ……
2)查看Lighttpd安装的文件。
首先进入Lighttpd安装时用--prefix指定的目录,安装后生成了四个目录:bin、lib、sbin、share。
ls
bin? lib? sbin? share
ls -l bin
total 25
-rwxr-xr-x? 1 aofeng users 25354 2008-12-11 10:25 spawn-fcgi
ls -l lib
total 1370
-rwxr-xr-x? 1 aofeng users?? 812 2008-12-11 10:25 mod_access.la
-rwxr-xr-x? 1 aofeng users?? 830 2008-12-11 10:25 mod_accesslog.la
-rwxr-xr-x? 1 aofeng users 41403 2008-12-11 10:25 mod_accesslog.so
-rwxr-xr-x? 1 aofeng users 28020 2008-12-11 10:25 mod_access.so
-rwxr-xr-x? 1 aofeng users?? 806 2008-12-11 10:25 mod_alias.la
-rwxr-xr-x? 1 aofeng users 29371 2008-12-11 10:25 mod_alias.so
-rwxr-xr-x? 1 aofeng users?? 808 2008-12-11 10:25 mod_auth.la
-rwxr-xr-x? 1 aofeng users 71303 2008-12-11 10:25 mod_auth.so
-rwxr-xr-x? 1 aofeng users?? 794 2008-12-11 10:25 mod_cgi.la
-rwxr-xr-x? 1 aofeng users 51968 2008-12-11 10:25 mod_cgi.so
-rwxr-xr-x? 1 aofeng users?? 798 2008-12-11 10:25 mod_cml.la
-rwxr-xr-x? 1 aofeng users 42773 2008-12-11 10:25 mod_cml.so
-rwxr-xr-x? 1 aofeng users?? 847 2008-12-11 10:25 mod_compress.la
-rwxr-xr-x? 1 aofeng users 45232 2008-12-11 10:25 mod_compress.so
-rwxr-xr-x? 1 aofeng users?? 905 2008-12-11 10:25 mod_dirlisting.la
-rwxr-xr-x? 1 aofeng users 49330 2008-12-11 10:25 mod_dirlisting.so
-rwxr-xr-x? 1 aofeng users?? 818 2008-12-11 10:24 mod_evasive.la
-rwxr-xr-x? 1 aofeng users 27225 2008-12-11 10:24 mod_evasive.so
-rwxr-xr-x? 1 aofeng users?? 812 2008-12-11 10:25 mod_evhost.la
-rwxr-xr-x? 1 aofeng users 31803 2008-12-11 10:25 mod_evhost.so
-rwxr-xr-x? 1 aofeng users?? 812 2008-12-11 10:25 mod_expire.la
-rwxr-xr-x? 1 aofeng users 33230 2008-12-11 10:25 mod_expire.so
-rwxr-xr-x? 1 aofeng users?? 836 2008-12-11 10:25 mod_extforward.la
-rwxr-xr-x? 1 aofeng users 35990 2008-12-11 10:25 mod_extforward.so
-rwxr-xr-x? 1 aofeng users?? 818 2008-12-11 10:25 mod_fastcgi.la
-rwxr-xr-x? 1 aofeng users 98847 2008-12-11 10:25 mod_fastcgi.so
-rwxr-xr-x? 1 aofeng users?? 854 2008-12-11 10:24 mod_flv_streaming.la
-rwxr-xr-x? 1 aofeng users 32019 2008-12-11 10:24 mod_flv_streaming.so
-rwxr-xr-x? 1 aofeng users?? 830 2008-12-11 10:25 mod_indexfile.la
-rwxr-xr-x? 1 aofeng users 29599 2008-12-11 10:25 mod_indexfile.so
-rwxr-xr-x? 1 aofeng users?? 816 2008-12-11 10:25 mod_magnet.la
-rwxr-xr-x? 1 aofeng users 22186 2008-12-11 10:25 mod_magnet.so
-rwxr-xr-x? 1 aofeng users?? 842 2008-12-11 10:25 mod_mysql_vhost.la
-rwxr-xr-x? 1 aofeng users 23112 2008-12-11 10:25 mod_mysql_vhost.so
-rwxr-xr-x? 1 aofeng users?? 806 2008-12-11 10:25 mod_proxy.la
-rwxr-xr-x? 1 aofeng users 50236 2008-12-11 10:25 mod_proxy.so
-rwxr-xr-x? 1 aofeng users?? 893 2008-12-11 10:25 mod_redirect.la
-rwxr-xr-x? 1 aofeng users 31520 2008-12-11 10:25 mod_redirect.so
-rwxr-xr-x? 1 aofeng users?? 887 2008-12-11 10:25 mod_rewrite.la
-rwxr-xr-x? 1 aofeng users 35654 2008-12-11 10:25 mod_rewrite.so
-rwxr-xr-x? 1 aofeng users?? 818 2008-12-11 10:25 mod_rrdtool.la
-rwxr-xr-x? 1 aofeng users 36012 2008-12-11 10:25 mod_rrdtool.so
-rwxr-xr-x? 1 aofeng users?? 800 2008-12-11 10:25 mod_scgi.la
-rwxr-xr-x? 1 aofeng users 77361 2008-12-11 10:25 mod_scgi.so
-rwxr-xr-x? 1 aofeng users?? 842 2008-12-11 10:25 mod_secdownload.la
-rwxr-xr-x? 1 aofeng users 30691 2008-12-11 10:25 mod_secdownload.so
-rwxr-xr-x? 1 aofeng users?? 812 2008-12-11 10:25 mod_setenv.la
-rwxr-xr-x? 1 aofeng users 29386 2008-12-11 10:25 mod_setenv.so
-rwxr-xr-x? 1 aofeng users?? 848 2008-12-11 10:25 mod_simple_vhost.la
-rwxr-xr-x? 1 aofeng users 30789 2008-12-11 10:25 mod_simple_vhost.so
-rwxr-xr-x? 1 aofeng users?? 863 2008-12-11 10:25 mod_ssi.la
-rwxr-xr-x? 1 aofeng users 85299 2008-12-11 10:25 mod_ssi.so
-rwxr-xr-x? 1 aofeng users?? 836 2008-12-11 10:25 mod_staticfile.la
-rwxr-xr-x? 1 aofeng users 38347 2008-12-11 10:25 mod_staticfile.so
-rwxr-xr-x? 1 aofeng users?? 812 2008-12-11 10:25 mod_status.la
-rwxr-xr-x? 1 aofeng users 46027 2008-12-11 10:25 mod_status.so
-rwxr-xr-x? 1 aofeng users?? 923 2008-12-11 10:25 mod_trigger_b4_dl.la
-rwxr-xr-x? 1 aofeng users 29875 2008-12-11 10:25 mod_trigger_b4_dl.so
-rwxr-xr-x? 1 aofeng users?? 818 2008-12-11 10:25 mod_userdir.la
-rwxr-xr-x? 1 aofeng users 32006 2008-12-11 10:25 mod_userdir.so
-rwxr-xr-x? 1 aofeng users?? 830 2008-12-11 10:25 mod_usertrack.la
-rwxr-xr-x? 1 aofeng users 31338 2008-12-11 10:25 mod_usertrack.so
-rwxr-xr-x? 1 aofeng users?? 812 2008-12-11 10:25 mod_webdav.la
-rwxr-xr-x? 1 aofeng users 60180 2008-12-11 10:25 mod_webdav.so
ls -l sbin
total 591
-rwxr-xr-x? 1 aofeng users 573917 2008-12-11 10:25 lighttpd
-rwxr-xr-x? 1 aofeng users? 14657 2008-12-11 10:25 lighttpd-angel
验证
1)显示Lighttpd的版本信息。
进入sbin目录。
./lighttpd -v
lighttpd-1.4.20 - a light and fast webserver
Build-Date: Dec 11 2008 10:18:59
2)显示编译特性。
./lighttpd -V
lighttpd-1.4.20 - a light and fast webserver
Build-Date: Dec 11 2008 10:18:59
Event Handlers:
??????? + select (generic)
??????? + poll (Unix)
??????? + rt-signals (Linux 2.4+)
??????? + epoll (Linux 2.6)
??????? - /dev/poll (Solaris)
??????? - kqueue (FreeBSD)
Network handler:
??????? + sendfile
Features:
??????? + IPv6 support
??????? + zlib support
??????? + bzip2 support
??????? + crypt support
??????? - SSL Support
??????? + PCRE support
??????? - mySQL support
??????? - LDAP support
??????? - memcached support
??????? - FAM support
??????? - LUA support
??????? - xml support
??????? - SQLite support
??????? - GDBM support
3)拷贝配置文件。
为了便于管理,在lighttpd的安装目录下新建一个目录:config,专门用于存放配置文件。
将配置文件lighttpd.conf从lighttpd的安装源文件的doc目录下复制到config目录下。
4)建立应用根目录。
仿JAVA的WEB容器,在lighttpd的安装目录下建立一个目录:webapps,作为lighttpd的默认应用根目录。
修改配置文件:
server.document-root??????? = "/srv/www/htdocs/"
将“=”后面的值修改成实际的路径,这里是$LIGHTTPD_HOME/webapps。
5)建立日志目录。
在lighttpd的安装目录下建立一个目录:logs,作为存放lighttpd存放日志的目录。
修改配置文件:
server.errorlog???????????? = "/var/log/lighttpd/error.log"
accesslog.filename?????? = "/var/log/lighttpd/access.log"
6)检查Lighttpd的配置文件。
./lighttpd -t -f /nfs10/aofeng/lighttpd-1.4.20/config/lighttpd.conf?
Syntax OK
7)启动Lighttpd。
./lighttpd -f /nfs10/nieyong/lighttpd-1.4.20/config/lighttpd.conf
8)打开浏览器,输入URL,界面如下(这是我自定义的一个主页):
参考资料
1、http://redmine.lighttpd.net/wiki/lighttpd/TutorialInstallation