疯狂老头版《CentOS 5.1下用源码编译安装ExtMail》的笔记订正(2)

2008-12-01 00:49:37 作者:龙飞 来源:龙飞网 浏览次数:0 网友评论 0

(五)安装 httpd 所需的软件包

# rpm -ivh apr-devel-1.2.7-11.i386.rpm

# rpm -ivh apr-docs-1.2.7-11.i386.rpm

# rpm -ivh apr-util-devel-1.2.7-6.i386.rpm

# rpm -ivh apr-util-docs-1.2.7-6.i386.rpm

可以简写成rpm -ivh apr-*.rpm

(六)安装 httpd

# rpm -ivh httpd-2.2.3-11.el5.centos.i386.rpm

# rpm -ivh httpd-manual-2.2.3-11.el5.centos.i386.rpm

# rpm -ivh httpd-devel-2.2.3-11.el5.centos.i386.rpm

可以简写成rpm -ivh httpd-*.rpm

加入自动启动服务队列:

# echo "/etc/rc.d/init.d/httpd start" >> /etc/rc.local

也可以写成chkconfig -add httpd

(七)安装 mod_fastcgi 和 FCGI

# tar xzvf mod_fastcgi-2.4.6.tar.gz

# cd mod_fastcgi-2.4.6

# cp Makefile.AP2 Makefile

# make top_dir=/usr/lib/httpd install

检查下 mod_fastcgi 模块有没有安装到 http 中:

# ls -l /etc/httpd/modules/mod_fastcgi.so

# mkdir /var/lib/fcgi

# mkdir /var/lib/fcgi/dynamic

# chmod 777 /var/lib/fcgi

# chmod 777 /var/lib/fcgi/dynamic

# tar zxvf FCGI-0.67.tar.gz

# cd FCGI-0.67

# perl Makefile.PL

# make

# make install

(八)安装 courier-authlib

# tar jxvf courier-authlib-0.60.2.tar.bz2

# cd courier-authlib-0.60.2

# /usr/sbin/groupadd -g 1000 vgroup

# /usr/sbin/useradd -g 1000 -u 1000 -M -s /bin/false vuser

# ./configure \

--prefix=/usr/local/courier-authlib \

--without-stdheaderdir \

--without-authuserdb \

--without-authpam \

--without-authldap \

--without-authpwd \

--without-authshadow \

--without-authvchkpw \

--without-authpgsql \

--without-authcustom \

--with-authmysql \

--with-mysql-libs=/usr/local/mysql/lib/mysql \

--with-mysql-includes=/usr/local/mysql/include/mysql \

--with-redhat \

--with-mailuser=vuser \

--with-mailgroup=vgroup

(因为改变了 courier-authlib 的安装位置,所以需要加选项 --without-stdheaderdir)

(编译 courier-authlib 必须要加入--with-mailuser,--with-mailgroup 这两项;否则在 postfix 收取邮件的时候就会出现错误,在 /var/log/maillog 日志文件中可以看到这个错误提示:temporary failure. Command output: ERR: authdaemon: s_connect() failed: Permission denied maildrop: Temporary authentication failure. )

(如果是用 RPM 安装的话,就必须敲这条命令 chmod 755 /usr/local/courier-authlib/var/spool/authdaemon 该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证。)

# make

# make install

# make install-migrate

# make install-configure

# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf

# ldconfig

# ldconfig -v

(备注:如果没有运行 ldconfig 命令,则在安装完 maildrop,运行 maildrop -v 时会出现错误:maildrop:error while loading shared libraries: libcourierauth.so.0)

# cp courier-authlib.sysvinit /etc/rc.d/init.d/courier-authlib

# chmod 755 /etc/rc.d/init.d/courier-authlib

加入自动启动服务队列:

# echo "/etc/rc.d/init.d/courier-authlib start" >> /etc/rc.local

也可以写成chkconfig --add courier-authlib

# cd /usr/local/courier-authlib/etc/authlib

编辑 authdaemonrc 文件:

authmodulelist="authmysql"

authmodulelistorig="authmysql"

daemons=10

编辑 authmysqlrc 文件:

MYSQL_SERVER            localhost

MYSQL_USERNAME          extmail

MYSQL_PASSWORD          extmail

MYSQL_SOCKET            /tmp/mysql.sock   (注意这里哦!) 原作如此,我还是改成/var/lib/mysql/mysql.sock

MYSQL_PORT              3306

MYSQL_OPT               0

MYSQL_DATABASE          extmail

MYSQL_USER_TABLE        mailbox

MYSQL_CRYPT_PWFIELD     password

MYSQL_UID_FIELD         uidnumber

MYSQL_GID_FIELD         gidnumber

MYSQL_LOGIN_FIELD       username

MYSQL_HOME_FIELD        homedir

MYSQL_NAME_FIELD        name

MYSQL_MAILDIR_FIELD     maildir

MYSQL_QUOTA_FIELD       quota

MYSQL_SELECT_CLAUSE     SELECT username,"",password,uidnumber,gidnumber,             \

CONCAT('/home/domains/',homedir),                            \

CONCAT('/home/domains/',maildir),                            \

quota,                                                       \

name,                                                        \

CONCAT("disableimap=",disableimap,",disablepop3=",           \

disablepop3,",disablewebmail=",disablewebmail,       \

",disablesmtpd=",disablesmtpd,",disablesmtp=",        \

disablesmtp,",disablenetdisk=",disablenetdisk,       \

",netdiskquota=",netdiskquota)                        \

FROM mailbox                                                 \

WHERE username = '$(local_part)@$(domain)'

# /etc/rc.d/init.d/courier-authlib start  (启动服务)

也可以写成service courier-authlib start

# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon

(九)安装 cyrus-sasl-2.1.22

# rpm -qa|grep cyrus-sasl  (把查找出来的包都删除了)

# rpm -e --nodeps cyrus-sasl-2.1.22-4 cyrus-sasl-plain-2.1.22-4 cyrus-sasl-devel-2.1.22-4 cyrus-sasl-lib-2.1.22-4

# rm -rf /usr/lib/sasl

# rm -rf /usr/lib/sasl2

# tar xzvf cyrus-sasl-2.1.22.tar.gz

# cd cyrus-sasl-2.1.22

# ./configure \

--enable-plain \

--enable-cram \

--enable-digest \

--enable-login \

--enable-sql \

--disable-anon \

--disable-ntlm \

--disable-gssapi \

--disable-krb4 \

--disable-otp \

--disable-srp \

--disable-srp-setpass \

--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket \

--with-mysql \

--with-mysql-includes=/usr/local/mysql/include/mysql \

--with-mysql-libs=/usr/local/mysql/lib/mysql

# make

# make install

# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2

# echo "/usr/local/lib" >> /etc/ld.so.conf

# ldconfig

# ldconfig -v

# vi /usr/local/lib/sasl2/smtpd.conf

pwcheck_method: authdaemond

log_level: 3

mech_list: PLAIN LOGIN

authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

关键词:Extmail

[收藏] [打印] [关闭] [返回顶部]

  • 验证码:

最新图片文章

最新文章