利用郵箱收發信件已經成爲咱們平常生活不可或缺的一部分,而其基本的工做流程又是什麼樣的呢,帶着這樣的疑問,便對其基本的工做流程作了一下總結。
首先要明白鬚要那些包:
httpd, php, php-mysql, mysql, mysql-server, mysql-devel, openssl-devel, dovecot, perl-DBD-MySQL, tcl, tcl-devel, libart_lgpl, libart_lgpl-devel, libtool-ltdl, libtool-ltdl-devel, expect
可是在安裝前要關閉系統自帶的sendmail,並將它的隨系統自動啓動功能關閉:
service sendmail stop chkconfig sendmail off
而後利用 yum grouplist命令來檢查下面的開發包組:
Development Libraries Development Tools Legacy Software Development X Software Development
若是沒有的話,利用以下命令來安裝上便可:yum groupinstall "packge_group_name"
下面來安裝這些包。爲了能夠使用到各模塊的最新功能,mysql 和apache採用源碼來安裝。而Mysql的源碼安裝,其官方還爲咱們提供了二進制版的,爲咱們省去了很多「麻煩」,對於我這樣的懶人,固然不會「自找麻煩了」,這裏就採用二進制版來安裝。
首先來進行拆包: tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/切換到解壓的目錄能夠看到解壓出的目錄名字很長,爲了操做的方便,這裏爲其作一個軟鏈接:
ln -s mysql-5.5.15-linux2.6-i686/ mysql
而後切換到mysql目錄下,能夠看到官方提供的安裝文檔INSTALL-BINARY,根據裏面的步驟作就好
建立組:groupadd -r mysql
建立用戶:useradd -r -g mysql mysql -M
改變全部者:chown -R mysql .
改變所屬組:chgrp -R mysql .
初始化:scripts/mysql_install_db --user=mysql
而後把權限改回來: chown -R root . chown -R mysql data
而後拷貝並生成mysql配置文檔:cp support-files/my-medium.cnf /etc/my.cnf
拷貝並生成mysql的控制文件:cp support-files/mysql.server /etc/init.d/mysqld,賦予其可執行權限:chmod a+x /etc/init.d/mysqld
利用 chkconfig --add mysqld來把其加入開機啓動進程。
啓動mysql。
在profile文件中加入mysql環境變量
而後執行: . /etc/profile
把庫文件的路徑加入變量裏vim /etc/ld.so.conf.d/mysql.conf:/usr/local/mysql/lib
而後執行ldconfig命令來刷新,接着來看能不能找到庫文件
而後對頭文件include作一個軟鏈接:ln -s include /usr/include/mysql
啓動mysql,且爲root用戶設置密碼:mysqladmin -u root -p password 'wgz0224gz'
到此,mysql的搭建就完成了。
接下來安裝apache,這裏我下載的是httpd-2.4.4,要安裝須要額外安裝另外兩個文件apr,apr-util,因此先來安裝這兩個包(注意:若是系統裏安裝的有apache的話是要先卸載的)
tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-1.4.6/
./configure --prefix=/usr/local/apr(有可能提示缺乏gcc,這時用光盤提供的rpm裝上而後再執行./configure便可)
make
make install
tar -zxvf apr-util-1.4.1.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-util-1.4.1/
./configure --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
此外,還要安裝一個pcre-devel的包,這裏我利用yum裝的rpm包
接下來就來安裝apache,這裏我下載的版本爲httpd-2.4.4,
tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/
切換到剛解壓的目錄
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all
(執行過程當中可能出現這個錯誤:
checking for OpenSSL version >= 0.9.7... FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
這時要安裝一個包:yum install openssl-devel而後再執行以上命令便可)
make
make install
接着要把apachectl的路徑放到man的路徑當中去vim /etc/man.config
而後對apache的include作一個符號連接
ln -s /usr/local/apache/include /usr/include/apache
接下來就要去作apache的腳本了,並把其拷貝到/etc/init.d/目錄下,並附加其可執行的權限
root@localhost ~]# cp httpd /etc/init.d/
[root@localhost ~]# chmod a+x /etc/init.d/httpd
service httpd start
chkconfig --add httpd
chkconfig httpd on
而後就是安裝其餘的包了,這裏直接用yum來安裝便可。
yum install dovecot tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect
接下來來安裝DNS:
yum install bind bind-chroot caching-nameserver
而後執行以下命令:
而後編輯配置文件:vim named.conf
接着編輯區域的聲明文件: vim named.rfc1912.zones
接着生成a.com.zone文件:
編輯該文件vim a.com.zone(192.168.2.100爲機器的地址)
啓動DNS
作DNS指向vim /etc/resolv.conf :
修改主機名:
vim /etc/sysconfig/network
vim /etc/hosts
這時能夠不重啓機器,直接執行hostname mail.a.com命令便可。
測試一下DNS:
到此,準備工做已經就緒了。
接着來安裝postfix
解壓縮:tar -zxvf postfix-2.8.2.tar.gz -C /usr/local/src/
到解壓目錄:cd /usr/local/src/postfix-2.8.2/
建立用戶和組:
而後執行以下命令:
make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/local/mysql/lib/ -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'
make && make install
而後執行:/usr/bin/newaliases
而後產生配置文件:
要想使postfix能正常工做,須要編輯一個文件:vim /etc/postfix/main.cf
啓動postfix:service postfix start
接着cd /usr/lib/sasl2/
啓動sasl:
安裝courier-authlib
tar -jxvf courier-authlib-0.63.0.tar.bz2 -C /usr/local/src/
切換到解壓目錄執行以下命令
./configure \
--prefix=/usr/local/courier-authlib \
--sysconfdir=/etc \
--with-authmysql \
--with-mysql-libs=/usr/local/mysql/lib \
--with-mysql-includes=/usr/local/mysql/include \
--with-redhat \
--with-authmysqlrc=/etc/authmysqlrc \
--with-authdaemonrc=/etc/authdaemonrc \
--with-ltdl-lib=/usr/lib \
--with-ltdl-include=/usr/include
make && make install
接着作以下操做
而後編輯文件:vim authdaemonrc
而後編輯文件:vim authmysqlrc
生成控制腳本:
啓動服務:
對頭文件和庫文件作相應的操做
cd /usr/local/courier-authlib/
vim /etc/ld.so.conf.d/courier-authlib.conf
讓postfix支持虛擬域和虛擬用戶
編輯/etc/postfix/main.cf,添加以下內容:
使用extman源碼目錄下docs目錄中的extmail.sql和init.sql創建數據庫
# tar zxvf extman-1.1.tar.gz
cd extman-1.1/docs
mysql -u root -p <extmail.sql
mysql -u root -p <init.sql
cp mysql* /etc/postfix/
授予用戶extmail訪問extmail數據庫的權限
重啓postfix:service postfix restart
vim /usr/lib/sasl2/smtpd.conf
從新啓動下各個服務。
配置dovecot
首先建立目錄:
vim /etc/dovecot.conf
建立/etc/dovecot-mysql.conf
vim /etc/dovecot-mysql.conf
接下來啓動dovecot服務:
service dovecot start
chkconfig dovecot on
安裝Extmail
tar -zxvf extmail-1.2.tar.gz
爲extmail、extman建立主目錄:
mkdir -pv /var/www/extsuite/
把解壓出來的extmail、extman移到該主目錄下
mv extmail-1.2 /var/www/extsuite/extmail
mv extman-1.1 /var/www/extsuite/extman
進入extmail目錄:
cp webmail.cf.default webmail.cf
編輯此文件vim webmail.cf:
編輯apache的配置文件vim /etc/httpd/httpd.conf
修改 cgi執行文件屬主爲apache運行身份用戶:
chown -R postfix.postfix /var/www/extsuite/extmail/extmail-1.2/cgi/
依賴關係的解決
extmail將會用到perl的Unix::syslogd功能,能夠去http://search.cpan.org搜索下載原碼包進行安裝。
tar -zxvf Unix-Syslog-0.100.tar.gz -C /usr/local/src/
perl Makefile.PL
make
make install
配置Extman-1.1
cd /var/www/extsuite/extman/
cp webman.cf.default webman.cf
編輯給文件vim webman.cf
修改cgi目錄的屬主:
chown -R postfix.postfix /var/www/extsuite/extman/cgi/
在apache的主配置文件中Extmail的虛擬主機部分,添加以下兩行:
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
建立其運行時所需的臨時目錄,並修改其相應的權限:
#mkdir -pv /tmp/extman
#chown postfix.postfix /tmp/extman
此時,還要編輯一文件vim /etc/postfix/main.cf註釋掉開始時打開的那一行
重啓各個服務。下面就能夠測試了。
Extmail 登陸頁面
登錄進去
添加域
註冊新用戶
發信: