我的公司是個很窮的公司
一切的資訊運作都是以最省錢的方式來進行
所以連備份最重要的網站平台資料也得用最省的方式來進行了
因為 web server 上面全是程式, 所以要背份的話還容易, 因為程式倒是很少會去動到
因此只要一有異動到程式時在整個 tar 下來, 就萬事 ok 了
但 database 的資料可沒這麼簡單了
不但每天要自動的讓系統去備份, 還得考慮到將資料存到別的地方去
免得當機器掛掉時, 連裏面的資料都拿不出來
另一方面也得要有可以立刻倒資料進去的 備用 oracle 主機才行
因為我的另一台 ap server 上工作比較輕鬆點,平日除了 ap server 的工作要處理外, 就沒什麼大事要幹
所以我便在其上灌了一套 oracle , 並把整個網站平台所需要用到的 table , sp, trigger ....通通架好, 然後再把 oracle 關掉, 等待備用
所以現在最重要的便是要將 oracle 資料 dump 出來後, 轉存到另一台機器
基於雞蛋不要全放在同一籠的到理
所以我便用 mail server 來當 oracle 資料的備份機
整個作業如下
1. db server 自動備份資料
db server 的 oracle 帳號 下, 建立一個 backup.sh 檔
內容如下 :
export ORACLE_HOME=/oracle/product/9.2.0
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export NLS_LANG=AMERICAN_AMERICA.UTF8
exp userid=userid/passwd@KILLER.LOCALDOMAIN file=/backup/daily/userid-data.dmp owner=userid log=/backup/daily/userid-data.log
==> 將所有的資料備份到 /backup/daily/userid-data.dmp 去
我並沒有讓檔名中有日期時間, 因為那將會使硬碟很快就爆了, 如此可以讓檔案一直覆蓋, 反正資料等下也會被備走
2. 設定 crontab
crontab -e
內容如下 :
10 12,23 * * * sh /home/oracle/backup.sh >> /home/oracle/log/backup.log 2>> /home/oracle/log/backup.err
每天的中午和晚上各備份一次,
3. 接下來到 mail server 上去, 首先要建立兩台 server 間的信任關係
在要執行備份的帳互去, 假設是 backup 這個帳號
執行 ssh-keygen -t dsa ==> 用來產生一組 Private/Public Key
內定會在 .ssh/ 目錄下產生兩個檔案: id_dsa 及 id_dsa.pub (不要設定 passphrase)
4. 接下來將 id_da.pub 傳送到 db server 上去
5. 將 id_da.pub 存到 oracle db server 的 /home/oracle/.ssh 上面去
並 改名 mv id_dsa.pub authorized_keys
此時, mail server 已經獲得 oracle db server 的信任了, 以經可以用 ssh 到上面去了
6. 回到 mail server 上面, 進到 backup 帳號去
寫一個 backup_data.sh
內容如下 :
scp oracle@192.168.1.133:/backup/daily/userid-data.dmp /backup/daily
==> 到我的 oracle server ( 假設 ip 是 192.168.1.133 ) , 利用 scp (透過 ssh 抓資料用的 ) 到 /backup/daily 下將之前 dump 下來的oracle 資料 userid-data.dmp 抓過來, 存放到 mail server 上的 /backup/daily 下方去
然後進 crontab 去設定每天自動抓去
crontab -e
40 12,23 * * * sh /home/young/backup_data.sh
因為 前面 oracle data 的dump 是從 10 分開始的, 給機器 30 分的 dump 時間, 所以從 40 分開始 跑
7. 不過, 我自己手動跑一下來試看看
a. 到 oracle server 以 oracle 帳號進入後
執行 ./backup.sh
跑了將近十分鐘後, 資料才dump 下來
b. 到 mail server 上以 backup 登入
執行 ./backup_data.sh
一樣的已將資料傳了過來
畫面如下 :
userid-data.dmp 100% 2,145MB 11.2MB/s 2:13
大功告成.............
2010/1/7
2008/12/26
透過 aliases 把 root 的信收起來《by 童顏未老人》
2008/12/25
利用 hosts.allow & hosts.deny 擋攻擊《by 童顏未老人》
今天赫然發現 新灌的 mail server 上面在昨晚
竟然有 n 個駭客在猛烈的攻擊, 不停的用 sshd 一直嘗試著侵入
雖然沒有一次成功, 但是還是讓我感到一絲的恐懼 !
於是把公司交給我的所有機器通通檢查一遍
每一部機器每天從晚上 9:00 多開始到半夜四、五點間
不停的有各式各樣的 ip 在嘗試著攻入
而且 90% 以上都是想藉由 sshd 來入侵
嗯, 公司很窮, 不可能要到一台 firewall
幸好 server 全部都是 linux 架設的
於是我想用最簡單的方式來先賭住 sshd 的攻擊
我在每一部主機上
vi /etc/hosts.allow
裏面設定
sshd: 61.30.22.86 61.30.22.87 61.30.22.88 61.30.22.89 61.30.22.90 61.30.22.91
61.30.22.92 193.87.222.194 : allow
然後到
vi /etc/hosts.deny
sshd: all : deny
其中 61.30.22.XX 是每一部主機的 ip ( 這當然是假的 )全部放在外面的機房內
而 193.87.222.194 是公司對外的 ip ( 這也是假的 )
所以那些主機僅能由 公司內連進去, 或是互相連接進去
外人的嘗試就通通不允許了....
先觀查一下, 看是否還有異常狀況了 !
竟然有 n 個駭客在猛烈的攻擊, 不停的用 sshd 一直嘗試著侵入
雖然沒有一次成功, 但是還是讓我感到一絲的恐懼 !
於是把公司交給我的所有機器通通檢查一遍
每一部機器每天從晚上 9:00 多開始到半夜四、五點間
不停的有各式各樣的 ip 在嘗試著攻入
而且 90% 以上都是想藉由 sshd 來入侵
嗯, 公司很窮, 不可能要到一台 firewall
幸好 server 全部都是 linux 架設的
於是我想用最簡單的方式來先賭住 sshd 的攻擊
我在每一部主機上
vi /etc/hosts.allow
裏面設定
sshd: 61.30.22.86 61.30.22.87 61.30.22.88 61.30.22.89 61.30.22.90 61.30.22.91
61.30.22.92 193.87.222.194 : allow
然後到
vi /etc/hosts.deny
sshd: all : deny
其中 61.30.22.XX 是每一部主機的 ip ( 這當然是假的 )全部放在外面的機房內
而 193.87.222.194 是公司對外的 ip ( 這也是假的 )
所以那些主機僅能由 公司內連進去, 或是互相連接進去
外人的嘗試就通通不允許了....
先觀查一下, 看是否還有異常狀況了 !
openwebmail 熬戰實錄《by 童顏未老人》
從碰到 linux 以來, 目前是這個最難搞
把目前階段的建置先記錄下來
01. 準備先行的軟體與套件
yum install perl-Compress-Zlib perl-Text-Iconv perl-suidperl
02. 去下載 openwebmail 的 rpm 檔
http://www.openwebmail.org/openwebmail/download/redhat/rpm/release/openwebmail-2.51-1.i386.rpm
03. 安裝 openwebmail 檔
先將 openwebmail 解開安裝
rpm -Uvh openwebmail-2.51-1.i386.rpm
然後到設定檔所在地
cd /var/www/cgi-bin/openwebmail/etc
cp openwebmail.conf openwebmail.conf-bak ( 先備份起來 )
cd /var/www/cgi-bin/openwebmail/etc/defaults
cp dbm.conf dbm.conf-bak ( 一樣要備份起來 )
04. 修改設定
vi /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
找到 改成
dbm_ext .db
dbmopen_ext none ===> .db
dbmopen_haslock no
vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
找到 改成
default_language en ==> auto
default_iconset Cool3D.English ==> Cool3D.Chinese.Traditional
接著開始執行初始設定
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
第一次執行時會告訴你, 生產出 b2g.db, g2b.db, lunar.db 這3個檔案
然後出現 Send the site report?(Y/n),可回答y或n
不過, 會出現一點error, error messages 是
Couldn't connect SMTP server 127.0.0.1:25! at /var/www/cgi-bin/openwebmail/openwebmail-tool.pl line 1472, line 1.
為解決此問題
vi /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf
找到
smtpserver 127.0.0.1 改成 xmail.killer.com.tw
於是再次的執行
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
當回答 y 以後,若出現了 Thank You 時,表示啟動設定已完成 !
05. 於是到ie6 上輸入
http://xmail.killer.com.tw/cgi-bin/openwebmail/openwebmail.pl
但是發生錯誤
show 出 "認證系統內部錯誤,請回到登錄畫面 再試一次"
( 若還是用 en 時, 會出現 : Authentication system error! Please go back and try again. )
在 /var/log/openwebmail.log 中有 這樣的 error messages
login error - auth_unix.pl, ret -3, Couldn't open /etc/shadow
而在 /var/log/messages 中的 error messages 是
avc: denied { setuid } for pid=19113 comm="perl5.10.0" capability=7 scontext=unconfined_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:system_r:httpd_sys_script_t:s0 tclass=capability
問題還真多, 問了一些高手後
這時一位 linux 前輩 msn 給我說
" 小子, 你的問題涉及 selinux 的方面了, 等你弄懂它們後再來設吧 !"
所以要我先把 selinux disable 掉
於是
vi /etc/selinux/config
將
SELINUX=enforcing 改成 SELINUX=disabled
接著重開機 ( 這是灌好 linux 後第一次重開機耶 !!!!! )
sync;sync;sync;reboot
再試一次, 果然可以使用 openwebmail 了. 真興奮 !!!!!!
把目前階段的建置先記錄下來
01. 準備先行的軟體與套件
yum install perl-Compress-Zlib perl-Text-Iconv perl-suidperl
02. 去下載 openwebmail 的 rpm 檔
http://www.openwebmail.org/openwebmail/download/redhat/rpm/release/openwebmail-2.51-1.i386.rpm
03. 安裝 openwebmail 檔
先將 openwebmail 解開安裝
rpm -Uvh openwebmail-2.51-1.i386.rpm
然後到設定檔所在地
cd /var/www/cgi-bin/openwebmail/etc
cp openwebmail.conf openwebmail.conf-bak ( 先備份起來 )
cd /var/www/cgi-bin/openwebmail/etc/defaults
cp dbm.conf dbm.conf-bak ( 一樣要備份起來 )
04. 修改設定
vi /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
找到 改成
dbm_ext .db
dbmopen_ext none ===> .db
dbmopen_haslock no
vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
找到 改成
default_language en ==> auto
default_iconset Cool3D.English ==> Cool3D.Chinese.Traditional
接著開始執行初始設定
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
第一次執行時會告訴你, 生產出 b2g.db, g2b.db, lunar.db 這3個檔案
然後出現 Send the site report?(Y/n),可回答y或n
不過, 會出現一點error, error messages 是
Couldn't connect SMTP server 127.0.0.1:25! at /var/www/cgi-bin/openwebmail/openwebmail-tool.pl line 1472,
為解決此問題
vi /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf
找到
smtpserver 127.0.0.1 改成 xmail.killer.com.tw
於是再次的執行
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
當回答 y 以後,若出現了 Thank You 時,表示啟動設定已完成 !
05. 於是到ie6 上輸入
http://xmail.killer.com.tw/cgi-bin/openwebmail/openwebmail.pl
但是發生錯誤
show 出 "認證系統內部錯誤,請回到登錄畫面 再試一次"
( 若還是用 en 時, 會出現 : Authentication system error! Please go back and try again. )
在 /var/log/openwebmail.log 中有 這樣的 error messages
login error - auth_unix.pl, ret -3, Couldn't open /etc/shadow
而在 /var/log/messages 中的 error messages 是
avc: denied { setuid } for pid=19113 comm="perl5.10.0" capability=7 scontext=unconfined_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:system_r:httpd_sys_script_t:s0 tclass=capability
問題還真多, 問了一些高手後
這時一位 linux 前輩 msn 給我說
" 小子, 你的問題涉及 selinux 的方面了, 等你弄懂它們後再來設吧 !"
所以要我先把 selinux disable 掉
於是
vi /etc/selinux/config
將
SELINUX=enforcing 改成 SELINUX=disabled
接著重開機 ( 這是灌好 linux 後第一次重開機耶 !!!!! )
sync;sync;sync;reboot
再試一次, 果然可以使用 openwebmail 了. 真興奮 !!!!!!
sendmail 要限制每封信件的大小 《by 童顏未老人》
當要在 sendmail 中去限制每封信件的大小時
可以
# vi /etc/sendmail.cf
找到
#O MaxMessageSize=0
改成
O MaxMessageSize=2000000
就可限制每封信的大小不能超過 2MB 了 !
#service sendmail restart
重新啟動 sendmail 便可以了
可以
# vi /etc/sendmail.cf
找到
#O MaxMessageSize=0
改成
O MaxMessageSize=2000000
就可限制每封信的大小不能超過 2MB 了 !
#service sendmail restart
重新啟動 sendmail 便可以了
針對關閉 mail relay 後的認證設立 《by 童顏未老人》
剛剛又去認真的了解一下 open relay 後
發現我現在的 mail server 雖不至於成為 open replay
但是這樣的設定, 好像只能在公司內部來發信
實用價值不高
於是用 sendmail mail relay 的字眼到 google大神那邊去找一下
嘿嘿, 皇天不負苦心人
被我找到相關文章了
參考 http://samlee.idv.tw/linux/sendmail/%E6%9E%B6%E8%A8%ADMAIL.htm
這一篇文
我先 檢查一下看看有沒有在系統內
# rpm -qa | grep sasl
cyrus-sasl-devel-2.1.22-13.fc9.i386
cyrus-sasl-plain-2.1.22-13.fc9.i386
cyrus-sasl-lib-2.1.22-13.fc9.i386
cyrus-sasl-2.1.22-13.fc9.i386
cyrus-sasl-md5-2.1.22-13.fc9.i386
還真的有, 太好了
然後
# vi /etc/mail/sendmail.mc
找到
dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
將前面的 dnl 和空白去除
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
退出後
# m4 sendmail.mc > sendmail.cf
然後
# vi /etc/mail/access
將之前自己加上的
Connect:192.168.0 RELAY
這一行槓掉
# makemap hash access.db < access
# service saslauthd restart ==> 認證機制的起動
# service sendmail restart
不過當我在到 outlook 去發信時, 信就被退回了
內容是
.....
下列收件者無法送達:
'chnagelove@gmail.com' 於 2008/12/24 上午 11:46
550 5.7.1... Relaying denied. Proper authentication required.
認證沒通過, 嗯, 這是我要的了, 不過自己還是要能寄信才可以
所以 outlook 要加一些料, 才可以發信了
請先到 工具 ==> 電子郵件帳號


