首先是搭建後臺服務:
下載下面2個軟體包 extmail-1.2.tar.gz
extman-1.1.tar.gz
建立一個extsuite目錄,固定格式 mkdir /var/www/extsuite
將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/
切換到/var/www/extsuite/ cd /var/www/extsuite/ 將2個壓縮後的目錄改名,原目錄太長了。 mv extmail-1.2/ extmail
mv extman-1.1/ extman
cd extman 上面我們建立了一個extsuite目錄,為什麼非得是extsuite。因為下面一個檔案webman.cf.default裡面寫的很多引數預設的路徑/var/www/extsuite/extman/這個路徑。
cd extman/docs/
下面這個檔案裡面預設寫了很多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