Linux AS5下的larbin(2.6.3)安装纪录
tar zxvf larbin-2.6.3.tar.gz
修改./adns/internal.h文件,把568-571行直接注释掉
如果不注释掉就会出现以下这种类型的错误
config.h is unchanged (cd src; gmake dep) gmake[1]: Entering directory `/usr/local/server/larbin/larbin-2.6.3/src’ cp ../config.h . for d in utils interf fetch; do (cd $d; gmake dep-in); done gmake[2]: Entering directory `/usr/local/server/larbin/larbin-2.6.3/src/utils’ makedepend -f- -I.. -Y *.cc 2> /dev/null > .depend gmake[2]: Leaving directory `/usr/local/server/larbin/larbin-2.6.3/src/utils’
注释掉options.h中的这行:#define DEFAULT_OUTPUT // do nothing…,
然后使其余的行生效(每行含义,看下面的说明)让SIMPLE_SAVE :生效,取消#define RELOAD的注释(这是下次启动从上次停止的位置开始), 取消#define CRASH的注释,采用 make debug进行编译
修改完毕后
./configure
make
现在安装成功了,我们要进行一些文件的配置
修改配置文件: [...]
如何实现apache的rewrite伪静态
首先确定您使用的 Apache版本,及是否加载了mod_rewrite模块。
Apache1.x的用户请检查conf/httpd.conf中是否存在如下两段代码:
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:
LoadModule rewrite_module modules/mod_rewrite.so
如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 <VirtualHost> 中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3
RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2
</IfModule>
如果没有安装 mod_rewrite,您可以重新编译 Apache,并在原有configure的内容中加入–enable-rewrite=shared,然后再在 Apache 配置文件中加入上述代码即可。
linux下lighttpd编译安装调试优化全攻略
一,Linux下使用lighttpd
lighttpd在支持纯静态的对象时,比如图片,文件等 ,
lighttpd速度更快,更理想
二,从何处下载lighttpd
http://www.lighttpd.net/download/
三,安装
1,编译安装
./configure –prefix=/usr/local/lighttpd
make
make install
configure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检查一下,是否自己需要的模块都已经激活,在enable的模块中一定要有“mod_rewrite”这一项,否则重新检查pcre是否安装。
2,编译后配置
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
如果你的Linux是RedHat/CentOS,那么:
cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd
如果你的Linux是SuSE,那么:
cp doc/rc.lighttpd /etc/init.d/lighttpd
其他Linux发行版本可以自行参考该文件内容进行修改。
然后修改/etc/init.d/lighttpd,把
LIGHTTPD_BIN=/usr/sbin/lighttpd
改为
LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd
此脚本用来控制lighttpd的启动关闭和重起:
/etc/init.d/lighttpd start?
/etc/init.d/lighttpd stop?
/etc/init.d/lighttpd restart
3,配置
修改/etc/lighttpd/lighttpd.conf
1)server.modules
取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi, mod_compress,mod_accesslog是一般需要用到的。
我们放开 “mod_rewrite”
“mod_compress”,
2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录
server.document-root = “/www/phc/html/”
mkdir /usr/local/lighttpd/logs
chmod 777 /usr/local/lighttpd/logs/
touch /usr/local/lighttpd/logs/error.log
chmod 777 /usr/local/lighttpd/logs/error.log
server.errorlog = “/usr/local/lighttpd/logs/error.log”
accesslog.filename = “|/usr/sbin/cronolog /usr/local/lighttpd/logs/%Y/%m/%d/accesslog.log”
3)用什么权限来运行lighttpd
server.username = “nobody”
server.groupname = “nobody”
从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。
4)静态文件压缩
mkdir /usr/local/lighttpd/compress
chmod 777 /usr/local/lighttpd/compress/
compress.cache-dir = “/usr/local/lighttpd/compress/”
compress.filetype = (”text/plain”, “text/html”,”text/javascript”,”text/css”)
可以指定某些静态资源类型使用压缩方式传输,节省带宽,
对于大量AJAX应用来说,可以极大提高页面加载速度。
5)server.port = 81
6)#$HTTP["url"] =~ “\.pdf$” {
131 # server.range-requests = “disable”
132 #}
4,优化
1 [...]
使用Varnish反向代理缓存的安装配置
增加一个varnish帐户
useradd -d /dev/null -s /sbin/nologin varnish
下载varnish
wget http://nchc.dl.sourceforge.net/sourceforge/varnish/varnish-1.1.1.tar.gz
解压
tar zxvf varnish-1.1.1.tar.gz
cd varnish-1.1.1
配置
./configure –prefix=/usr/local/varnish
编译
make
安装
make install
设置相关目录
cd /usr/local/varnish
mkdir var
mkdir logs
mkdir etc
mkdir cache
配置文件
touch /usr/local/varnish/etc/cache.vcl
touch /usr/local/varnish/stopv
touch /usr/local/varnish/startv
touch /usr/local/varnish/resetv
chmod +x /usr/local/varnish/stopv
chmod +x /usr/local/varnish/startv
chmod +x /usr/local/varnish/resetv
修改权限
cd ..
chown -R varnish varnish
chgrp -R varnish varnish
cache.vcl内容
backend www1 {
set backend.host = “后端真实的web IP1″;
set backend.port = “http”;
}
backend www2 {
set backend.host = “后端真实的web IP2″;
set backend.port = “http”;
}
backend www3 {
set backend.host [...]
如何编译开源软件
基本上,尤其在Windows 和Mac OS X系统下,已经开发好的软件不需要用户再编译。程序员写好代码并编译后,封装为计算机可执行的二进制形式,用户就可以直接使用了。
然而现在,随着开源软件的增多,每个人都可以读和使用源代码,因而软件编译的最后一步工作已经转移到了用户身上,而且他们得根据自己使用的系统,Windows XP, Windows Vista, Mac OS X Tiger, Panther, Linux x86……来做编译工作。
如果你发现自己不得不编译一段软件的代码,那么过程并不复杂。虽然每段代码的性质各不相同,但有一套共同的方法。
首先,准备好命令行和编辑器。我针对主流操作系统分别做简单的解释:
Linux:已经具备了命令行和一个叫GCC 的编辑器。在命令行中输入gcc ,如果“command not found”,那么请安装GCC。
Mac OS X:命令行是Terminal,位于Applications/Utilities。你需要下载XCode ,它包含Apple的编辑器。
Windows:微软在免费下载的Visual Studio Express中提供了编辑器,但是Cygwin 界面更友好。安装中要注意的是:要选择“Devel”部分中所有的安装包。
下载:基本上所有的源数据包都有.tgz或者.tar.gz的后缀,有文件名和版本号,比如example-3.2.8.tar.gz。建立一个名为“source”或者“build”的目录,下载并放在该目录中。
解压缩:从命令行进入工作目录(用cd命令):cd source? 最快的方法是:
tar -xzvf example-3.2.8.tar.gz
这会将所有的源代码解压到一个新的子目录中,而且文件名跟应用是一样的。进入目录只需要敲:
cd example-3.2.8
读文档:在代码的文件包中会有像README 和INSTALL之类的文件,一定要读。你也可以使用less 命令在命令行中读取:less INSTALL? 或者直接用合适的格式打开它们,它们会告诉你要安装哪些包、安装指南、注意问题等。
Building:虽然各有不同,但大抵方法如下:输入:./configure 运行配置工具会告诉你缺少哪些软件和重要的文件的位置。有时候你需要自己指明特定文件在你计算机上的位置,比如:
./configure –ssl-dir=/usr/local/include?
Configuration 过程要用几分钟,当它完毕的时候,你就可以编译了。如果出现错误,参考下面的Troubleshooting。编译请输入:
make
一切顺利就开始编译了。编译会占用一段时间而且当运行时会占用你电脑的所有进程。不要担心,当编译结束的时候,如果你仍然没有看到已错误,那你已经搞定了。剩下要做的只是将不同的文件放到文件系统中:
make install
Troubleshooting: 如果以上的步骤有遇到错误,有方法让你知道问题所在。确认你是否严格地按要求执行以上步骤。如果你还是不能知道错误所在,上网搜寻或者去论坛,或者咨询该软件的开发者。
Linux下squid代理服务-安装篇
应用最广泛的是Squid
优点:功能强大、配置简单、文档丰富;
缺点:目前支持的协议尚不够广泛,对超大型应用略感吃力,不过这些不足都在慢慢完善之中。
配置命令configure有很多选项,如果不清楚可先用“-help”查看。通常情况下,用到的选项有以下几个:
–prefix=/web/squid #指定Squid的安装位置,如果只指定这一选项,那么该目录下会有bin、sbin、man、conf等目录,而主要的配置文件此时在conf子目录中。为便于管理,最好用参数–sysconfdir=/etc把这个文件位置配置为/etc。
–enable-storeio=ufs,null #使用的文件系统通常是默认的ufs,不过如果想要做一个不缓存任何文件的代理服务器,就需要加上null文件系统。
–enable-arp-acl #这样可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。
–enable-err-languages=”Simplify_Chinese” –enable-default-err-languages=”Simplify_Chinese” #上面两个选项告诉Squid编入并使用简体中文错误信息。
–enable-linux-netfilter #允许使用Linux的透明代理功能。
–enable-underscore #允许解析的URL中出现下划线,因为默认情况下Squid会认为带下划线的URL是非法的,并拒绝访问该地址。

