Postfix集成环境(Postfix + MySQL + Cyrus-sasl2…

2009-05-13 13:00:07来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


Matthew(黑夜编码人)
@ 2004/10/16
一、安装软件系统
1)、安装MySQL4.0.x
为了与系统的软件系统区分开,这里将所有我们手动编译的服务器(DAEMON)软件安装在/usr/server中。
$ tar -zxvf mysql-4.0.21.tar.gz
$ cd mysql-4.0.21
$ ./configure --prefix=/usr/server/mysql --localstatedir=/usr/server/mysql/db --with-unix-socket-path=/tmp/mysql.sock --with-mysqld-user=mysql --with-charset=gb2312 --with-extra-charsets=all
$ make
# make install
接下来安装mysql数据库
# scripts/mysql_install_db
# chown -R mysql:mysql /usr/server/mysql/db
最后需要设置mysql的root口令
# /usr/server/mysql/bin/mysqld_safe &
# /usr/server/mysql/bin/mysqladmin -uroot password 'your_password_goes_here'
口令设置完成后,暂时关闭mysql服务:
# kill %1
2)、安装Cyrus-sasl2
因为要查询MySQL数据库,所以我们需要在编译cyrus-sasl2时加上对MySQL的支持,同时我们打开了对plain和login两种验证方式的支持:
$ tar -zxvf cyrus-sasl-2.1.19.tar.gz
$ cd cyrus-sasl-1.2.19
$ ./configure --disable-anon -enable-plain --enable-login --enable-sql --with-mysql=/usr/server/mysql --with-mysql-includes=/usr/server/mysql/include/mysql --with-mysql-libs=/usr/server/mysql/lib/mysql
$ make
# make install
按照sasl的安装说明,需要建立一个symblink:
# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
3)、安装Postfix2.1.x
首先,按照postfix的安装说明,建立postfix、postdrop组和postfix用户:
# pw groupadd postfix
# pw groupadd postdrop
# pw useradd postfix -g postfix -G postdrop
用户和组建立好后,我们就可以开始编译Postfix了:
$ tar -zxvf postfix-2.1.4.tar.gz
$ cd postfix-2.1.4
$ make tidy
$ make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/server/mysql/include/mysql -DUSE_SASL_AUTH -I/usr/local/include/sasl' 'AUXLIBS=-L/usr/server/mysql/lib/mysql -lmysqlclient -lm -lz -L/usr/local/lib -lsasl2'
$ make
# make install
在执行make install的时候可能会得到如下的提示(如果没有就不用理会了:p):
/usr/libexec/ld-elf.so.1: Shared object "libmysqlclient.so.12" not found
这是因为我们的mysql不是安装在默认目录中的,所以需要告诉postfix应该到哪里去找libmysqlclient.so.12,使用ldconfig就可以达到这个目的:
# ldconfig -m /usr/server/mysql/lib/mysql
然后再执行make install这里会出现很多问题,但postfix已经为我们设置好了默认的答案,直接使用这些答案就可以使postfix正常工作了,所以我们只要直接按回车就可以了。
到这里,支持mysql和sasl认证的postfix就已经安装成功了。
4)、安装Courier-imap
$ tar -jxvf courier-imap-3.0.7.tar.bz2
$ cd courier-imap-3.0.7
$ ./configure --prefix=/server/courier-imap --with-authmysql
在执行configure的时候有可能会出现如下的错误提示:
configure: error: --with-authmysql specified but no mysqlclient.so
configure: error: /usr/local/bin/bash './configure' failed for authlib
这是因为courier-imap会使用mysql_config来取得一些编译参数(include、libs、cflags、socket等),但我们是将mysql安装在非/usr/local中,所以默认的PATH就不起作用,需要我们来使courier-imap能够搜索到mysql_config:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Openbsd 3.6 + APACHE + MYSQL + PHP + mod_limitipco

下一篇:FREEBSD下使用crunch集成编译程序