LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2875|回复: 23

☆ Gentoo Linux 下的 Qmail 安装过程 ☆

[复制链接]
发表于 2004-9-5 17:25:00 | 显示全部楼层 |阅读模式
我用 Gentoo 差不多有一年时间了,使用过后我发现我越来越喜欢它。本来我就一直想用 Linux 配置一个 email 服务,而 gentoo 的安装软件很方便,于是就在网上找了一些安装资料,不知是我的理解能力差还是怎么的,试了 10 多次后还没成功(可怜我的硬盘),近日终以被我“折磨”成功了,现在把安装过程写了下来,希望对想配置 QMail 的朋友有一些帮助。



  1. ☆ Gentoo Linux 下的 Qmail 安装过程 ☆

  2.     在安装之前你还需要安装 apache、mod_php,在这里就不再进行安装的说明。
  3.     以下是我安装时的 USE 参数
  4.         apache USE="threads"
  5.         mod_php USE="-X -qt mysql apache2 tiff gd gd-external imap"
  6.     我的 WWW 目录:/var/www/localhost
  7.     考虑到是做服务器,我的 ACCEPT_KEYWORDS="x86"

  8. 一、安装/配置 qmail

  9.    ● 你要确保已经卸载了其他相关邮件服务软件,如:ssmtp, sendmail 或 postfix:
  10.       # emerge -C ssmtp
  11.       # emerge /usr/portage/mail-mta/qmail/qmail-1.03-r13.ebuild

  12.    ● 自定义你的个人信息
  13.       # nano /var/qmail/control/servercert.cnf
  14.       # ebuild /var/db/pkg/mail-mta/qmail-1.03-r13/qmail-1.03-r13.ebuild config

  15.    ● 查看 qmail 的域名信息,确保设置为你所需的域名
  16.       # cat /var/qmail/control/defaultdomain
  17.       # cat /var/qmail/control/locals
  18.       # cat /var/qmail/control/me
  19.       # cat /var/qmail/control/plusdomain
  20.       # cat /var/qmail/control/rcpthosts

  21.    ● 添加启动
  22.       # ln -s /var/qmail/supervise/qmail-send /service/qmail-send
  23.       # ln -s /var/qmail/supervise/qmail-smtpd /service/qmail-smtpd
  24.       # rc-update add svscan default
  25.       # /etc/init.d/svscan start

  26. 二、安装/配置 vpopmail

  27.    ● 安装 qmail
  28.       # emerge vpopmail

  29.    ● 在 mysql 里创建 vpopmail 数据表
  30.       # mysql -u root -p<你的mysql密码>
  31.       > create database vpopmail;
  32.       > use mysql;
  33.       > grant select, insert, update, delete, create, drop on vpopmail.* to
  34.         vpopmail@localhost identified by 'vpopmail密码';
  35.       > flush privileges;
  36.       > quit

  37.    ● 修改 /etc/vpopmail.conf
  38.       # nano /etc/vpopmail.conf
  39.         localhost|0|vpopmail|<vpopmail密码>|vpopmail
  40.         localhost|0|vpopmail|<vpopmail密码>|vpopmail

  41.    ● 修改文件权限
  42.       # chown root:vpopmail /etc/vpopmail.conf
  43.       # chmod 640 /etc/vpopmail.conf
  44.       # chown root:vpopmail /var/vpopmail/bin/vchkpw
  45.       # chmod 4711 /var/vpopmail/bin/vchkpw

  46.    ● 使用 smtp 验证,修改 conf-smtpd 文件
  47.       # nano /var/qmail/control/conf-smtpd
  48.         TCPSERVER_OPTS="${TCPSERVER_OPTS} -R"
  49.         QMAIL_SMTP_AUTHHOST=$(<${QMAIL_CONTROLDIR}/me)
  50.         QMAIL_SMTP_CHECKPASSWORD="/var/vpopmail/bin/vchkpw"
  51.         QMAIL_SMTP_POST="<你的域名> /var/vpopmail/bin/vchkpw /bin/true"

  52. 三、安装/配置 courier-imap

  53.    ● 安装 courier-imap
  54.       # emerge courier-imap

  55.    ● 配置 courier-imap
  56.       # nano /etc/courier-imap/authdaemonrc
  57.         authmodulelist="authvchkpw"     <-- 确保这一句只包含 authvchkpw

  58.       # nano /etc/courier-imap/imapd
  59.         IMAPDSTART=YES                  <-- 修改为 YES
  60.         AUTHMODULES="authvchkpw"        <-- 确保这一句只包含 authvchkpw

  61.       # nano /etc/courier-imap/pop3d
  62.         POP3DSTART=YES                  <-- 修改为 YES
  63.         AUTHMODULES="authvchkpw"        <-- 确保这一句只包含 authvchkpw

  64.       # nano /etc/courier-imap/pop3d.cnf
  65.         (编辑 [ req_dn ] 段落)          <-- 可以不修改
  66.       # mkpop3dcert

  67.       # nano /etc/courier-imap/imapd.cnf
  68.         (编辑 [ req_dn ] 段落)          <-- 可以不修改
  69.       # mkimapdcert

  70.    ● 添加启动
  71.       # rc-update add courier-imapd default
  72.       # rc-update add courier-imapd-ssl default
  73.       # rc-update add courier-pop3d default
  74.       # rc-update add courier-pop3d-ssl default
  75.       # /etc/init.d/courier-imapd start
  76.       # /etc/init.d/courier-imapd-ssl start
  77.       # /etc/init.d/courier-pop3d start
  78.       # /etc/init.d/courier-pop3d-ssl start

  79. 三、安装/配置 qmailadmin

  80.    ● 安装 qmailadmin
  81.       # emerge ezmlm-idx-mysql
  82.       # emerge /usr/portage/net-mail/autorespond/autorespond-2.0.4.ebuild
  83.       # emerge /usr/portage/net-mail/qmailadmin/qmailadmin-1.2.1.ebuild

  84.    ● 设置 qmailadmin
  85.       # cd /var/www/localhost/htdocs
  86.       # mv qmailadmin ../.

  87. 四、安装/配置 igenus

  88.    ● 请到 [url]http://www.igenus.org/[/url] 下载最新的 igenus
  89.       # cd /tmp/igenus
  90.       # chmod -R 755 /tmp/igenus
  91.       # chown -R vpopmail:vpopmail /tmp/igenus
  92.       # cd /var/www/localhost/
  93.       # tar -zxvf igenus-2.0.2.tar.gz
  94.       # chown -R vpopmail:vpopmail igenus
  95.       # cd igenus
  96.       # nano config/config_inc.php
  97.         修改如下内容
  98.         $CFG_BASEPATH = "/var/www/localhost/igenus";
  99.         $CFG_MYSQL_HOST = 'localhost';
  100.         $CFG_MYSQL_USER        = 'vpopmail';
  101.         $CFG_MYSQL_PASS = '<vpopmail 密码>';
  102.         $CFG_MYSQL_DB        = 'vpopmail';
  103.         $CFG_TEMP = "/tmp/igenus";
  104.         $CFG_AUTORESPOND_PROM = "/var/qmail/bin/autorespond";
  105.         $CFG_NETDISK_PATH = "/var/netdisk";
  106.         $CFG_NETDISK_DEFAULT_QUOTA = 100;
  107.       创建网络磁盘
  108.       # cd /var
  109.       # mkdir netdisk
  110.       # chmod -R 755 netdisk
  111.       # chown -R vpopmail:vpopmail netdisk
  112.       导入 igenus 包中自带的 sql 文件
  113.       # mysql -u root -p vpopmail < /var/www/localhost/igenus/docs/iGENUS.sql

  114. 五、其他一些设置

  115.    ● 修改 /etc/php/apache2-php4/php.ini 以下内容:
  116.       max_execution_time=60
  117.       memory_limit=20M
  118.       post_max_size=10M
  119.       file_uploads=on
  120.       upload_max_filesize=10M
  121.       register_globals=On
  122.       session.bug_compat_42=0
  123.       session.bug_compat_warn=0
  124.       sendmail_path = /var/qmail/bin/qmail-inject

  125.    ● 修改 /etc/apache2/conf/commonapache2.conf
  126.       User vpopmail
  127.       Group vpopmail

  128.    ● 建立虚拟登录域
  129.       # vadddomain <你的域名>
  130.       Please enter password for postmaster:<输入 postmaster 密码>
  131.       enter password again:<再次输入密码>

  132.    ● 登陆 qmailadmin 建立用户
  133.       打开浏览器,键入地址: [url]http://[/url]<你的域名>/cgi-bin/qmailadmin
  134.       以 postmaster 登陆,密码为上面设置的密码。

  135.    ● vpopmail 用的是 .maildir 格式的邮箱,而 igenus 用的是 Maildir 格式的邮箱
  136.       # cd /var/vpopmail/domains/<你的域名>/<你的用户名>
  137.       # ln -s .maildir Maildir
  138.       # chown vpopmail:vpopmail Maildir

  139. 六、一些很实用的废话

  140.    ● 如果你使用 foxmail 一类的软件,记住在你的 pop3 帐号后面一定要加 @<你的域名> 要不然会说登录错误。如:test@default.3322.org
