免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3106 | 回复: 5
打印 上一主题 下一主题

[Mail] 自动安装qmail-2.9脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-11 18:14 |只看该作者 |倒序浏览
作者:Posted
原版请看
http://www.linuxfly.org/exurl.php/reply/23.html
  1. #!/bin/bash
  2. #2005-10-20 第一次编写
  3. #2005-10-26 增加输入域的提示
  4. #2005-10-27 修改提示输入的方式,错误后不退出系统,只是提示重新输入
  5. #2005-10-28 修正Maildrop设置文件的错误,增加日志文件报告
  6. #2005-11-03 增加iGeuis 2.0的安装
  7. #作者:Qkboy
  8. #版本:v1.1
  9. #变量:
  10. #DOMAIN为域名、HOST为主机名、OLDPASSWD为mysql管理员用户root的旧密码、MYSQLPASSWD为mysql管理员用户root的密码
  11. #USER、PASSWORD为用于vpopmail的mysql数据库用户和密码,数据库固定是vpopmail

  12. touch /tmp/install.tmp
  13. ##提示输入域名##
  14. DOMAIN=`grep "DOMAIN" /tmp/install.tmp|sed -e "s/^DOMAIN=//"`
  15. if [ "$DOMAIN" == "" ]; then
  16. echo "请输入Domain名称,例如:example.com,此将作为邮件服务的默认域名。"
  17. INPUT="n"
  18. until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
  19. do
  20.   read DOMAIN
  21.   echo "您输入的Domain名称是:$DOMAIN,请确认(y|n)?"
  22.   read INPUT
  23.   if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
  24.    echo "请确认Domain名称后,重新输入:"
  25.   else
  26.    echo "DOMAIN=$DOMAIN" >> /tmp/install.tmp
  27.    echo "您使用的Domain名称为:$DOMAIN"
  28.   fi
  29. done
  30. else
  31. echo "您使用的Domain名称为:$DOMAIN"  
  32. fi

  33. ##提示输入主机名##
  34. HOST=`grep "HOST" /tmp/install.tmp|sed -e "s/^HOST=//"`
  35. if [ "$HOST" == "" ]; then
  36. echo "请输入邮件主机的名称,例如:mail.example.com"
  37. INPUT="n"
  38. until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
  39. do
  40.   read HOST
  41.   echo "您输入的邮件主机名称是:$HOST,请确认(y|n)?"
  42.   read INPUT
  43.   if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
  44.    echo "请确认邮件主机名称后,重新输入:"
  45.   else
  46.    echo "HOST=$HOST" >> /tmp/install.tmp
  47.    echo "您使用的邮件主机名称为:$HOST"
  48.   fi
  49. done
  50. else
  51. echo "您使用的邮件主机名称为:$HOST"
  52. fi
  53.   
  54. ##提示输入mysql管理员用户root的密码##
  55. RETVAL=`cat /tmp/install.tmp|grep "vpopmail"|grep "igenus"|grep "successfully"`
  56. if [ "$RETVAL" == "" ]; then
  57. echo "你是否已经配置好mysql程序呢?Y/y表示已经完成,N/n表示还没有设置!"
  58. read YN
  59. if [ "$YN" == "Y" ]; then
  60.   $YN=y
  61. fi
  62. if [ "$YN" == "N" ]; then
  63.   $YN=n
  64. fi
  65. case $YN in
  66. y)
  67. INPUT="n"
  68. until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
  69. do
  70.   echo "请输入mysql管理员用户root的密码"
  71.   read MYSQLPASSWD
  72.   mysqladmin -uroot -p$MYSQLPASSWD version 1> /dev/null 2>&1
  73.   RETVAL=$?
  74.   if [ $RETVAL -eq 0 ]; then
  75.    INPUT="y"
  76.    echo "mysql管理员root密码输入正确!"
  77.     else
  78.      echo "mysql管理员密码错误,请重新输入!"
  79.      INPUT="n"
  80.   fi
  81. done
  82. ;;
  83. n)
  84.   RETVAL=3
  85.   until [ "$RETVAL" -eq 0 ]
  86.   do  
  87.   echo "请输入mysql管理员用户root的旧密码,新安装的请直接按回车"
  88.   read OLDPASSWD
  89.   echo "请输入mysql管理员用户root的新密码"
  90.   read MYSQLPASSWD
  91.   if [ "$OLDPASSWD" == "" ]; then
  92.    mysqladmin -uroot password $MYSQLPASSWD 1> /dev/null 2>&1
  93.    service mysqld start
  94.   else
  95.    mysqladmin -uroot -p$OLDPASSWD password $MYSQLPASSWD 1> /dev/null 2>&1
  96.    service mysqld restart
  97.   fi
  98.   RETVAL=$?
  99.   if [ $RETVAL -eq 0 ]; then
  100.    echo "mysql管理员root密码设置成功!"
  101.   else
  102.    echo "mysql管理员密码设置失败,请重新输入!"
  103.   fi
  104.   done
  105. ;;
  106. *)
  107.   echo "输入有误,请重新运行程序!"
  108.   exit 1
  109. esac
  110. fi

  111. ##提示输入用于vpopmail的mysql数据库用户和密码##
  112. USER=`grep "USER" /tmp/install.tmp|sed -e "s/^USER=//"`
  113. if [ "$USER" == "" ]; then
  114. echo "请输入用于vpopmail的mysql数据库用户,例如:vpopmail"
  115. INPUT="n"
  116. until [ "$INPUT" == "Y" ] || [ "$INPUT" == "y" ]
  117. do
  118.   read USER
  119.   echo "请输入$USER用户的密码"
  120.   read PASSWORD
  121.   echo "您输入的用于vpopmail的mysql数据库用户是:$USER,密码:$PASSWORD,请确认(y|n)?"
  122.   read INPUT
  123.   if [ "$INPUT" != "Y" ] && [ "$INPUT" != "y" ]; then
  124.    echo "请确认用于vpopmail的mysql数据库用户后,重新输入:"
  125.   else
  126.    echo "USER=$USER" >> /tmp/install.tmp
  127.    echo "PASSWORD=$PASSWORD" >> /tmp/install.tmp
  128.    echo "您用于vpopmail的mysql数据库用户为:$USER,密码:$PASSWORD"
  129.   fi
  130. done
  131. else
  132.   PASSWORD=`grep "PASSWORD" /tmp/install.tmp|sed -e "s/^PASSWORD=//"`
  133.   echo "您用于vpopmail的mysql数据库用户为:$USER,密码:$PASSWORD"
  134. fi
  135.   

  136. ##判断sendmail是否已经启动##
  137. echo "##判断sendmail是否在启动?##"
  138. STRING=`rpm -q sendmail`
  139. if [ "$STRING" != "package sendmail is not installed" ] ; then #判断系统是否安装有sendmail
  140. /etc/rc.d/init.d/sendmail status
  141. RETVAL=$?
  142. if [ $RETVAL -eq 3 ]; then
  143.     echo "sendmail已经停止!!"
  144.     rpm -e --nodeps sendmail
  145.     rpm -e --nodeps sendmail-cf-8.13.1-2
  146.     rpm -e --nodeps sendmail-doc-8.13.1-2
  147.     rpm -e --nodeps sendmail-devel-8.13.1-2
  148.    else
  149.     echo "sendmail已经启动了,下面将其停止!"
  150.     /etc/rc.d/init.d/sendmail stop
  151.     RETVAL=$?
  152.     if [ $RETVAL -eq 0 ]; then
  153.       echo "sendmail 停止成功。"
  154.       rpm -e --nodeps sendmail
  155.       rpm -e --nodeps sendmail-cf-8.13.1-2
  156.       rpm -e --nodeps sendmail-doc-8.13.1-2
  157.       rpm -e --nodeps sendmail-devel-8.13.1-2
  158.      else
  159.       echo "sendmail 停止有问题。请删除/var/lock/subsys/sendmail文件,再试试!"
  160.     fi
  161. fi
  162. else
  163.   echo "sendmail 已经卸载!"
  164. fi

  165. ##开始准备工作##
  166. echo "##开始准备工作!##"
  167. if [ -f /tmp/install.tmp ]; then
  168. RETVAL=`grep "standby" /tmp/install.tmp`
  169. if [ "$RETVAL" == "" ]; then
  170.    cd /home
  171.    cp /root/pkg_2.9.tar.gz /home/
  172.    tar xzf pkg_2.9.tar.gz
  173.    chmod 755 -R pkg
  174.    cd pkg
  175.    tar xzf netqmail-1.05.tar.gz
  176.    cd netqmail-1.05
  177.    ./collate.sh
  178.    echo "standby ready!" >> /tmp/install.tmp
  179.    echo "准备工作已经完成!"
  180.   else
  181.    echo "准备工作已经做过!"
  182. fi
  183. fi

  184. ##开始安装daemontools##
  185. echo "##开始安装daemontools!##"
  186. if [ -f /tmp/install.tmp ]; then
  187. RETVAL=`cat /tmp/install.tmp|grep "daemontools"|grep "successfully"`
  188. if [ "$RETVAL" == "" ]; then
  189.    cd /home/pkg
  190.    tar -zxf daemontools-0.76.tar.gz
  191.    cd admin/daemontools-0.76
  192.    patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
  193.    package/install
  194.    sleep 5
  195.    STATE=`ps ax|grep svscan|grep -v "grep svscan"`
  196.    if [ "$STATE" != "" ]; then
  197.     echo "daemontools运行正常!"
  198.     echo "daemontools has installed successfully!" >> /tmp/install.tmp
  199.     echo "daemontools已经安装完成!"
  200.     else
  201.      echo "daemontools安装完毕,但运行似乎有问题,请重新检查svscan进程!"
  202.    fi
  203.   else
  204.    echo "daemontools已经安装过了!"
  205. fi
  206. fi

  207. ##开始安装ucspi-tcp##
  208. echo "##开始安装ucspi-tcp!##"
  209. if [ -f /tmp/install.tmp ]; then
  210. RETVAL=`cat /tmp/install.tmp|grep "ucspi-tcp"|grep "successfully"`
  211. if [ "$RETVAL" == "" ]; then
  212.    cd /home/pkg
  213.    tar zxf ucspi-tcp-0.88.tar.gz
  214.    cd ucspi-tcp-0.88
  215.    patch -p1 < ../ucspi-tcp-0.88.errno.patch
  216.    make
  217.    make setup check
  218.    echo "ucspi-tcp has installed successfully!" >> /tmp/install.tmp
  219.    echo "ucspi-tcp已经安装完成!"
  220.   else
  221.    echo "ucspi-tcp已经安装过了!"
  222. fi
  223. fi

  224. ##开始创建原始qmail环境##
  225. echo "##开始创建原始qmail环境!##"
  226. if [ -f /tmp/install.tmp ]; then
  227. RETVAL=`cat /tmp/install.tmp|grep "qmail"|grep "successfully"`
  228. if [ "$RETVAL" == "" ]; then
  229.    mkdir /var/qmail
  230.    groupadd nofiles
  231.    useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin
  232.    useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin
  233.    useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin
  234.    useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin
  235.    groupadd qmail
  236.    useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin
  237.    useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin
  238.    useradd qmails -g qmail -d /var/qmail -s /sbin/nologin
  239.    NUM=`grep "89" /etc/passwd` #如果系统原来存在uid为89的帐号,将其屏蔽
  240.    if [ $NUM != "" ]; then
  241.     sed -i "s/postfix/#&/" /etc/passwd /etc/group
  242.    fi
  243.    groupadd vchkpw -g 89
  244.    useradd vpopmail -u 89 -g vchkpw
  245.    echo "用户创建完毕!,下面进行Qmail的安装!"
  246.    cd /home/pkg
  247.    tar -xzf toaster-scripts-0.7.tar.gz
  248.    cd netqmail-1.05/netqmail-1.05/
  249.    #下面的sed是修正了一个无效提示的错误
  250.    sed -i "/straynewline/{ s/451/533/; }" qmail-smtpd.c
  251.    #部分版本需要添加include的链接
  252.    ln -s /usr/kerberos/include/com_err.h /usr/include/
  253.    rm -rf /usr/sbin/sendmail
  254.    make
  255.    make setup check
  256.    ./config-fast $HOST
  257.    echo "设置管理员信箱!"
  258.    cd /var/qmail/alias
  259.    echo "admin@$DOMAIN" > .qmail-postmaster
  260.    echo "admin@$DOMAIN" > .qmail-mailer-daemon
  261.    echo "admin@$DOMAIN" > .qmail-root
  262.    chmod 644 /var/qmail/alias/.qmail*
  263.    echo "开启SPF设置!"
  264.    echo ./Maildir/ >/var/qmail/control/defaultdelivery
  265.    echo 3 > /var/qmail/control/spfbehavior
  266.    echo "添加qmail的帮助手册!"
  267.    echo MANPATH /var/qmail/man >> /etc/man.config
  268.    echo "为qmail服务建立监控目录和日志文件!"
  269.    mkdir -p /var/qmail/supervise/qmail-send/log
  270.    mkdir -p /var/qmail/supervise/qmail-smtpd/log
  271.    mkdir -p /var/qmail/supervise/qmail-pop3d/log
  272.    mkdir -p /var/qmail/supervise/qmail-pop3ds/log
  273.    cp /home/pkg/toaster-scripts-0.7/send.run /var/qmail/supervise/qmail-send/run
  274.    cp /home/pkg/toaster-scripts-0.7/send.log.run /var/qmail/supervise/qmail-send/log/run
  275.    cp /home/pkg/toaster-scripts-0.7/smtpd.run /var/qmail/supervise/qmail-smtpd/run
  276.    cp /home/pkg/toaster-scripts-0.7/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
  277.    cp /home/pkg/toaster-scripts-0.7/pop3d.run /var/qmail/supervise/qmail-pop3d/run
  278.    cp /home/pkg/toaster-scripts-0.7/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
  279.    cp /home/pkg/toaster-scripts-0.7/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
  280.    cp /home/pkg/toaster-scripts-0.7/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
  281.    echo 20 > /var/qmail/control/concurrencyincoming
  282.    chmod 644 /var/qmail/control/concurrencyincoming
  283.    chmod 755 /var/qmail/supervise/qmail-send/run
  284.    chmod 755 /var/qmail/supervise/qmail-send/log/run
  285.    chmod 755 /var/qmail/supervise/qmail-smtpd/run
  286.    chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
  287.    chmod 755 /var/qmail/supervise/qmail-pop3d/run
  288.    chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
  289.    chmod 755 /var/qmail/supervise/qmail-pop3ds/run
  290.    chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
  291.    mkdir -p /var/log/qmail/smtpd
  292.    mkdir -p /var/log/qmail/pop3d
  293.    mkdir -p /var/log/qmail/pop3ds
  294.    chown -R qmaill /var/log/qmail
  295.    echo "生成启动脚本!"
  296.    cd /home/pkg
  297.    cp toaster-scripts-0.7/rc /var/qmail/rc
  298.    chmod 755 /var/qmail/rc
  299.    cp toaster-scripts-0.7/qmailctl /var/qmail/bin/
  300.    chmod 755 /var/qmail/bin/qmailctl
  301.    ln -s /var/qmail/bin/qmailctl /usr/bin
  302.    ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
  303.    rm -rf /usr/lib/sendmail
  304.    ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
  305.    echo "设置用daemontools来启动qmail-send和qmail-smtpd!"
  306.    ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
  307.    echo "启动qmail服务!"
  308.    echo "qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help"
  309.    echo "qmail has installed successfully!" >> /tmp/install.tmp
  310.    echo "原始的qmail程序已经安装完成!"
  311.   else
  312.    echo "qmail已经安装过了!"
  313. fi
  314. fi   
  315.    
  316. ##开始安装vpopmail##         
  317. echo "##开始安装vpopmail!##"         
  318. if [ -f /tmp/install.tmp ]; then
  319. RETVAL=`cat /tmp/install.tmp|grep "vpopmail"|grep "successfully"`
  320. if [ "$RETVAL" == "" ]; then
  321.   mkdir -p /home/vpopmail/etc
  322.   echo "$DOMAIN" > /home/vpopmail/etc/defaultdomain
  323.   echo "127.0.0.1:allow,RELAYCLIENT=""" > /home/vpopmail/etc/tcp.smtp
  324.   cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
  325.   #设置MySQL信息,其中vpopmail是数据库名称
  326.   echo "localhost|0|$USER|$PASSWORD|vpopmail" > /home/vpopmail/etc/vpopmail.mysql
  327.   chmod 640 /home/vpopmail/etc/vpopmail.mysql
  328.   chown -R vpopmail.vchkpw /home/vpopmail/etc
  329.   cd /home/pkg/
  330.   #建立用于vpopmail的mysql数据库的脚本
  331.   echo "CREATE DATABASE vpopmail;" > vpopmail.sql
  332.   echo "GRANT select,insert,update,delete,create,drop ON vpopmail.*" >> vpopmail.sql
  333.   echo "TO $USER@localhost IDENTIFIED BY "$PASSWORD";" >> vpopmail.sql
  334.   echo "FLUSH PRIVILEGES;" >> vpopmail.sql
  335.   echo "QUIT" >> vpopmail.sql
  336.   #建立vpopmail数据库
  337.   mysql -uroot -p$MYSQLPASSWD < vpopmail.sql
  338.   tar xzf vpopmail-5.4.10.tar.gz
  339.   cd vpopmail-5.4.10
  340.   #编译并安装
  341.   ./configure --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords
  342.   make
  343.   make install-strip
  344.   echo "export PATH=$PATH:/home/vpopmail/bin" >> /etc/profile
  345.   source /etc/profile
  346.   #建立初始域,admin是默认的域管理密码
  347.   #然后建立一个default用户做测试,后面的default是密码
  348.   vadddomain $DOMAIN admin
  349.   vadduser -q 10485760S default@$DOMAIN default
  350.   vmoduser -c 默认用户 default@$DOMAIN
  351.   #设置警告信息
  352.   cat /home/pkg/.quotawarn.msg > /home/vpopmail/domains/.quotawarn.msg
  353.   sed -i "s/domain.com/rfgz.com/g" /home/vpopmail/domains/.quotawarn.msg
  354.   echo "邮件被拒绝,用户的邮箱空间已满." > /home/vpopmail/domains/.over-quota.msg
  355.   #设置启动脚本
  356.   cp /home/pkg/toaster-scripts-0.7/vpopmailctl /var/qmail/bin
  357.   ln -s /var/qmail/bin/vpopmailctl /usr/bin
  358.   chmod 755 /var/qmail/bin/vpopmailctl
  359.   #打上qmail的补丁
  360.   cd /home/pkg/netqmail-1.05/netqmail-1.05
  361.   bunzip2 -c /home/pkg/qmail-toaster-0.7.2.patch.bz2 | patch -p0 -t
  362.   make clean
  363.   make
  364.   qmailctl stop
  365.   make setup check
  366.   chown -R vpopmail:vchkpw /var/qmail/spam
  367.   #生成SSL信息
  368.   echo "请根据提示,输入生成SSL需要的信息"
  369.   make cert
  370.   make tmprsadh
  371.   chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
  372.   #重启启动qmail服务
  373.   qmailctl start
  374.   ln -s /var/qmail/supervise/qmail-pop3d /service
  375.   ln -s /var/qmail/supervise/qmail-pop3ds /service
  376.   echo "vpopmailctl start|stop|restart|stat|pause|cont|help"
  377.   echo "vpopmail has installed successfully!" >> /tmp/install.tmp
  378.   echo "vpopmail程序已经安装完成!"
  379.   else
  380.    echo "vpopmail已经安装过了!"
  381. fi
  382. fi

  383. ##开始安装igenus##         
  384. echo "##开始安装igenus!##"         
  385. if [ -f /tmp/install.tmp ]; then
  386. RETVAL=`cat /tmp/install.tmp|grep "igenus"|grep "successfully"`
  387. if [ "$RETVAL" == "" ]; then
  388.   cd /home/pkg
  389.   tar zxf igenus_2.0.2_20040901_release.tgz -C /var/www/
  390.   cd /var/www/
  391.   rm -rf html/
  392.   mv igenus html
  393.   #准备一些必要的文件夹
  394.   mkdir /tmp/temp
  395.   chmod -R 0755 /tmp/temp
  396.   chown -R vpopmail:vchkpw /tmp/temp
  397.   mkdir /home/netdisk
  398.   chmod -R 0755 /home/netdisk
  399.   chown -R vpopmail:vchkpw /home/netdisk
  400.   chmod -R 0755 /var/www/html/
  401.   chown -R vpopmail:vchkpw /var/www/html/
  402.   #修改配置文件
  403.   cd /var/www/html/config
  404.   sed -i -e "/^$CFG_BASEPATH/{ s@/home/www/igenus@/var/www/html/@; }" config_inc.php
  405.   sed -i -e "/^$CFG_MYSQL_USER/{ s@vpopmail@$USER@; }" config_inc.php
  406.   sed -i -e "/^$CFG_MYSQL_PASS/{ s@vpopmail@$PASSWORD@; }" config_inc.php
  407.   sed -i -e "/^$CFG_TEMP =/d" -e "/^$CFG_TEMP_MOD/i $CFG_TEMP ="/tmp/temp/";" config_inc.php
  408.   #删除原来的数据库,新建一个
  409.   vdeldomain $DOMAIN
  410.   echo "use vpopmail;" > /home/pkg/drop_vpopmail.sql
  411.   echo "drop table lastauth;" >> /home/pkg/drop_vpopmail.sql
  412.   echo "drop table vpopmail;" >> /home/pkg/drop_vpopmail.sql
  413.   echo "quit" >> /home/pkg/drop_vpopmail.sql
  414.   mysql -uroot -p$MYSQLPASSWD < /home/pkg/drop_vpopmail.sql
  415.   sed -i -e "/^CREATE TABLE `address`/i use vpopmail;" /var/www/html/docs/iGENUS.sql
  416.   sed -i -e "/`pw_shell` varchar(20) default NULL,/a  `pw_clear_passwd` varchar(16) default NULL," /var/www/html/docs/iGENUS.sql
  417.   mysql -uroot -p$MYSQLPASSWD </var/www/html/docs/iGENUS.sql
  418.   #建立虚拟主机
  419.   sed -i -e "/^register_globals/{ s/Off/On/; }" /etc/php.ini
  420.   sed -i -e "/^session.bug_compat_warn/{ s/1/0/; }" /etc/php.ini
  421.   sed -i -e "/^sendmail_path/{ s@/usr/sbin/sendmail -t -i@/var/qmail/bin/qmail-inject@ }" /etc/php.ini
  422.   echo "AddType application/x-httpd-php .php" >> /etc/httpd/conf/httpd.conf
  423.   echo "AddType application/x-httpd-php-source .phps" >> /etc/httpd/conf/httpd.conf
  424.   echo "DirectoryIndex index.php index.html" >> /etc/httpd/conf/httpd.conf
  425.   echo "NameVirtualHost *:80" >> /etc/httpd/conf/httpd.conf
  426.   echo "<VirtualHost *:80>" >> /etc/httpd/conf/httpd.conf
  427.   echo "ServerName $DOMAIN" >> /etc/httpd/conf/httpd.conf
  428.   echo "DocumentRoot /var/www/html" >> /etc/httpd/conf/httpd.conf
  429.   echo "</VirtualHost>" >> /etc/httpd/conf/httpd.conf
  430.   chmod 777 /var/lib/php/session/ -R
  431.   service httpd restart
  432.   #重新增加域
  433.   vadddomain $DOMAIN admin
  434.   vadduser -q 10485760S default@$DOMAIN default
  435.   vmoduser -c 默认用户 default@$DOMAIN
  436.   echo "igenus has installed successfully!" >> /tmp/install.tmp
  437.   echo "igenus程序已经安装完成!"
  438.   else
  439.    echo "igenus已经安装过了!"
  440. fi
  441. fi