然後選擇這個新的 server 上的信箱
然後按下 "變更 "
不必點選 "完成"
此時便進入帳號維護的畫面
點選一下 "其它設定"
再點選 "外寄伺服器 "
出現如下方的畫面,

點選那個 "使用下列登入"
再把你的密碼/帳號 輸入後, 順便把 "記住密碼" 打勾, 省的每次都要問一次
確定後, 再點選"測試帳號設定" 一切 ok
試著再發一封信到 gmail 看看,. 果然可以了 ! 看來是大功告成了 !
:)
發現我現在的 mail server 雖不至於成為 open replay
但是這樣的設定, 好像只能在公司內部來發信
實用價值不高
於是用 sendmail mail relay 的字眼到 google大神那邊去找一下
嘿嘿, 皇天不負苦心人
被我找到相關文章了
參考 http://samlee.idv.tw/linux/sendmail/%E6%9E%B6%E8%A8%ADMAIL.htm
這一篇文
我先 檢查一下看看有沒有在系統內
# rpm -qa | grep sasl
cyrus-sasl-devel-2.1.22-13.fc9.i386
cyrus-sasl-plain-2.1.22-13.fc9.i386
cyrus-sasl-lib-2.1.22-13.fc9.i386
cyrus-sasl-2.1.22-13.fc9.i386
cyrus-sasl-md5-2.1.22-13.fc9.i386
還真的有, 太好了
然後
# vi /etc/mail/sendmail.mc
找到
dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
將前面的 dnl 和空白去除
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
退出後
# m4 sendmail.mc > sendmail.cf
然後
# vi /etc/mail/access
將之前自己加上的
Connect:192.168.0 RELAY
這一行槓掉
# makemap hash access.db < access
# service saslauthd restart ==> 認證機制的起動
# service sendmail restart
不過當我在到 outlook 去發信時, 信就被退回了
內容是
.....
下列收件者無法送達:
'chnagelove@gmail.com' 於 2008/12/24 上午 11:46
550 5.7.1
認證沒通過, 嗯, 這是我要的了, 不過自己還是要能寄信才可以
所以 outlook 要加一些料, 才可以發信了
請先到 工具 ==> 電子郵件帳號


