FreeBSD+apache 2.0+mod_fastcgi+extmail安装成功,写下需要注意地方
只写需要注意的地方了。。。。安装apache的时候注意需要支持suexec,默认是没有的,记得在用ports安装的时候
make WITH_SUEXEC_MODULES=yes install clean
执行suexec -V查看 -D AP_DOC_ROOT="/usr/local/www/data",程序必须放在这个目录下,还有-D AP_GID_MIN=1000和-D AP_UID_MIN=1000这两个是最小UID和GID,要注意虚拟用户的UID和GID必须大于这两个值
先检查是否已经安装了perl,如果安装就找到相应的ports然后make deinstall
然后在ports中make ENABLE_SUIDPERL=yes install clean
这样就支持suidperl了
然后cd /usr/ports/www/fcgi
make install clean
#我在这么安装完以后没有出错提示但没有/local/lib/perl5/site_perl/5.8.8/mach/FCGI.pm文件
出现这种情况就手动安装FCGI吧,到/usr/ports/distfiles目录中找到fcgi的原文件,解压后
perl Makefile.PL
make
make install
这个时候可能会把FCGI.pm安装到/local/lib/perl5/site_perl/5.8.8/mach/FCGI.pm但是在运行extmail的时候会找Ext/FCGI.pm,我在/local/lib/perl5/site_perl/5.8.8/mach新建了一个Ext目录,并把FCGI.pm复制了一份,呵呵
安装/usr/ports/databases/p5-DBD-mysql41,这个需要根据你的mysql的版本不同选择不同的程序
直接make install clean就OK了
安装/usr/ports/www/mod_fcgi,直接make install clean
配置apache,我把我的服务器上关于fcgi和cgi的贴出来,我的extmail是以一个虚拟主机+suexec来运行的。。。。
LoadModule cgid_module libexec/apache2/mod_cgid.so #这行原来注释掉了
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so #Fast-cgi的模块
<IfModule mod_fastcgi.c> #记得建立/var/lib/fcgi和/var/lib/fcgi/dynamic并chmod 777
FastCgiIpcDir /var/lib/fcgi
</IfModule>
AddHandler cgi-script .cgi .pl
AddHandler fastcgi-script .fcg .fcgi .fpl
<VirtualHost *:80> #虚拟主机配置
ServerName mail.yieryi.net
ServerAdmin [email]postmaster@yieryi.net[/email]
DocumentRoot /usr/local/www/data/web/extmail/html
ScriptAlias /extmail/cgi/ /usr/local/www/data/web/extmail/dispatch.fcgi/
Alias /extmail /usr/local/www/data/web/extmail/html
ScriptAlias /extman/cgi /usr/local/www/data/web/extman/cgi
Alias /extman /usr/local/www/data/web/extman/html
<Directory "/usr/local/www/data/web">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location "/extmail/cgi">
SetHandler fastcgi-script
</Location>
SuexecUserGroup vmail vmail
ErrorLog /var/log/www/mail.yieryi.net-error
CustomLog /var/log/www/mail.yieryi.net-common common
</VirtualHost>
另外就是maildir和extmail的权限了,我的owner都是vmail:vmail [quote][b]下面是引用grass_h于2006-04-07 22:09发表的FreeBSD+apache 2.0+mod_fcgi+extmail安装成功,写下需要注意地方:[/b]
只写需要注意的地方了。。。。
安装apache的时候注意需要支持suexec,默认是没有的,记得在用ports安装的时候
make WITH_SUEXEC_MODULES=yes install clean
执行suexec -V查看 -D AP_DOC_ROOT="/usr/local/www/data",程序必须放在这个目录下,还有-D AP_GID_MIN=1000和-D AP_UID_MIN=1000这两个是最小UID和GID,要注意虚拟用户的UID和GID必须大于这两个值
.......[/quote]
写得很好,将关键点都指出来了。强烈建议大家要在FB上跑fcgi的参考grass_h的这个文档。加精!
置顶! [quote][b]下面是引用grass_h于2006-04-07 22:09发表的FreeBSD+apache 2.0+mod_fcgi+extmail安装成功,写下需要注意地方:[/b]
只写需要注意的地方了。。。。
安装apache的时候注意需要支持suexec,默认是没有的,记得在用ports安装的时候
make WITH_SUEXEC_MODULES=yes install clean
执行suexec -V查看 -D AP_DOC_ROOT="/usr/local/www/data",程序必须放在这个目录下,还有-D AP_GID_MIN=1000和-D AP_UID_MIN=1000这两个是最小UID和GID,要注意虚拟用户的UID和GID必须大于这两个值
.......[/quote]
为什么要安装“/usr/ports/www/mod_perl”? [quote][b]下面是引用jklin于2006-04-08 15:12发表的:[/b]
为什么要安装“/usr/ports/www/mod_perl”?[/quote]
不好意思,写错了,应该是mod_fcgi,改正。。。 mod_fcgi 和 mod_fastcgi有什么区别?
fcgi又是什么? [quote][b]下面是引用softbt于2006-04-24 01:18发表的Re:FreeBSD+apache 2.0+mod_fcgi+extmail安装成功,写下:[/b]
mod_fcgi 和 mod_fastcgi有什么区别?
fcgi又是什么?[/quote]
应该是 mod_fastcgi,估计草原兄弟笔误了吧? 要了解fastcgi请看:
[url]http://www.fastcgi.com[/url]
一种持续化的技术。提高web性能。 [quote][b]下面是引用softbt于2006-04-24 01:18发表的Re:FreeBSD+apache 2.0+mod_fcgi+extmail安装成功,写下:[/b]
mod_fcgi 和 mod_fastcgi有什么区别?
fcgi又是什么?[/quote]
是mod_fastcgi,已改正
PS:FB的ports目录是mod_fcgi BSD下最简单是这样
cd /usr/ports/www/p5-FastCGI
make install clean
这一步产生FCGI.pm
cd /usr/ports/www/mod_fastcgi
make install clean
用mod_fcgi也可以,不过是改进型的fastcgi [size=4]现在的exmail可以使用fcgi?
我怎么一使用就出现如下错误?
FastCGI: incomplete headers (0 bytes) received from server "/usr/local/www/apache22/cgi-bin/extmail/cgi/folders.cgi", referer:[/size] :$ apache 2.2没有mod_cgid.so 我来总结一下,以备后用(自己用 :lol )
安装apache的时候可以修改suexec_root,uig,gid等
make WITH_SUEXEC=yes SUEXEC_DOCROOT="/usr/local/www/extmail" SUEXEC_UIDMIN=100 SUEXEC_GIDMIN=100
参考
make show-options
make show-modules
make show-categories
安装fcgi主要是搞清楚要装哪些包,用ports或者pkg_add都很简单
fcgi-devkit(在ports里是fcgi)
p5-FastCGI
mod_fastcgi(用于apache 1.3+)
mod_fcgid(用于apache 2.0+)
没有apache2.2的fcgi模块
以上是FreeBSD 6.2
页:
[1]