当前位置:Linux教程 - Linux综合 - Qmail+LDAP安装配置实例

Qmail+LDAP安装配置实例

  万月亮:[email protected] 许 霆:[email protected] 目前网上关于qmail+LDAP的配置不是很多,而且大多数是英文的。而qmail和openldap的配置没有详细的配置文档。前一段时间因为工作关系配置了qmail+LDAP的服务器。现在将其整理处理,以供大家参考。希望对于大家有所帮助。 Qmail 是基于类似UNIX操作系统的Internet Mail Transfer Agent (MTA) 。我的安装环境是Linux7.1 内核是2.4.2,gcc version 2.96,组件全部安装。 安装步骤 1.操作系统: Red Hat Linux 7.1 kernel 2.4.2 gcc 2.96 2.所需软件包: qmail-1.03.tar.gz (http://www.qmail.org) UCspi-tcp-0_88_tar.gz (http://cr.yp.to/ucspi-tcp.Html) checkpassWord-0_90_tar.gz (http://cr.yp.to/checkpwd.html) qmail-ldap-1_03-20010301_patch.gz (http://www.nrg4u.com/) openldap-2_0_7.tgz (http://www.openldap.org) daemontools, FTP://cr.yp.to/daemontools/daemontools-0.70.tar.gz 3.主机IP地址和域名配置,在本例中为: IP:172.18.6.111 域名:longshine.com 4. System requirements 5. 安装步骤 将所有需要安装的包拷贝到/usr/local/src/qmail目录项目 mkdir -p /usr/local/src/qmail mv *.tar.gz /usr/local/src/qmail 然后解开安装下面步骤解开这些包 su - umask 022 cd /usr/local/src/qmail tar zxvf qmail-1.03.tar.gz tar xvf ucspi-tcp-0.88.tar.gz tar zxvf daemontools-0.70.tar.gz tar zxvf checkpassword-0.90.tar.gz 解开的数据包应该处在qmail-1.03, ucspi-tcp-0.88, daemontools-0.70和checkpassword-0.90目录下,进入qmail目录。 cd qmail-1.03 建立相应的安装目录 由于qmail安装程序会产生其需要的子目录,所以只要生成安装所需的"home" 目录: mkdir /var/qmail ln -s /usr/man /var/qmail/man mkdir /etc/qmail ln -s /etc/qmail /var/qmail/control ln -s /usr/sbin /var/qmail/bin 生成qmail安装需要的用户以及组 # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias alias # useradd -g nofiles -d /var/qmail qmaild # useradd -g nofiles -d /var/qmail qmaill # useradd -g nofiles -d /var/qmail qmailp # groupadd qmail # useradd -g qmail -d /var/qmail qmailq # useradd -g qmail -d /var/qmail qmailr
[1] [2] [3] 下一页 

# useradd -g qmail -d /var/qmail qmails 编译安装 现在可以编译安装qmail: make setup check 在编译安装完成,需要进行配置如果DNS配置正确,只需执行下面的命令: ./config 如果config在DNS中不能找到主机名,则需要执行config-fast 脚本: ./config-fast longshine. com qmail 现在已经安装起来了,下面开始是启动和配置qmail。 安装 ucspi-tcp 进入 ucspi-tcp 目录: cd /usr/local/src/qmail/ucspi-tcp-0.88 make make setup check 这样ucspi-tcp 安装起来了。 安装daemontools 进入 daemontools 目录: cd /usr/local/src/qmail/daemontools-0.70 make make setup check 安装checkpassword 进入 checkpassword 目录: cd /usr/local/src/qmail/checkpassword-0.90 make make setup check 注: 在某些LINUX版本中(我的安装环境redhat 7.1), 如Red Hat 7,可能在编译过程中会生成错误: ./compile tai64nlocal.c tai64nlocal.c: In function `main': tai64nlocal.c:54: warning: assignment makes pointer from integer without a cast tai64nlocal.c:55: dereferencing pointer to incomplete type 等等…. 如果这样按照下面说明编辑tai64nlocal.c #include 更改为: #include 生成/service 目录: mkdir /service 最后配置svscan 使得当系统启动时候自动允许。编辑 /etc/inittab 文件将下面一行加入文件最后(注意是在一行中): SV:123456:respawn:env - PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin svscan /service /dev/console 2>/dev/console 然后执行下面命令重新读人/etc/inittab: kill -HUP 1 可以使用"ps -ef grep svscan" 或者 "ps waux grep svscan" 证实svscan 正在运行。 启动qmail 2.8.1. /var/qmail/rc 编辑产生/var/qmail/rc文件将下面命令进入其中 #!/bin/sh # Using stdout for logging # Using control/defaultdelivery from qmail-local to deliver messages by default exec env - PATH="/var/qmail/bin:$PATH" qmail-start "`cat /var/qmail/control/defaultdelivery`" chmod 755 /var/qmail/rc mkdir /var/log/qmail   在qmail中,支持三种邮件存储方式,分别是典型的/var/spool/mail方式、传统的Unix user/Mailbox方式和新的 user/Maildir方式,其中前两种方式为大多数的邮件客户端所支持,但是它们均存在安全上的隐患,所以在这里使用了第三种方式,下面分别叙述三种方式的建立方法:    /var/spool/mail 方式    #cp /var/qmail/boot/proc /var/qmail/rc    user/Mailbox 方式    #cp /var/qmail/boot/home /var/qmail/rc    user/Maildir 方式    1)#cp /var/qmail/boot/home /var/qmail/rc 2)建立相应的邮件用户,例如: #useradd test    #passwd test    3)使用qmail提供的工具建立Maildir,命令如下:    $ /var/qmail/bin/maildirmake Maildir    $ echo ./Maildir/ >.qmail    (注意这里必须以用户权限建立邮箱)    4) 为了使root用户也能收发邮件,使用如下命令:
上一页 [1] [2] [3] 下一页 

   # su alias    $ cd    $ /var/qmail/bin/maildirmake Maildir    $ echo ./Maildir/ >.qmail # echo ./Mailbox/ >/var/qmail/control/defaultdelivery 系统start-up 文件 生成qmailctl 脚本 #!/bin/sh # For Red Hat chkconfig # chkconfig: - 30 80 # description: the qmail MTA PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin eXPort PATH QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` case "$1" in start) echo "Starting qmail" if svok /service/qmail-send ; then svc -u /service/qmail-send else echo qmail-send service not running fi if svok /service/qmail-smtpd ; then svc -u /service/qmail-smtpd else echo qmail-smtpd service not running fi if [ -d /var/lock/subsys ]; then touch /var/lock/subsys/qmail fi ;; stop) echo "Stopping qmail..." echo " qmail-smtpd" svc -d /service/qmail-smtpd echo " qmail-send" svc -d /service/qmail-send if [ -f /var/lock/subsys/qmail ]; then rm /var/lock/subsys/qmail fi ;; stat) svstat /service/qmail-send svstat /service/qmail-send/log svstat /service/qmail-smtpd svstat /service/qmail-smtpd/log qmail-qstat ;; doqueuealrmflush) echo "Sending ALRM signal to qmail-send." svc -a /service/qmail-send ;; queue) qmail-qstat qmail-qread ;; reloadhup) echo "Sending HUP signal to qmail-send." svc -h /service/qmail-send ;; pause) echo "Pausing qmail-send" svc -p /service/qmail-send echo "Pausing qmail-smtpd" svc -p /service/qmail-smtpd ;; cont) echo "Continuing qmail-send" svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp." ;;

(出处:http://www.sheup.com)


上一页 [1] [2] [3] 

;; pause) echo "Pausing qmail-send" svc -p /service/qmail-send echo "Pausing qmail-smtpd" svc -p /service/qmail-smtpd ;; cont) echo "Continuing qmail-send" svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp." ;;

(出处:http://www.sheup.com)


上一页 [1] [2] [3] [4] 

svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp." ;;

(出处:http://www.sheup.com/)


上一页 [1] [2] [3] [4] [5]