然後選擇這個新的 server 上的信箱
然後按下 "變更 "
不必點選 "完成"
此時便進入帳號維護的畫面
點選一下 "其它設定"
再點選 "外寄伺服器 "
出現如下方的畫面,

點選那個 "使用下列登入"
再把你的密碼/帳號 輸入後, 順便把 "記住密碼" 打勾, 省的每次都要問一次
確定後, 再點選"測試帳號設定" 一切 ok
試著再發一封信到 gmail 看看,. 果然可以了 ! 看來是大功告成了 !
:)
菜鳥 install mail server 的第三天《by 童顏未老人》
接下來, 便是讓 client 端的 outlook 也能夠收發信
以及一些防毒與廣告的阻擋了 ......
step 1 . pop3 的找尋
之前已設定好 smtp ( port 25 ) 了
但pop3 一直還沒設好
rpm -qa | grep pop3 竟然沒有它
便先用 google 大神去了解一下狀況
這才知道, pop3 已不風行, 更厲害的是 imap
所以再 check 一下 imap , 系統還是沒有裝
只好再求助於 google 大神, 結果繞了半天後
這才知道, fedora 9 已不興 pop3 和imap 個別來裝
它又出了一樣整合起來的東西 dovecot
這東西 系統裏面已經有了
rpm -qa | grep dovecot
==> dovecot-0.99.10.4-4
然後 check 一下
vi /etc/services
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
imap 143/tcp imap2 # Interim Mail Access Proto v2
imap 143/udp imap2
若前面有 # 時 還得拿掉
Step 2: dovecot 設定
vi /etc/dovecot.conf
找到
#protocols = imap imaps pop3 pop3s
將它改成
protocols = imap pop3
然後再找到
#listen = [::]
也將其改為
listen = *
存檔退出後, 再度 重啟 dovecot
service dovecot restart
接下來,不要忘了 iptables 也順便把 110 (pop3 port) 也要打開
-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
Step 3: Relay 的設定
到了這裏, 已接近成功了
但是還有一道關卡要設定
就是 relay
sendmail 一開始設定只有從自己這台機器上才可以發送信件, 所以若沒有去放行的話
那麼 outlook 肯定無發收發信件
所以必需再對 relay 來加以設定
vi /etc/mail/access
原先僅有
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
三行, 僅僅設定 localhost 自己可以發信
於是便加上一行
Connect:192.168.0 RELAY
存檔退出後
再執行
makemap hash access.db < access
將 access 這文字檔轉換成 sendmail 能讀的 access.db
此時整個辦公室內的每一部電腦的 outlook 應當都可以送信
Step 4 : mailing test
然後由 outlook 中去加上我在 xmail.killer.com.tw 中新加上的 account
與設定後, 收發信通通正常無誤, 看來已設定成功了
Step 5 : MailScanner 的安裝
先把一些必要的東東灌上去
yum install rpm-build perl-MIME-tools
然後解開 MailScanner
tar zxvf MailScanner-4.73.4-2.rpm.tar.gz
會解開後會在所在目錄下開一個新的目錄 MailScanner-4.73.4-2
cd MailScanner-4.73.4-2
然後執行 ./install.sh
這要花許多的時間, 要等候一下
完成已後
要去改一下設定檔
vi /etc/MailScanner/MailScanner.conf
找到,並改成如下
Max Children = 5
Virus Scanning = yes
Virus Scanners = clamav
Use SpamAssassin = yes
接著灌 clamav 的防毒軟體
這個比較簡單
yum install clamav ==> 就好了
再來是廣告阻擋軟體了
yum install spamassassin
Step 6 : 一些補疑
MailScanner 運作時還出現兩次的 error
都是因欠了某些的 套件
所以就一一的補齊
yum install perl-Archive-Zip perl-DBD-SQLite
到此 Mail Server 已是大功告成了 :)
小弟前後共花了兩天半的時間終於由完全不懂 linux 的人
從灌好 fedora 9 到建立可用的 mail server
其間透過 google 大神的幫助
總共參考了不計其數的高手在網路上留下的武功密籍
終能建起來
真是感謝這世上有這麼多的善心人士呀 !
下一步要來挑戰一下 webmail 了 !
:)
以及一些防毒與廣告的阻擋了 ......
step 1 . pop3 的找尋
之前已設定好 smtp ( port 25 ) 了
但pop3 一直還沒設好
rpm -qa | grep pop3 竟然沒有它
便先用 google 大神去了解一下狀況
這才知道, pop3 已不風行, 更厲害的是 imap
所以再 check 一下 imap , 系統還是沒有裝
只好再求助於 google 大神, 結果繞了半天後
這才知道, fedora 9 已不興 pop3 和imap 個別來裝
它又出了一樣整合起來的東西 dovecot
這東西 系統裏面已經有了
rpm -qa | grep dovecot
==> dovecot-0.99.10.4-4
然後 check 一下
vi /etc/services
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
imap 143/tcp imap2 # Interim Mail Access Proto v2
imap 143/udp imap2
若前面有 # 時 還得拿掉
Step 2: dovecot 設定
vi /etc/dovecot.conf
找到
#protocols = imap imaps pop3 pop3s
將它改成
protocols = imap pop3
然後再找到
#listen = [::]
也將其改為
listen = *
存檔退出後, 再度 重啟 dovecot
service dovecot restart
接下來,不要忘了 iptables 也順便把 110 (pop3 port) 也要打開
-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
Step 3: Relay 的設定
到了這裏, 已接近成功了
但是還有一道關卡要設定
就是 relay
sendmail 一開始設定只有從自己這台機器上才可以發送信件, 所以若沒有去放行的話
那麼 outlook 肯定無發收發信件
所以必需再對 relay 來加以設定
vi /etc/mail/access
原先僅有
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
三行, 僅僅設定 localhost 自己可以發信
於是便加上一行
Connect:192.168.0 RELAY
存檔退出後
再執行
makemap hash access.db < access
將 access 這文字檔轉換成 sendmail 能讀的 access.db
此時整個辦公室內的每一部電腦的 outlook 應當都可以送信
Step 4 : mailing test
然後由 outlook 中去加上我在 xmail.killer.com.tw 中新加上的 account
與設定後, 收發信通通正常無誤, 看來已設定成功了
Step 5 : MailScanner 的安裝
先把一些必要的東東灌上去
yum install rpm-build perl-MIME-tools
然後解開 MailScanner
tar zxvf MailScanner-4.73.4-2.rpm.tar.gz
會解開後會在所在目錄下開一個新的目錄 MailScanner-4.73.4-2
cd MailScanner-4.73.4-2
然後執行 ./install.sh
這要花許多的時間, 要等候一下
完成已後
要去改一下設定檔
vi /etc/MailScanner/MailScanner.conf
找到,並改成如下
Max Children = 5
Virus Scanning = yes
Virus Scanners = clamav
Use SpamAssassin = yes
接著灌 clamav 的防毒軟體
這個比較簡單
yum install clamav ==> 就好了
再來是廣告阻擋軟體了
yum install spamassassin
Step 6 : 一些補疑
MailScanner 運作時還出現兩次的 error
都是因欠了某些的 套件
所以就一一的補齊
yum install perl-Archive-Zip perl-DBD-SQLite
到此 Mail Server 已是大功告成了 :)
小弟前後共花了兩天半的時間終於由完全不懂 linux 的人
從灌好 fedora 9 到建立可用的 mail server
其間透過 google 大神的幫助
總共參考了不計其數的高手在網路上留下的武功密籍
終能建起來
真是感謝這世上有這麼多的善心人士呀 !
下一步要來挑戰一下 webmail 了 !
:)
菜鳥 install mailserver 第二天《by 童顏未老人》
Linux 既然灌好了, 網路設定也沒問題
apache 看起來也好像可以用了
下一步就是設定 sendmail 了
Step 1: 先檢查一下 一開始有沒有裝
[root@xmail mail]# rpm -qa | grep sendmail
sendmail-cf-8.12.10-1
sendmail-8.12.10-1
[root@smail mail]# rpm -qa | grep m4
m4-1.4.1-13
聽說 m4 是將 sendmail 的設定檔由給人看的轉變成
沒人看的懂的格式, 來給 linux 看的
所以這個也得要有
還好我 install fedora 9時, 這兩樣都已自動跑進去了
所以省掉一些功夫
Step 2 :於是先去修改一下設定
vi /etc/mail/sendmail.mc
找到這一段話
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
將他改成這樣即可:
DAEMON_OPTIONS(`Port=smtp,Addr=xxx.xxx.xxx.xxx, Name=MTA')dnl
==> xxx.xxx.xxx.xxx 是這部機器的 ipaddress
再來便是 用 m4 這東西來產生新的 sendmail.cf 設定檔
m4 sendmail.mc > sendmail.cf
接著便去重新啟動 sendmail
service sendmail restart
linux 有一個好處, 不必向某W系列的os , 要不停的 重開機
然後檢查一下看看有沒有起來
netstat -tlunp | grep sendmail
==>
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 755/sendmail: accep
呵呵有了
Step 3: 設定 那些主機名稱可以收到信 ?
vi /etc/mail/local-host-names
加入
killer.com.tw
xmail.killer.com.tw
然後再度的重新啟動 sendmail
service sendmail restart 即可
Step 4 : DNS 的設定
事情總是一波未平一波又起, 裝個 mail server 還要牽拖到 dns 去 ?
好吧, 既然碰到了, 就動一動手腳吧
這東西比較費神, 花了半天去了解 dns 的運作原理, 總算有了初步的認識
先去找到公司目前的 dns 在那邊
ssh 進去後
先去 cat /etc/named.conf 看看公司目前網域與 ip 的正反解 zone 所在
和其檔名
然後 vi /etc/named/killer.com.tw.zone ( 正解的檔名 )
去裏面加上
xmail.killer.com.tw. IN A XXX.XXX.XXX.XXX
xmail.killer.com.tw. MX 10 xmail.killer.com.tw.
( 靠, 最後面那個小數點 , 還真是隱形殺手, 費了半個多小時,
才被我發現到我竟完全無視他的存在 )
然後 service named restart 重開一下
再到 /var/log/messages
看一下有沒有啟動上的 error , 嗯, 很正常
Step 5 : 試看看吧
echo "test" | mail -s "test" small@mail.killer.com.tw
( small@mail.killer.com.tw 是目前正在用的帳號 )
==> 結果等半天後, 沒收到信
那去 outlook 用 small@mail.killer.com.tw 寄看看, 一樣沒用
( 許久後還收到退信通知 )
表示還有問題
記得我在一裝好 fedora 9 時也發生 apache 被 iptables 壓制的狀況
好去 iptables 加一下 25 port 的通過
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
再度的發信看看
嘿嘿, 收到了, 而且試著寄到 我的 gmail 信箱, 一樣可以耶 !
呵呵, 好的開始是成功的一半, 今天就到此為止, 希望明天再裝時, 仍可順利的過關 !
apache 看起來也好像可以用了
下一步就是設定 sendmail 了
Step 1: 先檢查一下 一開始有沒有裝
[root@xmail mail]# rpm -qa | grep sendmail
sendmail-cf-8.12.10-1
sendmail-8.12.10-1
[root@smail mail]# rpm -qa | grep m4
m4-1.4.1-13
聽說 m4 是將 sendmail 的設定檔由給人看的轉變成
沒人看的懂的格式, 來給 linux 看的
所以這個也得要有
還好我 install fedora 9時, 這兩樣都已自動跑進去了
所以省掉一些功夫
Step 2 :於是先去修改一下設定
vi /etc/mail/sendmail.mc
找到這一段話
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
將他改成這樣即可:
DAEMON_OPTIONS(`Port=smtp,Addr=xxx.xxx.xxx.xxx, Name=MTA')dnl
==> xxx.xxx.xxx.xxx 是這部機器的 ipaddress
再來便是 用 m4 這東西來產生新的 sendmail.cf 設定檔
m4 sendmail.mc > sendmail.cf
接著便去重新啟動 sendmail
service sendmail restart
linux 有一個好處, 不必向某W系列的os , 要不停的 重開機
然後檢查一下看看有沒有起來
netstat -tlunp | grep sendmail
==>
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 755/sendmail: accep
呵呵有了
Step 3: 設定 那些主機名稱可以收到信 ?
vi /etc/mail/local-host-names
加入
killer.com.tw
xmail.killer.com.tw
然後再度的重新啟動 sendmail
service sendmail restart 即可
Step 4 : DNS 的設定
事情總是一波未平一波又起, 裝個 mail server 還要牽拖到 dns 去 ?
好吧, 既然碰到了, 就動一動手腳吧
這東西比較費神, 花了半天去了解 dns 的運作原理, 總算有了初步的認識
先去找到公司目前的 dns 在那邊
ssh 進去後
先去 cat /etc/named.conf 看看公司目前網域與 ip 的正反解 zone 所在
和其檔名
然後 vi /etc/named/killer.com.tw.zone ( 正解的檔名 )
去裏面加上
xmail.killer.com.tw. IN A XXX.XXX.XXX.XXX
xmail.killer.com.tw. MX 10 xmail.killer.com.tw.
( 靠, 最後面那個小數點 , 還真是隱形殺手, 費了半個多小時,
才被我發現到我竟完全無視他的存在 )
然後 service named restart 重開一下
再到 /var/log/messages
看一下有沒有啟動上的 error , 嗯, 很正常
Step 5 : 試看看吧
echo "test" | mail -s "test" small@mail.killer.com.tw
( small@mail.killer.com.tw 是目前正在用的帳號 )
==> 結果等半天後, 沒收到信
那去 outlook 用 small@mail.killer.com.tw 寄看看, 一樣沒用
( 許久後還收到退信通知 )
表示還有問題
記得我在一裝好 fedora 9 時也發生 apache 被 iptables 壓制的狀況
好去 iptables 加一下 25 port 的通過
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
再度的發信看看
嘿嘿, 收到了, 而且試著寄到 我的 gmail 信箱, 一樣可以耶 !
呵呵, 好的開始是成功的一半, 今天就到此為止, 希望明天再裝時, 仍可順利的過關 !
2008/12/24
大菜鳥 install mail server 第一天《by 童顏未老人》
不景氣影響真大
公司把整個 mis 的人除了我以外全給請走了
僅僅留下我一個人
(我沒走的原因是,我的 pay 最低)
便要我這 programer 扛起一切
但是一開始便碰到一個大問題 ?
公司的 mail server 是用一台 pc 灌起來
而公司又有閒餘的 IBM 主機
老板便要我用新的 IBM 主機灌起新的 mail server
以取代那不知何時會掛點的 Mail server
呵呵, 這對多數的 linux 高手來是小事一樁
但對我來說, 這可是一件要命的任務
linux 對我來說, 是向神一樣的東西,
平日我只會下下 ls , pwd , cd 等簡單的命令
要我灌它? 別鬧了, 那還真是不可能的任務呀 :(
但是我若不灌起它來, 下一個要走路的人就是我了
所以只好應著頭皮上了
嗯先把那台 ibm 主機開機來看看, 到底是灌了 window 還是 linux
不過這一開機後, 我的心臟差點就停了
哇, 這台 IBM 主機什麼 OS 都沒有, 根本是空機一台, 我的天呀
前面的人要走也真走的很徹底,
把這備用機的 hd 清的還真是一乾二淨
只好上網找看看, 我才知道
原來 linux 還分那麼多種
唉, 不管了, 隨便下一種來灌了
被我散槍打鳥選中的是 fedora 9
一共有六片光碟
於是便花了兩個鐘頭把 fedora 9 通通裝上去
不過奇怪的是, 實際安裝時只要 1~4 片就好
然後 ip 設一設, 居然就起來了, 可以連到外面去了
只不過 一灌好後, web 竟然不能用
我明明在 /var/www/html 下寫了一個 index.html
但是用 ie6 就是串不到它
那個 apache 我不知下了多少次 service httpd restart
但是就是 web 就是從 ie 上叫起不來
終於在 google 大神的引領下
我終於知道了應該是被防火牆擋到了
所以修改了設定檔 vi /etc/sysconfig/iptables
加了一段設定
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
然後再 service iptables restart 問題便解決了
呵呵, 為了記念這段花了我大半天時間的指令
特別重新使用一個遺忘許久的 blog 來記念它
不過往後好像還有更漫長得道路要走 ( mail server 建立 )
希望能一步一腳印的將這一切記錄下來 :)
公司把整個 mis 的人除了我以外全給請走了
僅僅留下我一個人
(我沒走的原因是,我的 pay 最低)
便要我這 programer 扛起一切
但是一開始便碰到一個大問題 ?
公司的 mail server 是用一台 pc 灌起來
而公司又有閒餘的 IBM 主機
老板便要我用新的 IBM 主機灌起新的 mail server
以取代那不知何時會掛點的 Mail server
呵呵, 這對多數的 linux 高手來是小事一樁
但對我來說, 這可是一件要命的任務
linux 對我來說, 是向神一樣的東西,
平日我只會下下 ls , pwd , cd 等簡單的命令
要我灌它? 別鬧了, 那還真是不可能的任務呀 :(
但是我若不灌起它來, 下一個要走路的人就是我了
所以只好應著頭皮上了
嗯先把那台 ibm 主機開機來看看, 到底是灌了 window 還是 linux
不過這一開機後, 我的心臟差點就停了
哇, 這台 IBM 主機什麼 OS 都沒有, 根本是空機一台, 我的天呀
前面的人要走也真走的很徹底,
把這備用機的 hd 清的還真是一乾二淨
只好上網找看看, 我才知道
原來 linux 還分那麼多種
唉, 不管了, 隨便下一種來灌了
被我散槍打鳥選中的是 fedora 9
一共有六片光碟
於是便花了兩個鐘頭把 fedora 9 通通裝上去
不過奇怪的是, 實際安裝時只要 1~4 片就好
然後 ip 設一設, 居然就起來了, 可以連到外面去了
只不過 一灌好後, web 竟然不能用
我明明在 /var/www/html 下寫了一個 index.html
但是用 ie6 就是串不到它
那個 apache 我不知下了多少次 service httpd restart
但是就是 web 就是從 ie 上叫起不來
終於在 google 大神的引領下
我終於知道了應該是被防火牆擋到了
所以修改了設定檔 vi /etc/sysconfig/iptables
加了一段設定
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
然後再 service iptables restart 問題便解決了
呵呵, 為了記念這段花了我大半天時間的指令
特別重新使用一個遺忘許久的 blog 來記念它
不過往後好像還有更漫長得道路要走 ( mail server 建立 )
希望能一步一腳印的將這一切記錄下來 :)
訂閱:
文章 (Atom)

