当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

SOLARIS+QMAIL+VPOPMAIL+IGENUS+QMAILAMDIN


  一、准备工作:
  安装gcc、make、autoconf、automake等编译工具,建立网络连接,配置域名。
  
  二、安装patch工具:
  # gzip –d patch-2.5.4-sol8-intel-local.gz
  # pkgadd –d patch-2.5.4-sol8-intel-local
  # mv /usr/bin/patch /usr/bin/patch.bak
  # cp /usr/local/bin/patch /usr/bin/patch
  
  三、安装ucspi-tcp-0.88
  # gzip -d ucspi-tcp-0.88.tar.gz
  # tar xvf ucspi-tcp-0.88.tar
  # cd ucspi-tcp-0.88
  # patch -p1 < ../ucspi-tcp-0.88.a_record.patch
  # patch -p1 < ../ucspi-tcp-0.88.errno.patch
  # patch -p1 < ../ucspi-tcp-0.88.nobase.patch
  # make
  # make setup check
  
  四、安装qmail
  1.建目录:
  # mkdir /var/qmail
  # mkdir /var/qmail/alias
  2.建组及用户:
  # groupadd nofiles
  # groupadd qmail
  # useradd -g nofiles -m -d /var/qmail/alias -s /bin/false alias
  # useradd -g nofiles -m -d /var/qmail -s /bin/false qmaild
  # useradd -g nofiles -m -d /var/qmail -s /bin/false qmaill
  # useradd -g nofiles -m -d /var/qmail -s /bin/false qmailp
  # useradd -g qmail -m -d /var/qmail -s /bin/false qmailq
  # useradd -g qmail -m -d /var/qmail -s /bin/false qmailr
  # useradd -g qmail -m -d /var/qmail -s /bin/false qmails
  
  3.打补丁及编绎安装qmail
  
  # gzip -d qmail-1.03.tar.gz
  # tar xvf qmail-1.03.tar
  # gzip -d qmail-smtpd-auth-0.31.tar.gz
  # tar xvf qmail-smtpd-auth-0.31.tar
  # cp qmail-smtpd-auth-0.31/base64.* qmail-1.03
  # patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch
  # cd qmail-1.03
  # patch -p1 < ../qmail-103.patch
  # patch -p1 < ../qmailqueue-patch
  # patch -p1 < ../qmail-1.03.qmail_local.patch
  # patch -p1 < ../qmail-maildir++.patch
  # patch -p1 < ../qmail-1.03.errno.patch
  
  修改qmail-smtpd.c将函数straynewline中的451改为553.(在53行)
  查找“http://”两次,改其中的url如下(这样可以使QMAIL更安全些):
  
  void straynewline() { out("451 See http://nero.3322.org.\r\n");
  out("214 llzqq home page: http://nero.3322.org\r\n");
  
  # make setup check
  出现错误后,修改auto-ccld.sh文件中CC,LD成你所用的环境就可以了。
  # ./config-fast nero.3322.org
  
  4.添加别名用户:
  # touch /var/qmail/alias/.qmail-root
  # touch /var/qmail/alias/.qmail-postmaster
  # touch /var/qmail/alias/.qmail-mailer-daemon
  
  5.如果存在postfix和sendmail,停用现在的mail服务
  # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
  # chmod 777 /usr/sbin/sendmail
  
  五、安装vpopmail
  1.建立目录:
  # mkdir /export/home/vpopmail
  # mkdir /export/home/vpopmail/etc
  
  2.添加用户和组:
  # groupadd vchkpw
  # useradd -g vchkpw -s /bin/false -m -d /export/home/vpopmail vpopmail
  
  3.添加mysql的vpopmail用户,用于操作vpopmail数据库
  
  # mysql -u root –p******
  mysql>create database vpopmail;
  mysql>grant all on vpopmail.* to vpopmail@localhost identified by "password";
  
  4.编译安装vpopmail
  
  # gzip -d vpopmail-5.2.1.tar.gz
  # tar xvf vpopmail-5.2.1.tar
  # cd vpopmail-5.2.1
  # vi vmysql.h
  ========================= vmysql.h========================
  #define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名)
  #define MYSQL_UPDATE_USER "vpopmail" (用户名)
  #define MYSQL_UPDATE_PASSWD "*****" (改成你设置的密码)
  
  #define MYSQL_READ_SERVER "localhost" (mysql服务器名)
  #define MYSQL_READ_USER "vpopmail" (用户名)
  #define MYSQL_READ_PASSWD "*****" (改成你设置的密码)
  
  在54行和58行后加 \
  #define TABLE_LAYOUT "pw_name char(32) not null, \
  pw_domain char(64) not null, <===== 54
  pw_passwd char(40), \
  pw_uid int, pw_gid int, \
  pw_gecos char(4, \
  pw_dir char(160), <===== 58
  pw_shell char(20), \
  primary key (pw_name, pw_domain ) "
  ========================= vmysql.h========================
  
  5.创建tcp.smtp文件(或者使用/etc/tcp.smtp)
  
  # vi /export/home/vpopmail/etc/tcp.smtp
  
  127.0.0.1:allow,RELAYCLIENT=""
  :allow
  
  # cd /export/home/vpopmail/etc
  # tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
  
  6.进行编译:
  ./configure
  --prefix=/export/home/vpopmail
  --enable-mysql=y
  --enable-incdir=/opt/sfw/mysql/include/mysql --enable-libdir=/opt/sfw/mysql/lib/mysql --enable-default-domain=nero.3322.org
  --enable-passwd=n
  --enable-defaultquota=52428800s --enable-tcprules-prog=/usr/local/bin/tcprules --enable-tcpserver-file=/export/home/vpopmail/etc/tcp.smtp --enable-vpopuser=vpopmail
  --enable-vpopgroup=vchkpw
  --enable-ip-alias-domains=n
  
  需要改下面两个文件中的“cc -s”为“gcc -s”
  ./cdb/conf-cc
  ./cdb/conf-ld
  
  # make
  # make install-strip
  
  7.创建虚拟域
  
  # cd /export/home/vpopmail/bin
  # ./vadddomain nero.3322.org
  
  如果不成功的话,则必须先删除创建的域(vdeldomain 域名),
  # ./vadduser [email protected]
  # ./vadduser [email protected]
  如果添加domain时,提示Domain already exists,但却删除domain又提示Domain does not exist.则采用下面的处理方法.
  删除/var/qmail/control目录下rcpthosts,virtualdomains文件中有关domain的信息;同时删除/var/qmail/user目录下assign文件中有关domain的信息;然后运行/var/qmail/bin/qmail-newu.这时候就可以正常添加domain了.
  
  六、smtp-auth的设置
  1.修改vchkpw的属性
  # cd /export/home/vpopmail/bin
  # chmod 4755 vchkpw
  # chown root:sys vchkpw
  
  如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用 setuid 和setgid。提高vchkpw的权限,才能完成setgid操作。
  
  2.安装cmd5checkpw
  # gzip -d cmd5checkpw-0.22.tar.gz
  # tar xvf cmd5checkpw-0.22.tar
  # cd cmd5checkpw-0.22
  # make
  # mkdir /usr/man/man8
  # make install
  
  七、生成qmail的启动脚本
  # cp /var/qmail/boot/home /var/qmail/rc
  对rc文件进行修改,以决定投送方式:
  # vi /var/qmail/rc
  这里要注意,这三个文件中的命令最好写在一行.
  =====================================rc=====================================
  #!/bin/sh
  # Using splogger to send the log through syslog.
  # Using dot-forward to support sendmail-style ~/.forward files.
  # Using qmail-local to deliver messages to ~/Mailbox by default.
  
  exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir/ splogger qmail &
  =====================================rc=====================================
  编辑smtp服务的启动脚本
  # vi /var/qmail/smtp
  ====================================smtp====================================
  #!/bin/sh
  QMAILDUID=qmaild
  NOFILESGID=nofiles
  /usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /export/home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd nero.3322.org /export/home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 &
  ====================================smtp====================================
  编辑pop3服务的启动脚本
  # vi /var/qmail/pop3
  ====================================pop3====================================
  #!/bin/sh
  /usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/qmail-popup nero.3322.org
  /export/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
  ====================================
相关内容
赞助商链接