首先是搭建後臺服務:html
下載下面2個軟件包 extmail-1.2.tar.gzmysql
extman-1.1.tar.gzweb
建立一個extsuite目錄,固定格式 mkdir /var/www/extsuitesql
將2個壓縮包解壓到/var/www/extsuite/目錄 tar zxf extman-1.1.tar.gz -C /var/www/extsuite/數據庫
tar zxf extmail-1.2.tar.gz -C /var/www/extsuite/apache
切換到/var/www/extsuite/ cd /var/www/extsuite/ 將2個壓縮後的目錄更名,原目錄太長了。 mv extmail-1.2/ extmailvim
mv extman-1.1/ extman瀏覽器
cd extman 上面咱們建立了一個extsuite目錄,爲何非得是extsuite。由於下面一個文件webman.cf.default裏面寫的不少參數缺省的路徑/var/www/extsuite/extman/這個路徑。less
cd extman/docs/dom
下面這個文件裏面默認寫了不少mail服務數據庫的配置,將其直接導入。
mysql -uroot -predhat < extmail.sql
vim init.sql //將裏面的加密密碼改成名文密碼
這個文件寫了不少關於mail用戶,郵箱,別名等服務在mysql服務寫入的數據
mysql -uroot -predhat < init.sql
咱們將/var/www/extsuite/extman/docs下三個關於mail的郵箱,域名,別名的文件cp到/etc/postfix目錄下.
cp mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/
校驗這三個文件是否正確:mysql:/etc/postfix這個必須絕對路徑
postmap -q "support@extmail.org" mysql:/etc/postfix/mysql_virtual_alias_maps.cf
postmap -q "postmaster@extmail.org" mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
postmap -q "extmail.org" mysql:/etc/postfix/mysql_virtual_domains_maps.cf
查看一些postfix的參數,經過過濾獲取關於vitual項 postconf -d | grep virtual 將其加入到postfix的主配置文件,使其自動讀取。
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf
咱們使用的是虛擬用戶,固然也要建立一個虛擬用戶。
useradd -u 800 -s /sbin/nologin vmail 將其參數寫入main.cf文件,自動生效。
postconf -e virtual_gid_maps=static:800
postconf -e virtual_uid_maps=static:800
指定虛擬用戶的mail存儲位置。
postconf -e virtual_mailbox_base=/home/vmail/
postconf -e inet_interfaces=all //全部人可使用mail服務
配置完後重啓載入。
postfix reload 測試,發封郵件試試。 mail support@extmail.org
mailq cd /home/vmail/
搭建前臺服務:
cd extmail/ 創建前臺mail主配置文件
cp webmail.cf.default webmail.cf
vim INSTALL 查看幫助
將下面的行復制到Apache配置文件下
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
SuexecUserGroup vuser vgroup </VirtualHost>
vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName mail.extmail.org //訪問該目錄的域名
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
SuexecUserGroup vmail vmail //有效用戶和組
</VirtualHost>
192.168.2.249 mail.extmail.org //在瀏覽器客戶端作個解析
/etc/init.d/httpd restart //重啓apache服務
cd /var/www/extsuite/ //默認這些文件任何人均可以使用,但咱們服務是以vmail用戶身份去訪問下面的文件
chown -R vmail.vmail *
yum install perl-CGI //再次刷新發現服務不支持CGI模塊
vim webmail.cf
SYS_LOG_ON = 0 //關閉日誌功能
SYS_MAILDIR_BASE = /home/vmail //將主配置文件收郵件的目錄修改爲咱們默認的路徑
SYS_CRYPT_TYPE = plain //使用明文密碼
SYS_MYSQL_USER = extmail //修改登陸mysql數據庫所使用的用戶和密碼 SYS_MYSQL_PASS = extmail
用戶註冊的實現: cd extman/
vim INSTALL
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot /path/to/your/document/root/
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
SuexecUserGroup vuser vgroup
</VirtualHost>
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
<VirtualHost *:80>
ServerName mail.extmail.org
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
SuexecUserGroup vmail vmail
</VirtualHost>
/etc/init.d/httpd restart 瀏覽器測試 http://mail.extmail.org/extman/cgi/index.cgi
會提示沒有主配置文件:
cp webman.cf.default webman.cf
修改郵件的有效用戶
SYS_MAILDIR_BASE = /home/vmail
臨時文件
SYS_SESS_DIR = /tmp/
關閉驗證嗎功能呢個
SYS_CAPTCHA_ON = 0
使用明文密碼 SYS_CRYPT_TYPE = plain
# yum install -y perl-ExtUtils-MakeMaker perl Makefile.PL
# make install
SYS_CAPTCHA_ON = 1
SYS_CAPTCHA_LEN = 4 發現驗證碼顯示不出來:
get perl-GD-2.45-1.el6.rfx.x86_64.rpm
# rpm -ivh perl-GD-2.45-1.el6.rfx.x86_64.rpm
/var/www/extsuite/extman/addon
# cp mailgraph_ext/ /usr/local/ -r
/usr/local/mailgraph_ext
# vim mailgraph-init
BASEDIR=/usr/local/mailgraph_ext
# ./mailgraph-init
# yum localinstall rrdtool-perl-1.3.8-6.el6.x86_64.rpm
# /usr/local/mailgraph_ext/mailgraph-init start
File-Tail-0.99.3.tar.gz
# tar zxf File-Tail-0.99.3.tar.gz
cd File-Tail-0.99.3 # perl Makefile.PL
# yum install perl-Time-HiRes -y
# make install
# /usr/local/mailgraph_ext/mailgraph-init start
/var/www/extsuite/extman/daemon/cmdserver &
vim /etc/rc.d/rc.local
/var/www/extsuite/extman/daemon/cmdserver &
/usr/local/mailgraph_ext/mailgraph-init start
取消自由註冊:
cd extmail/
vim webmail.cf
SYS_SHOW_SIGNUP = 0
yum search dovecot
yum search dovecot-mysql.x86_64 -y 主配置文件不變。
vim 10-mail.conf
mail_location = maildir:/home/vmail/%d/%n/Maildir
first_valid_uid = 800
vim 10-auth.conf
!include auth-sql.conf.ext passdb { driver = sql 找到下面的行,提示咱們去找這個文件,example-config/dovecot-sql.conf.ext
下面的是路徑/usr/share/doc/dovecot-2.0.9/example-config,這個文件只是一個模板。
# Path for SQL configuration file, see example-config/dovecot-sql.conf.ext args = /etc/dovecot/dovecot-sql.conf.ext }
咱們將其cp到/etc/dovecot路徑下,
並修改如下參數。
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = PLAIN
password_query = \
SELECT username, domain, password \
FROM mailbox WHERE username = '%u' AND domain = '%d'
user_query = SELECT maildir, 800 AS uid, 800 AS gid FROM mailbox WHERE username = '%u'
豆腐塊的證書製做: /etc/pki/tls/certs
證書的名字:dovecot.pem 將其分別拷貝到公鑰和加密目錄下。
cp dovecot.pem /etc/pki/dovecot/certs/
cp dovecot.pem /etc/pki/dovecot/private/
/etc/init.d/dovecot restart
重啓就ok了。
下面是TLS和SASL證書模塊和加密模塊在mail服務中的添加。和msyql的加載同樣:
yum install -y cyrus-sasl-devel yum install -y openssl-devel
# cd postfix-2.11.0 //切換到加壓包的目錄
/root/postfix-2.11.0/README_FILES //這個目錄下的2個文件,less SASL_README less TLS_README 和mysql一塊從新編譯升級。
# make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib64 -lsasl2 -lcrypto'
make upgrade