复制代码
 楼主| 发表于 2004-9-5 17:27:38 | 显示全部楼层
这是我建的 http://default.3322.org/igenus/
用户名:demo
密  码:demo
发表于 2004-9-5 19:38:52 | 显示全部楼层
修改 /etc/vpopmail.conf
      # nano /etc/vpopmail.conf
        localhost|0|vpopmail|<vpopmail密码>|vpopmail
        localhost|0|vpopmail|<vpopmail密码>|vpopmail

不知怎么修改?
我的/etc/vpopmail.conf
MYSQL_UPDATE_SERVER     localhost
MYSQL_UPDATE_USER       vpopmail
MYSQL_UPDATE_PASSWD     secret

MYSQL_READ_SERVER       localhost
MYSQL_READ_USER         vpopmail
MYSQL_READ_PASSWD       secret
发表于 2004-9-5 20:07:27 | 显示全部楼层
小鸭兄,还不鼓励一下,加精。
 楼主| 发表于 2004-9-5 20:30:51 | 显示全部楼层
你的 vpopmail 是什么版本的呀?我的是 vpopmail 5.4.6-r1 的,不过从字面上理解应该是
MYSQL_UPDATE_SERVER localhost
MYSQL_UPDATE_USER vpopmail
MYSQL_UPDATE_PASSWD secret <-- 你的vpopmail密码

