发新话题
打印

FreeBSD+apache 2.0+mod_fastcgi+extmail安装成功,写下需要注意地方

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 postmaster@yieryi.net
   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

TOP

引用:
下面是引用grass_h于2006-04-07 22:09发表的FreeBSD+apache 2.0+mod_fcgi+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必须大于这两个值
.......
写得很好,将关键点都指出来了。强烈建议大家要在FB上跑fcgi的参考grass_h的这个文档。加精!
置顶!
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

引用:
下面是引用grass_h于2006-04-07 22:09发表的FreeBSD+apache 2.0+mod_fcgi+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必须大于这两个值
.......
为什么要安装“/usr/ports/www/mod_perl”?
来自http://www.jklin.com

TOP

引用:
下面是引用jklin于2006-04-08 15:12发表的:

为什么要安装“/usr/ports/www/mod_perl”?
不好意思,写错了,应该是mod_fcgi,改正。。。

TOP

mod_fcgi 和 mod_fastcgi有什么区别?
fcgi又是什么?

TOP

引用:
下面是引用softbt于2006-04-24 01:18发表的Re:FreeBSD+apache 2.0+mod_fcgi+extmail安装成功,写下:
mod_fcgi 和 mod_fastcgi有什么区别?
fcgi又是什么?
应该是 mod_fastcgi,估计草原兄弟笔误了吧? 要了解fastcgi请看:

http://www.fastcgi.com

一种持续化的技术。提高web性能。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

引用:
下面是引用softbt于2006-04-24 01:18发表的Re:FreeBSD+apache 2.0+mod_fcgi+extmail安装成功,写下:
mod_fcgi 和 mod_fastcgi有什么区别?
fcgi又是什么?
是mod_fastcgi,已改正
PS:FB的ports目录是mod_fcgi

TOP

BSD下最简单是这样
cd /usr/ports/www/p5-FastCGI
make install clean
这一步产生FCGI.pm


cd /usr/ports/www/mod_fastcgi
make install clean

用mod_fcgi也可以,不过是改进型的fastcgi
有了CDN,南水勿需北调!群号码:9784513 http://mail.linan.com.cn

TOP

现在的exmail可以使用fcgi?
我怎么一使用就出现如下错误?
FastCGI: incomplete headers (0 bytes) received from server "/usr/local/www/apache22/cgi-bin/extmail/cgi/folders.cgi", referer:

TOP

apache 2.2没有mod_cgid.so

TOP

我来总结一下,以备后用(自己用   )

安装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

TOP

发新话题