系统:Ubuntu-10.04.3-server-amd64
Ubuntu下安装Postfix+Extmail邮件服务器相关附件下载:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2013年资料/5月/25日/Ubuntu下安装Postfix+Extmail邮件服务器
------------------------------------------------------------------------------------
安装LAMP环境
sudo apt-get install apache2
sudo apt-get install mysql-server-5.0 mysql-client-5.0
sudo apt-get install php5 libapache2-mod-php5
sudo /etc/init.d/apache2 restart
接下来修改apache2的配置文件。
sudo vim /etc/apache2/apache2.conf
把下面的代码全部考到文件的最后。
1
2
3
4
5
6
|
AddType application/x-httpd-php .php .htm .html AddDefaultCharset UTF- 8 ServerName 127.0 . 0.1 <IfModule dir_module> DirectoryIndex index.htm index.html index.php </IfModule> |
重新启动
/etc/init.d/apache2 restart
/etc/init.d/mysql restart
apt-get install liblzo2-2
apt-get install libstdc++6-4.4-dev
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-fastcgi libfcgi-perl libapache2-mod-php5 php5 php5-mysql build-essential libtool libnet-server-perl libnet-cidr-perl libberkeleydb-perl arc zoo lzop libgd-gd2-perl libfile-tail-perl libdigest-sha1-perl libdigest-HMAC-perl libnet-ip-perl libnet-dns-perl libhtml-tagset-perl libhtml-parser-perl libio-stringy-perl libio-multiplex-perl libio-socket-ssl-perl libio-zlib-perl libnet-ssleay-perl libunix-syslog-perl libtimedate-perl libmailtools-perl libconvert-binhex-perl libconvert-tnef-perl libconvert-uulib-perl libcompress-zlib-perl libarchive-zip-perl perl-suid apache2-suexec
你会被询问以下问题:
Create directories for web-based administration? <-- No
General type of mail configuration: <-- Internet Site
System mail name: <-- mail.extmail.org(直接改成要用的域名:mail.object.com 待测试)
a2enmod suexec //打开apache2 suexec支持
a2enmod fastcgi //打开apache2 fastcgi支持
sudo /etc/init.d/apache2 restart
Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail、 Extman两个部分的程序套件。ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。
下载extmail,并修改配置
我用的是ExtMail 1.1.0.tar.gz和ExtMan 1.0.0.tar.gz
tar zxvf extmail-1.1.0.tar.gz
tar zxvf extman-1.0.0.tar.gz
mkdir /var/www/extsuite
mv extmail-1.1.0 /var/www/extsuite/extmail
mv extman-1.0.0 /var/www/extsuite/extman
cp /var/www/extsuite/extman/docs/mysql_virtual_*.cf /etc/postfix/
注意:修改/etc/postfix/mysql_virtual_*.cf,将其中的“localhost”均改为“127.0.0.1”
(:g/a/s//b/g将文中所有a均用b替换(或者:%s/a/b/g)
Sudo sed –i ‘/localhost/s/localhost/127.0.0.1/’ file*)
chmod o= /etc/postfix/mysql_virtual_*.cf
chgrp postfix /etc/postfix/mysql_virtual_*.cf
注:如果打算使用默认用户vuser:vgroup,那么需创建此用户,且uid:gid为1001:1001.而本文为了以后方便,使用的是手动创建的用户vmail,所以需修改下边这些文件中的相关参数.
新建一个用户vmail组为vmail uid和gid为1001,不允放登录。用户下用来存放所有的用户的邮件
groupadd -g 1001 vmail
useradd -m -g vmail -u 1001 -d /home/vmail -s /bin/bash vmail
id vmail
注:如果打算使用默认用户vu修改uid和gid 由于程序中默认使用的为vuser:vgroup,其uid:gid为1001:1001。而当前采用了一个新建用户vmail,所以需修改程序中的所有相关参数,具体操作如下:
chown -R vmail:vmail /var/www/extsuite/extmail/cgi/
chown -R vmail:vmail /var/www/extsuite/extman/cgi/
cd /var/www/extsuite/extmail/
cp webmail.cf.default webmail.cf
修改/var/www/extsuite/extmail/webmail.cf里的其他参数,主要变动的内容见下:
gedit webmail.cf
1
2
3
4
5
6
7
8
9
10
11
|
SYS_USER_LANG = zh_CN SYS_USER_CHARSET = gb2312 SYS_MYSQL_USER = root SYS_MYSQL_PASS = 123 SYS_MYSQL_DB = extmail SYS_MYSQL_HOST = 127.0 . 0.1 SYS_MYSQL_SOCKET = / var /run/mysqld/mysqld.sock SYS_AUTHLIB_SOCKET = / var /run/courier/authdaemon/socket SYS_G_ABOOK_FILE_CHARSET = gb2312 SYS_MAILDIR_BASE = /home/vmail SYS_MESSAGE_SIZE_LIMIT = 102400000 //注:这个选项为修改附件的大小,默认为5M,你可以自行修改,这里面改了是不行的,还要去postfix里面修改,我在下面会讲到。 |
vi ../extman/webman.cf
cp webman.cf.default webman.cf
vi webman.cf
1
2
3
4
5
6
7
8
9
10
11
|
SYS_CAPTCHA_ON = 0 //用于关闭后台登录时的验证码 SYS_MAILDIR_BASE = /home/vmail SYS_DEFAULT_UID = 1001 SYS_DEFAULT_GID = 1001 SYS_MYSQL_USER = root SYS_MYSQL_PASS = 123 SYS_MYSQL_DB = extmail SYS_MYSQL_HOST = 127.0 . 0.1 SYS_MYSQL_SOCKET = / var /run/mysqld/mysqld.sock SYS_LANG = zh_CN SYS_GROUPMAIL_SENDER = postmaster@extmail.org //注: 这个选项是,你在后台群发后,用户收到邮件的发件人地址,你可以自行修改。 |
Cd ..
Cd extmail
gedit dispatch-init
SU_UID=vmail
SU_GID=vmail
gedit dispatch_lig.sh
BASE=/var/www/extsuite/extmail
$BASE/tools/suid-with -u vmail -g vmail /usr/bin/perl $BASE/dispatch.fcgi
:q
cd ../extman/
gedit tools/setid.pl
set_gid('vmail');
set_uid('vmail');
gedit tools/adminctl.pl
--setgid=vmail
--setuid=vmail
gedit tools/userctl.pl
--setgid=vmail
--setuid=vmail
gedit tools/aliasctl.pl
--setgid=vmail
--setuid=vmail
gedit tools/domainctl.pl
--setgid=vmail
--setuid=vmail
注:这上面实际上都是把vuser改成vmail,vgroup改成vmail.
gedit contrib/passwd2ext.pl
my $sock = '/var/run/mysqld/mysqld.sock';
my $uid = '1001';
my $gid = '1001';
gedit libs/Ext/Mgr/LDAP.pm
uidNumber => $opt{uidnumber} || '1001', //349行
gidNumber => $opt{gidnumber} || '1001', //350行
︰
uidNumber => $opt{uidnumber} || '1001', //541行
gidNumber => $opt{gidnumber} || '1001', //542行
gedit docs/init.ldif
uidNumber: 1001
gidNumber: 1001
gedit /var/www/extsuite/extman/docs/init.sql
修改18行中的uid和gid
INSERT INTO `mailbox` VALUES ('postmaster@extmail.org','postmaster','$1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0','','PostMaster','','extmail.org/postmaster/Maildir/','extmail.org/postmaster','104857600S','52428800S','extmail.org',1001,1001,'2007-02-14 15:10:04','2010-11-08',1,0,0,0,0,0,0,0,'my question', 'my answer');
gedit /var/www/extsuite/extman/docs/extmail.sql
修改uid和gid
CREATE TABLE mailbox (
︰
︰
129行 uidnumber int(6) NOT NULL default '1001',
130行 gidnumber int(6) NOT NULL default '1001',
︰)
到此,vmail用户组修改完毕。