MYSQL_READ_SERVER localhost
MYSQL_READ_USER vpopmail
MYSQL_READ_PASSWD secret <-- 你的vpopmail密码

这是我的/etc/vpopmail.conf
# MYSQL CONNECTION SETTINGS FOR VPOPMAIL
#
# Line 1 defines the connection to use for database reads,
# Line 2 defines the connection to use for database updates/writes.
#
# If you omit line 2, then the same settings will be
# used for both read and write.
#
# settings for each line:
# host|port|user|password|database
#
#
# Note:
#   The value of host may be either a hostname or an IP address.
#   If host is 'localhost', then sockets (Unix) or named pipes (Windows)
#   will be used instead of TCP/IP to connect to the server.
# Read-only DB
localhost|0|vpopmail|secret|vpopmail
# Write DB
localhost|0|vpopmail|secret|vpopmail
 楼主| 发表于 2004-9-5 20:35:41 | 显示全部楼层
更证:igenus 的设置 $CFG_TEMP = "/tmp/igenus";
发表于 2004-9-5 20:45:11 | 显示全部楼层
thanks!
发表于 2004-9-5 20:54:08 | 显示全部楼层
我是用Gentoo的hostname.dnsdomainname当域名,按照上面的步骤,到了“建立虚拟登陆域”的时候就出现问题了,
# vadddomain Gentoo.Gentoo2004
Please enter password for postmaster:
enter password again:
vmysql: sql error[c]: MySQL server has gone away
vmysql: sql error: MySQL server has gone away
vmysql: sql error[3]: MySQL server has gone away
could not create limits table CREATE TABLE limits ( domain CHAR(64) PRIMARY KEY,       maxpopaccounts           INT(10) NOT NULL DEFAULT -1,       maxaliases               INT(10) NOT NULL DEFAULT -1,       maxforwards              INT(10) NOT NULL DEFAULT -1,       maxautoresponders        INT(10) NOT NULL DEFAULT -1,       maxmailinglists          INT(10) NOT NULL DEFAULT -1,       diskquota                INT(12) NOT NULL DEFAULT 0,       maxmsgcount              INT(12) NOT NULL DEFAULT 0,       defaultquota             INT(12) NOT NULL DEFAULT 0,       defaultmaxmsgcount       INT(12) NOT NULL DEFAULT 0,       disable_pop              TINYINT(1) NOT NULL DEFAULT 0,       disable_imap             TINYINT(1) NOT NULL DEFAULT 0,       disable_dialup           TINYINT(1) NOT NULL DEFAULT 0,       disable_passwordchanging TINYINT(1) NOT NULL DEFAULT 0,       disable_webmail          TINYINT(1) NOT NULL DEFAULT 0,       disable_relay            TINYINT(1) NOT NULL DEFAULT 0,       disable_smtp             TINYINT(1) NOT NULL DEFAULT 0,       perm_account             TINYINT(2) NOT NULL DEFAULT 0,       perm_alias               TINYINT(2) NOT NULL DEFAULT 0,       perm_forward             TINYINT(2) NOT NULL DEFAULT 0,       perm_autoresponder       TINYINT(2) NOT NULL DEFAULT 0,       perm_maillist            TINYINT(4) NOT NULL DEFAULT 0,       perm_quota               TINYINT(2) NOT NULL DEFAULT 0,       perm_defaultquota        TINYINT(2) NOT NULL DEFAULT 0 )
vmysql: sql error[p]: MySQL server has gone away
Error: (vadduser) can't read domain limits

用下一步的地址,无法登陆,显示 invalid login.哪里有问题?如何做?
 楼主| 发表于 2004-9-5 21:04:14 | 显示全部楼层
从错误的提示信息看,你应该是没有设置正确 /etc/vpopmail.conf ,能否把你的 vpopmail 版本说明一下。

题外话:
Gentoo.Gentoo2004 ? 有这样的域名吗?
如果你用的是 ADSL 上网,可以在 http://www.3322.org 里申请一个动态域名。
发表于 2004-9-5 21:16:20 | 显示全部楼层
gentoo是我的hostname,gentoo2004是dnshostname,是安装gentoo时设置的那个hostname,dnsdomainname。
从浏览器访问http://gentoo.gentoo2004/cgi-bin/qmailadmin显示
qmailadmin 1.2.1
vpopmail 5.4.0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表