Linux网络技术项目方案设计 - 图文 联系客服

发布时间 : 星期四 文章Linux网络技术项目方案设计 - 图文更新完毕开始阅读317a2c8771fe910ef12df81d

安装Courier-Authlib

运行如下命令安装相关软件包

rpm -ivh RPMS/libtool-libs-1.5.6-4.EL4.2.i386.rpm rpm -ivh RPMS/courier-authlib-0.60.2-1ext.i386.rpm

rpm -ivh RPMS/courier-authlib-devel-0.60.2-1ext.i386.rpm rpm -ivh RPMS/courier-authlib-mysql-0.60.2-1ext.i386.rpm

编辑/etc/authlib/authmysqlrc文件,并将其内容清空,然后增加如下内容: MYSQL_SERVER localhost MYSQL_USERNAME extmail MYSQL_PASSWORD extmail

MYSQL_SOCKET /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,\ CONCAT('/home/domains/',homedir), \\ CONCAT('/home/domains/',maildir), \\ quota, \\ name \\ FROM mailbox \\ WHERE username = '$(local_part)@$(domain)' 存盘退出后启动courier-authlib: service courier-authlib start

如一切正常,命令行将返回如下信息:

Starting Courier authentication services: authdaemond 2.1.4修改authdaemon socket目录权限

如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证: chmod 755 /var/spool/authdaemon/

安装Maildrop 安装maildrop

rpm -ivh RPMS/maildrop-2.0.4-1ext.i386.rpm

rpm -ivh RPMS/maildrop-man-2.0.4-1ext.i386.rpm

25

配置master.cf

为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的配置内容,并改为:

maildrop unix - n n - - pipe

flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop} 配置main.cf

由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数: maildrop_destination_recipient_limit = 1 最后重新启动postfix即可 2.1.5编辑httpd.conf: vi /etc/httpd/conf/httpd.conf

在730行左右,屏蔽掉AddDefaultCharset: #AddDefaultCharset UTF-8

使apache开机默认启动: chkconfig httpd on

虚拟主机设置

编辑/etc/httpd/conf/httpd.conf文件,在最后一行加上: NameVirtualHost *:80 Include conf/vhost_*.conf

编辑/etc/httpd/conf/vhost_extmail.conf,里面定义虚拟主机的相关内容,包括主目录,以及ExtMail和ExtMan的相关配置,Suexec的设置等。 # VirtualHost for ExtMail Solution

ServerName mail.extmail.org

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/ Alias /extmail/ /var/www/extsuite/extmail/html/

ScriptAlias /extman/cgi/ /var/www/extsuite/extman/cgi/ Alias /extman/ /var/www/extsuite/extman/html/

# Suexec config

SuexecUserGroup vuser vgroup 重新启动apache: service httpd restart

注意:此时重新启动apache会产生以下警告信息,可不必理会

Starting httpd: Warning: DocumentRoot [/var/www/extsuite/extmail/html/] does not exist

26

2.1.6安装ExtMail

建立/var/www/extsuite并复制源码到该目录,相关命令: mkdir /var/www/extsuite

tar -zxvf src/extmail-1[1][1].0.4.tar.gz -C src cp -r src/extmail-1.0.4 /var/www/extsuite/extmail cd /var/www/extsuite/extmail cp webmail.cf.default webmail.cf cd $OLDPWD

注意:上面命令行中最后一个cd $OLDPWD是返回原始路径(即ExtMail Solution软件包根目录)

安装perl-Unix-Syslog包

rpm -ivh RPMS/perl-Unix-Syslog-1.0-1ext.i386.rpm 编辑webmail.cf

修改/var/www/extsuite/extmail/webmail.cf里的其他参数,主要变动的内容见下: SYS_USER_LANG = zh_CN SYS_USER_CHARSET = gb2312

SYS_MFILTER_ON = 1 SYS_NETDISK_ON = 1 SYS_SHOW_SIGNUP = 1

SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail SYS_MYSQL_DB = extmail

SYS_G_ABOOK_TYPE = file

SYS_G_ABOOK_FILE_CHARSET = gb2312

2.1.7更新cgi目录权限

由于SuEXEC的需要,必须将extmail的cgi目录修改成vuser:vgroup权限: chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/ 安装ExtMan - web后台

在ExtMail-Solution软件包根目录下执行: tar -zxvf src/extman-0[1][1].2.4.tar.gz -C src

cp -r src/extman-0.2.4 /var/www/extsuite/extman/

配置webman.cf

修改/var/www/extsuite/extman/webman.cf内SYS_CHARSET及SYS_LANG参数为: SYS_CAPTCHA_ON = 1

# SYS_CAPTCHA_ON参数控制首页是否采用校验码登陆 SYS_CHARSET = gb2312 SYS_LANG = zh_CN

其他参数基本上可以使用默认值。 安装perl-GD包

27

rpm -ivh RPMS/perl-GD-2.35-2ext.i386.rpm 更新cgi目录权限

由于SuEXEC的需要,必须将extman的cgi目录修改成vuser:vgroup权限: chown -R vuser:vgroup /var/www/extsuite/extman/cgi/ 2.1.8确认MySQL状态

在执行mysql操作前,必须确认它已被正确安装并启动,可以用rpm命令查询mysql server的安装情况,用ps ax的办法查看进程列表是否有mysqld进程: rpm -aq|grep -i mysql-server

正常情况下应该可以看到mysql-server被安装: mysql-server-4.1.20-2.RHEL4.1.0.1

如果没有,则表示没有安装好mysql-server,可以从本软件包RPMS目录里安装,也可以找安装光盘安装:

rpm -ivh RPMS/mysql-server-4.1.20-2.RHEL4.1.0.1.i386.rpm 安装完毕后必须初始化mysql,然后重新启动 /usr/bin/mysql_install_db service mysqld start

正常情况下将启动成功:

Starting MySQL: [ OK ] 然后用ps命令来检查mysqld是否正确运行: ps ax|grep mysqld

正常情况下应出现如下的结果: 433 pts/0 S 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid

466 pts/0 Sl 0:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock

如果mysql没正确启动,请检查/var/log/mysqld.log里面的出错提示,进行处理: tail /var/log/mysqld.log

数据库初始化

执行以下命令导入mysql数据库结构及初始化数据,注意必须逐行输入以下命令,root密码默认为空,不可直接用鼠标复制两行命令直接输入,否则会报错! mysql -u root -p < /var/www/extsuite/extman/docs/extmail.sql mysql -u root -p < /var/www/extsuite/extman/docs/init.sql 链接基本库到Extmail

建立临时文件夹: mkdir /tmp/extman

chown -R vuser:vgroup /tmp/extman

建立刚才导入mysql的postmaster@extmail.org帐户的Maildir,请输入如下命令: cd /var/www/extsuite/extman/tools

./maildirmake.pl /home/domains/extmail.org/postmaster/Maildir chown -R vuser:vgroup /home/domains/extmail.org cd $OLDPWD

28