复制代码

因为有字数限制,还有些没贴完。

[ 本帖最后由 千禧龙哥 于 2006-8-11 18:26 编辑 ]

install-1133447215.rar

7.32 KB, 下载次数: 143

脚本下载

论坛徽章:
0
2 [报告]
发表于 2006-08-11 18:16 |只看该作者
  1. ##开始安装courier-imap##         
  2. echo "##开始安装courier-imap!##"         
  3. if [ -f /tmp/install.tmp ]; then
  4. RETVAL=`cat /tmp/install.tmp|grep "courier-imap"|grep "successfully"`
  5. if [ "$RETVAL" == "" ]; then
  6.   cd /home/pkg
  7.   tar -xjf courier-authlib-0.55.tar.bz2
  8.   cd courier-authlib-0.55
  9.   ./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchange pwdir=/usr/local/libexec/authlib --with-redhat
  10.   make
  11.   make install
  12.   make install-configure
  13.   sed -i "/^authmodulelist/{ s/authuserdb authpam authpgsql authcustom //; }" /usr/local/etc/authlib/authdaemonrc
  14.   sed -i "/^daemons=/{ s/5/2/; }" /usr/local/etc/authlib/authdaemonrc
  15.   #启动courier-authdaemond进程
  16.   /usr/local/sbin/authdaemond start
  17.   #判断服务是否运行正常
  18.   /usr/local/sbin/authtest default@$DOMAIN default
  19.   RETVAL=$?
  20.   if [ $RETVAL -eq 0 ]; then
  21.    #设置开机自动启动
  22.    cp /usr/local/sbin/authdaemond /etc/init.d/
  23.    ln -s /etc/init.d/authdaemond /etc/rc.d/rc3.d/S80authdaemond
  24.    ln -s /etc/init.d/authdaemond /etc/rc.d/rc5.d/S80authdaemond
  25.    echo "courier-authlib安装成功!"
  26.   fi
  27.   #开始安装courier-imap
  28.   cd /home/pkg
  29.   tar -xjf courier-imap-4.0.2.tar.bz2
  30.   cd courier-imap-4.0.2
  31.   chown -R vpopmail:vchkpw ../courier-imap-4.0.2
  32.   su vpopmail -c "./configure --with-redhat;make" #使用vpopmail用户进行编译
  33.   make install-strip
  34.   make install-configure
  35.   cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
  36.   #设置开机自动启动
  37.   chmod 755 /etc/rc.d/init.d/courier-imap
  38.   chkconfig --add courier-imap
  39.   chkconfig --level 35 courier-imap on
  40.   if ! [ -f /usr/lib/courier-imap/etc/authdaemonrc ]; then
  41.    ln -s /usr/local/etc/authlib/authdaemonrc /usr/lib/courier-imap/etc/authdaemonrc
  42.   fi
  43.   #根据实际情况,修改配置文件
  44.   sed -i -e "s/^IMAPDSTART=/#&/" -e "/^#IMAPDSTART=/a IMAPDSTART=YES" /usr/lib/courier-imap/etc/imapd
  45.   sed -i -e "s/^IMAPDSSLSTART=/#&/" -e "/^#IMAPDSSLSTART=/a IMAPDSSLSTART=YES" /usr/lib/courier-imap/etc/imapd-ssl
  46.   sed -i "/^CN/{ s/localhost/$DOMAIN/; }" /usr/lib/courier-imap/etc/imapd.cnf
  47.   sed -i "/^emailAddress/{ s/(postmaster@)example.com/1$DOMAIN/; }" /usr/lib/courier-imap/etc/imapd.cnf
  48.   sed -i "/^CN/{ s/localhost/$DOMAIN/; }" /usr/lib/courier-imap/etc/pop3d.cnf
  49.   sed -i "/^emailAddress/{ s/(postmaster@)example.com/1$DOMAIN/; }" /usr/lib/courier-imap/etc/pop3d.cnf
  50.   #启动courier-imap进程
  51.   /etc/rc.d/init.d/courier-imap start
  52.   echo "courier-imap has installed successfully!" >> /tmp/install.tmp
  53.   echo "courier-imap已经安装完成!"
  54. else
  55.   echo "courier-imap已经安装过了!"
  56. fi
  57. fi

  58. ##开始安装autorespond##         
  59. echo "##开始安装autorespond!##"         
  60. if [ -f /tmp/install.tmp ]; then
  61. RETVAL=`cat /tmp/install.tmp|grep "autorespond"|grep "successfully"`
  62. if [ "$RETVAL" == "" ]; then
  63.   cd /home/pkg
  64.   tar -xzf autorespond-2.0.5.tar.gz
  65.   cd autorespond-2.0.5
  66.   make
  67.   make install
  68.   echo "autorespond has installed successfully!" >> /tmp/install.tmp
  69.   echo "autorespond已经安装完成!"
  70. else
  71.   echo "autorespond已经安装过了!"
  72. fi
  73. fi

  74. ##开始安装ezmlm##         
  75. echo "##开始安装ezmlm!##"         
  76. if [ -f /tmp/install.tmp ]; then
  77. RETVAL=`cat /tmp/install.tmp|grep "ezmlm"|grep "successfully"`
  78. if [ "$RETVAL" == "" ]; then
  79.   cd /home/pkg
  80.   tar -xzf ezmlm-0.53.tar.gz
  81.   tar -xzf ezmlm-idx-0.42.tar.gz
  82.   cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
  83.   cd ezmlm-0.53
  84.   patch < idx.patch
  85.   chmod u+x makelang
  86.   make
  87.   make man
  88.   make ch_GB
  89.   make setup
  90.   echo "ezmlm has installed successfully!" >> /tmp/install.tmp
  91.   echo "ezmlm已经安装完成!"
  92. else
  93.   echo "ezmlm已经安装过了!"
  94. fi
  95. fi

  96. ##开始安装qmailadmin##         
  97. echo "##开始安装qmailadmin!##"         
  98. if [ -f /tmp/install.tmp ]; then
  99. RETVAL=`cat /tmp/install.tmp|grep "qmailadmin"|grep "successfully"`
  100. if [ "$RETVAL" == "" ]; then
  101.   cd /home/pkg
  102.   tar -xzf qmailadmin-1.2.3.tar.gz
  103.   cd qmailadmin-1.2.3
  104.   ./configure --enable-htmldir=/var/www/html --enable-cgibindir=/var/www/cgi-bin --enable-vpopuser=vpopmail --enable-autoresponder-bin=/usr/bin --disable-ezmlm-mysql --enable-maxusersperpage=20 --enable-maxaliasesperpage=20 --enable-modify-quota --enable-domain-autofill
  105.   make
  106.   make install-strip
  107.   cd /usr/local/share/qmailadmin/lang
  108.   mv en en.bak
  109.   cp zh-cn en
  110.   echo "qmailadmin has installed successfully!" >> /tmp/install.tmp
  111.   echo "qmailadmin已经安装完成!"
  112. else
  113.   echo "qmailadmin已经安装过了!"
  114. fi
  115. fi

  116. ##开始安装vqadmin##         
  117. echo "##开始安装vqadmin!##"         
  118. if [ -f /tmp/install.tmp ]; then
  119. RETVAL=`cat /tmp/install.tmp|grep "vqadmin"|grep "successfully"`
  120. if [ "$RETVAL" == "" ]; then
  121.   cd /home/pkg
  122.   tar -zxf vqadmin-2.3.6.tar.gz
  123.   cd vqadmin-2.3.6
  124.   sed -i "/*user/{ s/my_user/$USER/ }" db_owner.c
  125.   sed -i "/*passwd/{ s/my_password/$PASSWORD/ }" db_owner.c
  126.   sed -i "/*db/{ s/my_database/vpopmail/ }" db_owner.c
  127.   ./configure
  128.   make
  129.   make install
  130.   #添加apache中vqadmin的域
  131.   echo "<Directory "/var/www/cgi-bin/vqadmin">" >> /etc/httpd/conf/httpd.conf
  132.   echo "deny from all" >> /etc/httpd/conf/httpd.conf
  133.   echo "Options ExecCGI" >> /etc/httpd/conf/httpd.conf
  134.   echo "AllowOverride AuthConfig" >> /etc/httpd/conf/httpd.conf
  135.   echo "Order deny,allow" >> /etc/httpd/conf/httpd.conf
  136.   echo "</Directory> " >> /etc/httpd/conf/httpd.conf
  137.   cd /var/www/cgi-bin/vqadmin
  138.   chown nobody .htaccess
  139.   chmod 600 .htaccess
  140.   #创建默认的管理帐号
  141.   htpasswd -bc /etc/httpd/conf/vqadmin.passwd admin admin
  142.   echo "请留意,vqadmin默认管理帐号:admin,密码:admin!"
  143.   chown vpopmail.vchkpw /etc/httpd/conf/vqadmin.passwd
  144.   chmod 644 /etc/httpd/conf/vqadmin.passwd
  145.   #配置apache环境
  146.   sed -i -e "s/^User apache/#&/" -e "s/^Group apache/#&/" -e "/^#Group apache/a User vpopmail
  147. Group vchkpw" /etc/httpd/conf/httpd.conf
  148.   sed -i -e "s/^AddDefaultCharset/#&/" -e "/^#AddDefaultCharset/a AddDefaultCharset GB2312" /etc/httpd/conf/httpd.conf
  149.   chown -R vpopmail.vchkpw /var/www/cgi-bin
  150.   sed -i -e "/^AuthUserFile/d" -e "/^AuthType Basic/a AuthUserFile /etc/httpd/conf/vqadmin.passwd" .htaccess
  151.   service httpd status 1>/dev/null 2>&1
  152.   HTTPSTAT=$?
  153.   if [ $HTTPSTAT -eq 3 ]; then
  154.    service httpd start
  155.    else
  156.     service httpd restart
  157.   fi
  158.   echo "vqadmin has installed successfully!" >> /tmp/install.tmp
  159.   echo "vqadmin已经安装完成!"
  160. else
  161.   echo "vqadmin已经安装过了!"
  162. fi
  163. fi

  164. ##开始安装spamassassin##         
  165. echo "##开始安装spamassassin!##"         
  166. if [ -f /tmp/install.tmp ]; then
  167. RETVAL=`cat /tmp/install.tmp|grep "spamassassin"|grep "successfully"`
  168. if [ "$RETVAL" == "" ]; then
  169.   cd /home/pkg
  170.   rpm -Uvh spamassassin-3.0.2-2.1.el3.rf.i386.rpm
  171.   rpm -Uvh perl-Razor-Agent-2.40-2.i386.rpm
  172.   #修改配置文件
  173.   sed -i -e "s/^SPAMDOPTIONS=/#&/" -e "/^#SPAMDOPTIONS=/a SPAMDOPTIONS="-d -c -m5 -H -x spamd -v"" /etc/init.d/spamassassin
  174.   sed -i -e "s/^SPAMDOPTIONS=/#&/" -e "/^#SPAMDOPTIONS=/a SPAMDOPTIONS="-d -c -m5 -H -x spamd -v"" /etc/sysconfig/spamassassin   
  175.   rm -rf /etc/mail/spamassassin/local.cf
  176.   tar xzf /home/pkg/spamassassin.local.cf.tar.gz -C /etc/mail/spamassassin/
  177.   chkconfig --level 35 spamassassin on
  178.   #启动spamassain
  179.   tar xzf /home/pkg/spamassassin.Chinese_rules.tar.gz /usr/share/spamassassin/
  180.   service spamassassin start
  181.   sa-learn --sync -D -p user_prefs
  182.   echo "spamassassin has installed successfully!" >> /tmp/install.tmp
  183.   echo "spamassassin已经安装完成!"
  184. else
  185.   echo "spamassassin已经安装过了!"
  186. fi
  187. fi

  188. ##开始安装clamav##         
  189. echo "##开始安装clamav!##"         
  190. if [ -f /tmp/install.tmp ]; then
  191. RETVAL=`cat /tmp/install.tmp|grep "clamav"|grep "successfully"`
  192. if [ "$RETVAL" == "" ]; then
  193.   groupadd clamav
  194.   useradd -g clamav -s /bin/false clamav
  195.   cd /home/pkg
  196.   tar -xzf clamav-0.83.tar.gz
  197.   cd clamav-0.83
  198.   ./configure --disable-zlib-vcheck
  199.   make check
  200.   make install
  201.   #修改配置文件
  202.   sed -i -e "s/^Example/#&/" -e "s@^#(UpdateLogFile /var/log/freshclam.log)@1@" -e "s/^#(LogSyslog)/1/" -e "s@^#(PidFile /var/run/freshclam.pid)@1@" /usr/local/etc/freshclam.conf
  203.   sed -i -e "s/^Example/#&/" -e "s@^#LogFile /tmp/clamd.log@LogFile /var/log/clamav/clamd.log@" -e "s@^#(LogFileMaxSize 2M)@1@" -e "s@^#(LogTime)@1@" /usr/local/etc/clamd.conf
  204.   sed -i -e "s@^#(PidFile /var/run/clamd.pid)@1@" -e "s@^#(LogSyslog)@1@" -e "s@^#(ScanMail)@1@" /usr/local/etc/clamd.conf
  205.   #创建freshclam日志记录文件
  206.   touch /var/log/freshclam.log
  207.   chmod 644 /var/log/freshclam.log
  208.   chown clamav:clamav /var/log/freshclam.log
  209.   mkdir /var/lib/clamav
  210.   chown clamav:clamav /var/lib/clamav
  211.   #创建clamv日志记录文件
  212.   mkdir -p /var/log/clamav
  213.   touch /var/log/clamav/clamd.log
  214.   chown clamav.clamav -R /var/log/clamav/
  215.   chmod 644 -R /var/log/clamav/
  216.   tar xzf /home/pkg/clamav.sh.tar.gz -C /etc/init.d/
  217.   chmod 755 /etc/init.d/clamav
  218.   ln -s /etc/init.d/clamav /etc/rc.d/rc3.d/S88clamav
  219.   ln -s /etc/init.d/clamav /etc/rc.d/rc5.d/S88clamav
  220.   echo "clamav has installed successfully!" >> /tmp/install.tmp
  221.   echo "clamav已经安装完成!"
  222. else
  223.   echo "clamav已经安装过了!"
  224. fi
  225. fi

  226. ##开始安装maildrop和TNEF reader##         
  227. echo "##开始安装maildrop和TNEF reader!##"         
  228. if [ -f /tmp/install.tmp ]; then
  229. RETVAL=`cat /tmp/install.tmp|grep "maildrop"|grep "TNEF reader"|grep "successfully"`
  230. if [ "$RETVAL" == "" ]; then
  231.   #安装maildrop
  232.   cd /home/pkg
  233.   tar -xjf maildrop-1.8.0.tar.bz2
  234.   cd maildrop-1.8.0
  235.   ./configure
  236.   make
  237.   make install-strip
  238.   make install-man
  239.   #安装TNEF reader
  240.   cd /home/pkg
  241.   tar -xzf tnef-1.2.3.1.tar.gz
  242.   cd tnef-1.2.3.1
  243.   ./configure
  244.   make
  245.   make install
  246.   #使用Maildrop调用SpamAssassin
  247.   tar xzf /home/pkg/mailfilter.tar.gz -C /home/vpopmail/domains/$DOMAIN
  248.   cd /home/vpopmail/domains/$DOMAIN
  249.   chown vpopmail:vchkpw mailfilter
  250.   chmod 700 mailfilter
  251.   echo "| preline /usr/local/bin/maildrop mailfilter" >> .qmail-default
  252.   echo "maildrop & TNEF reader has installed successfully!" >> /tmp/install.tmp
  253.   echo "maildrop和TNEF reader已经安装完成!"
  254. else
  255.   echo "maildrop和TNEF reader已经安装过了!"
  256. fi
  257. fi

  258. ##开始安装qmail-scanner和qms-analog##         
  259. echo "##qmail-scanner和qms-analog!##"         
  260. if [ -f /tmp/install.tmp ]; then
  261. RETVAL=`cat /tmp/install.tmp|grep "qmail-scanner"|grep "qms-analog"|grep "successfully"`
  262. if [ "$RETVAL" == "" ]; then
  263.   cd /home/pkg
  264.   rpm -Uvh perl-suidperl-5.8.5-12.1.1.i386.rpm
  265.   tar zxf qmail-scanner-1.25.tgz
  266.   tar zxf qms-analog-0.4.2.tar.gz
  267.   cd qms-analog-0.4.2
  268.   make all
  269.   cp qmail-scanner-1.25-st-qms-20050219.patch /home/pkg/qmail-scanner-1.25
  270.   cd /home/pkg/qmail-scanner-1.25
  271.   patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch
  272.   groupadd qscand
  273.   useradd -g qscand -s /bin/false qscand
  274.   sed -i -e "s/yourdomain.com/$DOMAIN/" -e "s/,yourotherdomain.com//" qms-config
  275.   sed -i -e "/--qms-monitor no/a        --lang en_GB \
  276.         --debug no \
  277.         --unzip yes \
  278.         --scanners clamscan,verbose_spamassassin \" qms-config
  279.   chmod 755 qms-config
  280.   echo "请留意屏幕提示,都按y确认即可!"
  281.   ./qms-config install
  282.   setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z
  283.   setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -r
  284.   setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
  285.   chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
  286.   chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl
  287.   chown -R qscand:qscand /var/spool/qmailscan
  288.   sed -i -e "/softlimit/{ s/8000000/40000000/ }" /var/qmail/supervise/qmail-smtpd/run
  289.   qmailctl stop
  290.   qmailctl start
  291.   echo "qmail-scanner & qms-analog has installed successfully!" >> /tmp/install.tmp
  292.   echo "qmail-scanner和qms-analog已经安装完成!"
  293. else
  294.   echo "qmail-scanner和qms-analog已经安装过了!"
  295. fi
  296. fi

  297. ##开始安装qmailanalog和qlogtools##         
  298. echo "##qmailanalog和qlogtools!##"         
  299. if [ -f /tmp/install.tmp ]; then
  300. RETVAL=`cat /tmp/install.tmp|grep "qmailanalog"|grep "qlogtools"|grep "successfully"`
  301. if [ "$RETVAL" == "" ]; then
  302.   #安装qmailanalog
  303.   cd /home/pkg/
  304.   tar zxf qmailanalog-0.70.tar.gz
  305.   cd qmailanalog-0.70
  306.   patch < /home/pkg/qmailanalog-0.70.errno.patch
  307.   make && make setup check
  308.   #安装qlogtools
  309.   cd /home/pkg/
  310.   tar zxf qlogtools-3.1.tar.gz
  311.   cd qlogtools-3.1
  312.   patch < /home/pkg/qlogtools_errno.patch
  313.   make
  314.   ./installer
  315.   #设置配置文件
  316.   tar xzf /home/pkg/qmailstats.tar.gz -C /var/qmail/bin/
  317.   sed -i -e "s/<your_postmaster>@yourdomain.com/postmaster@$DOMAIN/" /var/qmail/bin/qmailstats
  318.   chmod 750 /var/qmail/bin/qmailstats
  319.   /var/qmail/bin/qmailstats
  320.   echo "qmailanalog & qlogtools has installed successfully!" >> /tmp/install.tmp
  321.   echo "qmailanalog和qlogtools已经安装完成!"
  322.   echo "所有程序已经安装完成!请保留/home/pkg/admin目录,其他的可以删除!"
  323. else
  324.   echo "qmailanalog和qlogtools已经安装过了!"
  325. fi
  326. fi
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-08-12 02:22 |只看该作者
不错,顶你.

论坛徽章:
0
4 [报告]
发表于 2006-08-14 09:32 |只看该作者
好东西,改下文件就能用,而且可以根据自己的情况做配置。

顶!

论坛徽章:
0
5 [报告]
发表于 2007-09-19 17:07 |只看该作者

回复 #2 千禧龙哥 的帖子

su vpopmail -c "./configure --with-redhat;make" #使用vpopmail用户进行编译

这句可是不能执行的
configure: error: sources are in .,but 'cd .' does not work

论坛徽章:
0
6 [报告]
发表于 2007-10-17 10:19 |只看该作者
好东西。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP