mail伺服器初級 安裝

來源:互聯網
上載者:User

      linux apache php mysql qmail vpopmail qmaliadmin

單位需要,我用了五一休息的時間折騰這個玩意對原理不太明白,就說下我安裝的順序,自己也做個記錄
不過可能我的補丁打的不全。真正做伺服器使用謹慎。
1 安裝linux ,這個不用說了,您就自己弄吧。
2 安裝mysql5 , 這個拒絕經驗主義,一定要按照規範來,要不你應該會有麻煩,我就有麻煩了。
安裝順序
shell> groupadd mysql                   建立組
shell> useradd -g mysql mysql  建立使用者
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf - 解壓
shell> cd mysql-VERSION                           進入目錄
shell> ./configure --prefix=/usr/local/mysql   先行編譯 參數自己加
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf  配置mysql的設定檔
shell> cd /usr/local/mysql      許可權修改  
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql     初始資料庫
shell> chown -R root .               
shell> chown -R mysql var
shell> bin/mysqld_safe --user=mysql &               後台啟動

如果出現問題,一般都是許可權發生的問題
3,安裝apache
進入目錄
 ./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=rewrite --enable-module=so
 make
 make install
 啟動
 cd /usr/local/apache/bin/apachectl start
4,安裝php
下載解壓安裝
 ./configure
 make
 make install

5,整合 php跟apache
 vi /usr/local/apache/conf/httpd.conf
 LoadModule php5_module modules/libphp5.so
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps

好了現在 lamp安裝完成了
不管什麼版本,安裝是基本一樣的
下面進去mail伺服器的安裝
可以使用多種組合,不過偶還是採取比較普遍的那種方式 qmail

安裝軟體,不要問為什麼,因為看網上就是那裡安裝的

6,安裝daemontools
http://cr.yp.to/daemontools.html
tar -zxvf daemontools-0.76.tar.gz
解壓
cd admin/daemontools-0.76
補丁
patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
安裝
package/install
# 驗證daemontools已經正常運行:
sleep 5
ps ax | grep svscan

7,安裝ucspi-tcp
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < ../ucspi-tcp-0.88.errno.patch  //我沒成功,直接條過
make
make setup check

8,qmail安裝
#建立所需要的使用者
mkdir /var/qmail
groupadd nofiles
useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin
useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin
useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin
useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin
groupadd qmail
useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin
useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin
useradd qmails -g qmail -d /var/qmail -s /sbin/nologin

#順便添加vpopmail使用者
groupadd vchkpw -g 89
useradd vpopmail -u 89 -g vchkpw

#準備安裝qmail

cd /home/pkg

tar -xzf toaster-scripts-0.7.tar.gz

cd netqmail-1.05/netqmail-1.05/

 

# 搜尋函數straynewline中的451改為553 

vi qmail-smtpd.c

# 當你的伺服器收到無效格式的郵件時,會發送:"I am not going to accept that message at the moment,you can try again later",對方伺服器收到後,幾秒鐘後又會發送同樣的郵件給你,造成多次的重複。 

# 改為553後,你的伺服器將直接發送:"I am not going to accept that message,don't try sending it again.",告訴對方的伺服器不要再發這封無效的信件。 

 

# RedHat/Fedora使用者可能需要為TLS補丁連結一個include檔案

# 輸入如下命令:

ln -s /usr/kerberos/include/com_err.h /usr/include/

 

# 刪除sendmail的連結

rm -rf /usr/sbin/sendmail

 

#qmail編譯安裝

make

make setup check

#註:qmail的補丁在vpopmail安裝之後再打。 

 

# 用你自己的主機名稱代替下面的mail.domain.com

./config-fast mail.domain.com 

 

#設定管理員的郵箱地址。

#發往root/postmaster/mailer-daemon地址的郵件將會由定義的管理員郵箱接收。

#將如下的“admin@domain.com"替換成你的管理員郵箱。

cd /var/qmail/alias

echo "admin@domain.com" >; .qmail-postmaster

echo "admin@domain.com" >; .qmail-mailer-daemon

echo "admin@domain.com" >; .qmail-root

chmod 644 /var/qmail/alias/.qmail*

 

#開啟SPF設定

echo ./Maildir/ >;/var/qmail/control/defaultdelivery 

echo 3 >; /var/qmail/control/spfbehavior

 

#添加qmail的協助手冊

echo MANPATH /var/qmail/man >;>; /etc/man.config

 

#為qmail服務建立監控目錄和記錄檔:

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

mkdir -p /var/qmail/supervise/qmail-pop3d/log

mkdir -p /var/qmail/supervise/qmail-pop3ds/log

cp /home/pkg/toaster-scripts-0.7/send.run /var/qmail/supervise/qmail-send/run

cp /home/pkg/toaster-scripts-0.7/send.log.run /var/qmail/supervise/qmail-send/log/run

cp /home/pkg/toaster-scripts-0.7/smtpd.run /var/qmail/supervise/qmail-smtpd/run

cp /home/pkg/toaster-scripts-0.7/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run

cp /home/pkg/toaster-scripts-0.7/pop3d.run /var/qmail/supervise/qmail-pop3d/run

cp /home/pkg/toaster-scripts-0.7/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run

cp /home/pkg/toaster-scripts-0.7/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run

cp /home/pkg/toaster-scripts-0.7/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run

echo 20 >; /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run

mkdir -p /var/log/qmail/smtpd

mkdir -p /var/log/qmail/pop3d

mkdir -p /var/log/qmail/pop3ds

chown -R qmaill /var/log/qmail

 

#啟動指令碼:

cd /home/pkg

cp toaster-scripts-0.7/rc /var/qmail/rc

chmod 755 /var/qmail/rc

cp toaster-scripts-0.7/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

rm -rf /usr/lib/sendmail

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail 

 

# 用daemontools來啟動qmail-send和qmail-smtpd

ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 

 

#命令:

# 啟動,停止,重啟,查看隊列等

qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help 

 

# 檢查服務

netstat -an | grep 25

ps -ef | grep qmail

ps -efl | grep "service errors" | grep -v grep 

 

 

#日誌:

/var/log/maillog

/var/log/qmail/current

/var/log/qmail/pop3d/current

/var/log/qmail/pop3ds/current

/var/log/qmail/smtpd/current

網上找的,安裝順利完成

9,安裝vpopmail
http://vpopmail.sf.net
建議安裝
vpopmail-5.4.17.tar.gz

vpopmail-5.4.18.tar.gz 有點小的bug 不適合伺服器使用

解壓進入
./configure --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords

這裡就有問題了,因為我們是自己編譯的mysql
所以 --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql 目錄要修改
--enable-incdir=/usr/local/mysql/include/mysql --enable-libdir=/usr/local/mysql/lib/mysql

如果編譯不過,那就是這裡的問題 主要是make不過
make
make install-strip

# 添加域,紅色部份前面是網域名稱,後面是管理員(postmaster)密碼

vadddomain domain.com xukixu

 

# 添加使用者,紅色部份為註解,不用輸入

vadduser -q 10485760S(郵箱大小) xukixu@domain.com(郵箱帳號) 1234(密碼)

vmoduser -c 許靖(郵箱描述) xukixu@domain.com 

 

# 設定郵箱容量達到90%的警告資訊

vi /home/vpopmail/domains/.quotawarn.msg 

 

From: 郵箱管理員 

Reply-To: postmaster@domain.com

To: 信箱使用者

Subject: 郵箱空間警告

Mime-Version: 1.0

Content-Type: text/html; charset=gb2312

Content-Transfer-Encoding: base64 

 

您的郵箱空間已經達到90%.如果想繼續使用,請刪除一些信件.

如果需要協助,請聯絡郵箱管理員:

Email : postmaster@domain.com 

 

 

# 設定郵箱已滿的警告資訊

echo "郵件被拒絕,使用者的郵箱空間已滿." >; /home/vpopmail/domains/.over-quota.msg 

 

#啟動指令碼:

cp /home/pkg/toaster-scripts-0.7/vpopmailctl /var/qmail/bin

ln -s /var/qmail/bin/vpopmailctl /usr/bin

chmod 755 /var/qmail/bin/vpopmailctl 

使用網上的

10,安裝Autorespond
tar -xvzf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make 
make install

11,安裝Ezmlm
tar -xvzf ezmlm-0.53.tar.gz
tar -xvzf ezmlm-idx-0.42.tar.gz
cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
chmod u+x makelang //這步現在的版本應該是不需要了,我沒成功
make
make man
make setup

12,安裝qmailadmin
tar -xvzf qmailadmin-1.2.9.tar.gz
cd qmailadmin-1.2.9 
./configure --enable-htmldir=/var/www/html --enable-cgibindir=/var/www/cgi-bin --enable-vpopuser=vpopmail --enable-autoresponder-bin=/usr/bin --disable-ezmlm-mysql --enable-maxusersperpage=20 --enable-maxaliasesperpage=20 --enable-modify-quota --enable-domain-autofill
make
make install-strip
cd /usr/local/share/qmailadmin/lang
mv en en.bak
cp zh-cn en 

到這裡伺服器就算安裝完了,還少一個webmail的介面,這個就看您自己的愛好了,我到現在還沒找到一個合適的。
可能您跟我有用樣的一個想法,伺服器我們是安裝完了,但是使用者註冊,我們怎麼同步啊?
不能每添加一個使用者,我們就手動添加一次吧,我們也沒那精力啊,沒錯,我有也有這樣的想法
我分析了下vpopmail的表,我們可以通過程式推送使用者到這張表裡,就完成了,這個表裡只儲存了,基本的使用者資料,特別少。如果要整合出其他的功能,估計還要進行其他的解決方案了。

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.