fedora linux 上安裝 milter-greylist 的步驟
tjm | 24 元月, 2008, 10:36 | 技術小抄 | (806 Reads)

milter-greylist 是利用廣告信發信程式為了盡量快點發信,所以不會重送這個原理來運作的。當他不確定對是否是可信賴的郵件主機時,就請對方等一下再送,會自動重送的,就是可信賴的主機。我們裝起來測試後,果然好用。這個系統與MailScanner不相衝突,所以頗有安裝的價值。 

本來希望按照joshua提供的方法安裝 4.0 版的 milter-greylist,不過我們實在沒有時間一一追蹤新版本的更新,所以最後還是先用 yum search milter-greylist 找到直接 fedora 7 的 milter-greylist 套件。以下就紀錄如何安裝之:

變身成 root 

1.先安裝套件  yum install milter-greylist

2.修改控制檔 vi /etc/mail/greylist.conf

  a.信望愛有多台MX peer mail server,所以要改底下這段

  # MX peering
  peer 主機IP1
  peer 主機IP2

 b.改網路區段

 list "my network" addr { 127.0.0.1/8 10.0.0.0/8 192.0.2.0/24 }  

c.把 grey user 拿掉,照說明書是要利用這裡慢慢測試,不過這是小抄,已經都測試過,直接處理掉就是了

 list "grey users" rcpt {  \
        user1@example.com \
        user2@example.com \
        user3@example.com \
}

d.修改最底下

acl greylist list "grey users" delay 30m autowhite 3d
acl whitelist default

改成

acl greylist default  delay 5m autowhite 3d
#acl whitelist default
意思就是所有的信件都當成 greylist ,要對方延遲五分鐘再送,如果對方真的聽話,就將他放入白名單三天

 3.設定開機自動啟動,順便測試看看,我們的伺服器是跑 runlevel 3

 /sbin/chkconfig --level 3 milter-greylist on

/etc/init.d/milter-greylist start

4.修改 sendmail.mc 以修改 sendmail.cf (請注意,你的sendmail.cf必須是由 sendmail.mc產生的,不然就慘了)

  cd /etc/mail

   在  define(`confDEF_USER_ID',``8:12'')dnl之前插入

  INPUT_MAIL_FILTER(`greylist', `S=local:/var/run/milter-greylist/milter-greylist.sock')
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')

然後 m4 sendmail.mc > sendmail.cf 

5.重新跑 sendmail

 以信望愛站來說是  /etc/init.d/MailScanner restart

一般可能是 /etc/init.d/sendmail restart 

6.檢驗成果

    當然,收發信件必須先正常,然後可以去  /var/lib/milter-greylist/db 檢查 greylist.db 這個檔案,就可以看到灰名單是否正常運作。

Trackback URL: http://blog.fhl.net/trackback.php?id=162

LVM 設定方法 Fedora 7
tjm | 04 元月, 2008, 21:19 | 技術小抄 | (593 Reads)

 

/usr/sbin/pvcreate /dev/sda4

/usr/sbin/vgcreate -s 16M nlife_lvm /dev/sda4

/usr/sbin/vgchange -ay nlife_lvm

/usr/sbin/lvcreate -L1G -nbbs nlife_lvm

/usr/sbin/lvcreate -L2G -ntmp nlife_lvm

/usr/sbin/lvcreate -L100G -nhome nlife_lvm

/usr/sbin/lvcreate -L50G -nvar nlife_lvm 

Trackback URL: http://blog.fhl.net/trackback.php?id=155

httpd的憑證作法 Fedora 7
tjm | 04 元月, 2008, 20:31 | 技術小抄 | (607 Reads)

cd /etc/httpd/conf/ssl.key
mv server.key server.key.orig
openssl genrsa 2048 > server.key
cd /etc/httpd/conf/
mkdir ssl.csr
openssl req -new -key ssl.key/server.key -out ssl.csr/server.csr

回答一堆問題之後,可能要考慮密碼不打

記得要有 ssl.crt 這個目錄

openssl x509 -req -days 1825 -in ssl.csr/server.csr -signkey ssl.key/server.key -out ssl.crt/server.crt

Trackback URL: http://blog.fhl.net/trackback.php?id=154

mail憑證的製作法 Fedora 7
tjm | 04 元月, 2008, 20:15 | 技術小抄 | (564 Reads)
到 /etc/pki/tls/certs
修改一下 Makefile 把 365 改成大一點的數字,每年搞一次我可沒力氣。
我改成 1825 五年差不多了。

然後 make xxxx.pem 填一填資料就可以了,最後記得要把
ipop3d.pem
與 imapd.pem 連到 xxxx.pem 即可。

    記得,憑證不可以被別人隨便讀取,正確的說應該是憑證的private key
不能被讀取,所以要設定適當的權限。
Trackback URL: http://blog.fhl.net/trackback.php?id=153

MailScanner+spamassassin+clamav 小抄
tjm | 04 元月, 2008, 13:17 | 技術小抄 | (782 Reads)

由 http://www.mailscanner.info/downloads.html 下載 mailscanner

yum install -y clamav clamav-update perl-Parse-RecDescent perl-Inline

tar zxvf MailScanner-4.66.5-2.rpm.tar.g  

 cd MailScanner-4.66.5-2
 ./install.sh

vi /etc/MailScanner/MailScanner.conf

%org-name% = 輸入你喜歡的名稱但不能有任何空白
File Command = /usr/bin/file
Virus Scanners = clamavmodule #可以先用clamav試試。
Monitors for ClamAV Updates = /usr/local/share/clamav/*.cvd
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Always Include SpamAssassin Report = yes
Notify Senders = no
Notify Senders Of Viruses = no
Notify Senders Of Blocked Filenames Or Filetypes = no
Notify Senders Of Other Blocked Content = no
Scanned Modify Subject = end #每一封被掃描過的信,主旨都會加一段{Scanned}
Scanned Subject Text = {Scanned} #可以是中文
Spam Subject Text = {Spam?}#可以是中文
High Scoring Spam Subject Text = {Garbage?}#可以是中文
Spam Checks = yes
Use SpamAssassin = yes

Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver
High Scoring Spam Actions = store
SpamAssassin Site Rules Dir = /etc/mail/spamassassin
SpamAssassin Default Rules Dir = /usr/share/spamassassin
Debug SpamAssassin = no

#注意 Debug SpamAssassin 設定成 yes 時,會造成系統負荷大增,除非要debug 不要設定為 yes


/etc/init.d/sendmail stop
 /sbin/chkconfig --level 3 MailScanner on
/sbin/chkconfig --level 3 sendmail off
/etc/init.d/MailScanner start

vi /etc/sysconfig/freshclam
#FRESHCLAM_DELAY=disabled-warn  # REMOVE ME (閱讀全文)

Trackback URL: http://blog.fhl.net/trackback.php?id=152

httpd起不來的處理方式
tjm | 27 十月, 2007, 01:52 | 技術小抄 | (595 Reads)

其實是剛剛遇到的,httpd怎樣都起不來,換了幾個版本都沒用,/var/log/httpd/error_log裡面說:

  [error] (28)No space left on device: Cannot create SSLMutex
Configuration Failed

其實這是共享記憶體用完了,你可以下這個指令確認一下:

ipcs -s

如果確定有一堆垃圾,請用

 ipcs -s | grep root | awk ' { print $2 } ' | xargs ipcrm sem

這樣就可以殺掉 root 佔用的共享程序,讓出空間給 httpd 啟動 

Trackback URL: http://blog.fhl.net/trackback.php?id=135

如何將mp3轉成CD片
tjm | 16 十月, 2007, 13:26 | 技術小抄 | (1235 Reads)

最近有些人來信,說信望愛站提供許多mp3的檔案,但他們只會使用CD來聆聽,有沒有什麼方法可以把mp3轉成CD?以下就說明解法:

其實,主要的技巧就是利用一個免費軟體 MP3 CD Doctor Lite

詳細的方法請參考 Mp3轉CD的方法.doc

 

Trackback URL: http://blog.fhl.net/trackback.php?id=133

機房緊急維修小抄
tjm | 09 九月, 2007, 23:00 | 技術小抄 | (717 Reads)

一、伺服器損毀:先紀錄console的信息,以作為後續維修之用。如果沒有特別的信息,以「重新開機」為優先處理方式。

二、如果重新開機還不行,請Power Off RAID與伺服器,然後再開電源重新啟動,還不行就重新連接RAID與伺服器的連接線重新啟動。

三、如果經過上述兩個手續還不能正常啟動,就看那哪一台機器損毀。如果是BBS或Life損毀,RAID運作正常,那就先進行步驟四,如果是tech損毀,RAID運作正常,跳過步驟四進入步驟五 。

四、先將tech停機,拔除損毀伺服器上SCSI連接線,把BBS 或Life的RAID重新連接到tech上重新啟動,以tech伺服器替代受損的伺服器運作。請注意一下網路線的配置與設定,必要的時候檢查一下/etc/sysconfig/network-scripts 目錄下的 ifcfg-eth0 與 ifcdf-eth1 把HWADDR 這項設定用「#」mark掉,以確保網路可以正確啟動

五、把受損的伺服器拆離機架,拔出所有的介面卡,用軟橡皮清理金手指之後插回重新啟動,還不能正常啟動就嘗試更換損壞的硬體,直到找到問題所在,修復為止。修復後,視需要把接線換回。

六、如果是RAID或檔案系統損壞,請先用Fedora開機片打入 linux rescue 進入救援模式,看系統的信息確認是否還能找回RAID上的Linux檔案系統。 如果還可以,請依指示 chroot 進去系統,執行 grub-install /dev/sda 重新安裝系統開機程式即可。

七、如果RAID或檔案系統嚴重損毀,重新安裝系統開機程式已經無法挽救,那請先直接重灌系統到可以遠端登入的狀況(應該預先留下目前每台機器的分割狀況)。如果能夠拯救整個分割區,就拯救之 ,否則請取回tech的備份硬碟中full backup的檔案(ls -al 看看檔案大小就知道哪些檔案是full backup了)。到系統根目錄底下 tar zxvf xxxx.tar.gz  直接把備份資料蓋回去,重新開機即可。

八、 進一步的資料拯救,則可以視需要檢查備份硬碟中的增量備份檔案,一個一個找回所需要的資料即可。

九、建議進行實際的復原演練,以免臨時出問題。

Trackback URL: http://blog.fhl.net/trackback.php?id=125

Fedora Core kernel 編譯小抄
tjm | 22 七月, 2007, 11:31 | 技術小抄 | (1055 Reads)

先抓一下 kernel source到  ftp://ftp.isu.edu.tw/  抓

安裝 rpm
rpm -ivh kernel-2.6.15-1.2054_FC5.src.rpm

產生 kernel source

cd /usr/src/redhat/SPECS
rpmbuild -bp --target $(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec

 kernel的source會被產生到以下目錄/usr/src/redhat/BUILD/kernel-2.6.xxx/linux-2.6.xxx.ooo

我們習慣移出來

cd  /usr/src/redhat/BUILD/kernel-2.6.xxx/

mv linux-2.6.xxx  /usr/src 

編譯: 

cd  /usr/src/linux-2.6.xxx.ooo

make mrproper  

make menuconfig

make bzImage modules modules_install install

Trackback URL: http://blog.fhl.net/trackback.php?id=115

製作信望愛繁星計畫DVD用到的一需技術與軟體
tjm | 20 六月, 2007, 23:43 | 技術小抄 | (728 Reads)

信望愛站最近打算將一些資源壓成DVD分送給大家,所以我改寫了CBOL的程式將資料庫中的資料改為靜態網頁,並且將聖經朗讀、聖詩mp3一類的資料一併燒進去。由於CBOL的資料包含太多零碎的檔案,且因為有些檔案使用中文檔名,導致一般的燒錄軟體無法支援,得要用

 deepburner 

這個燒錄軟體才能先把資料轉換成ISO檔案,然後才能燒錄。 Linux上的工具可以處理大量零碎檔案,但無法適當的處理中文檔名。

另外,需要轉換大批mp3的格式時,使用到  

dBpoweramp music converter 

這個工具,否則還沒辦法簡單的把幾百個mp3檔案一次處理掉。

當然,這些軟體都是免費的(至少以信望愛的狀況來說是免費的),省下不少錢。 

Trackback URL: http://blog.fhl.net/trackback.php?id=109

mod-cband(httpd限流工具)安裝方式
tjm | 28 二月, 2007, 16:37 | 技術小抄 | (1060 Reads)

wget http://cband.linux.pl/download/mod-cband-0.9.7.5.tgz

tar zxvf  mod-cband-0.9.7.5.tgz

cd  mod-cband-0.9.7.5/

 ./configure  --with-apxs=/usr/local/apache2/bin/apxs

 ./configure  --with-apxs=/usr/sbin/apxs 如果使用 rpm版 httpd

make
 make install

 vi /etc/httpd/conf/httpd.conf
 加入
 CBandScoreFlushPeriod 1
CBandRandomPulse On

 vi /etc/httpd/conf/server.conf
 在每個虛擬主機中加入
 CBandRemoteSpeed 128kb/s 10 40

 這樣是限制每一個遠端IP每秒最多可以有十個連線,同時最多有40個連線,
總頻寬最多128K。

Trackback URL: http://blog.fhl.net/trackback.php?id=80

Apache httpd 更換為 2.2.4
tjm | 28 元月, 2007, 22:35 | 技術小抄 | (788 Reads)

照平常的 config方法去執行會有點問題,要改成

 ./configure --with-layout=RedHat --enable-so \
--enable-ssl --enable-mod_ssl --with-included-apr

 主要是加上最後的 --with-included-apr 取命令apache httpd使用內建的 apr utility。

這樣就可以避免發生錯誤了。 

Trackback URL: http://blog.fhl.net/trackback.php?id=69

雙專線DNS管理程式
tjm | 03 元月, 2007, 15:42 | admin, 技術小抄 | (1035 Reads)

信望愛站早就有雙專線備援的功能(透過routing table的設定),但是一直缺乏DNS的相關配套措施。導致某一條專線斷掉時,還需要手動更改DNS設定。為了解決這問題,這兩天我把相關的程式寫好。

要做到動態切換DNS,就必須降低TTL,減少使用者端與dns的cache時間,也要增加slave DNS來取資料的頻率。這些部份,我們全部使用 tag 替換的技術來處理。目前我已經把這套程式建置於life這台機器上,與自動偵測系統整合,當系統偵測到斷線,就會自動切換 routing table並切換DNS設定。 相關的程式在named.1.0.tgz

技術人員請注意,以後修改DNS請不要針對標準的 /var/named 底下的檔案修改,而要針對/root/named/data底下的檔案修改,修改完執行dns.php 就可以自動更新 dns。至於最討厭的序號問題,程式已經幫大家解決了,嘿嘿!

Trackback URL: http://blog.fhl.net/trackback.php?id=58

log備份機制
tjm | 01 元月, 2007, 09:38 | 技術小抄 | (1073 Reads)

這個有點麻煩,因為種種原因還沒有自動化,先把小抄寫在這裡

su root
####處理 Web log
cd /var/log/httpd
gzip access_log error_log ssl_request_log
mv access_log.gz access_log.200210-12.gz
mv ssl_engine_log.gz ssl_request_log.200210-12.gz
mv error_log.gz error_log.200210-12.gz
rm -rf 舊的log與目錄
scp *gz tech:/backup/data/log/SERVERNAME
####處理系統log
cd /var/log
gzip messages* maillog* secure* xferlog* wtmp* rpmpkgs* bind* boot* btmp* \
     lastlog procmail* sudo* up2date* spooler* cron* ksyms* netconf* \
     mysqld* openwebmail* prelink.log* yum* xferlog* freshclam* anaconda*
touch lastlog wtmp bind.log prelink.log freshclam.log
chown root.clamav freshclam.log

chmod 661 freshclam.log
chown named.named bind.log
/etc/rc.d/init.d/named restart
/etc/rc.d/init.d/syslog restart
tar zcvf icecast.tgz icecast
tar zcvf sa.tgz sa
tar zcvf mailman.tgz mailman
tar zcvf samba.tgz samba
scp *gz tech:/backup/data/log/SERVERNAME
####看情況殺掉舊log
rm -rf *.gz
rm -rf *.tgz
rm -rf icecast/*
rm -rf sa/*

 

###### 因為BBS已經關了,所以底下都不用做了。20080401

######如果是bbs還要處理另外的log
cd /home/bbs/adm
scp * tech:/backup/data/log/bbs/bbslog
rm -rf *
##### bbs還要處理BBS舊文章
cd /home/bbs/archive
gzip *
scp * tech:/backup/data/log/bbs/article

rm -rf * 

Trackback URL: http://blog.fhl.net/trackback.php?id=55

監測伺服器的網路流量
tjm | 01 十二月, 2006, 22:28 | 技術小抄 | (944 Reads)

以下介紹如何裝設 mrtg 監測 eth0 的流量

yum -y install net-snmp

vi /etc/snmp/snmpd.conf

com2sec local localhost public
com2sec mynetwork 192.168.1.0/24 public
group MyRWGroup v1 local
group MyROGroup v1 mynetwork
view all included .1.3.6.1.2.1.1 80
access MyROGroup "" any noauth 0 all none none
access MyRWGroup "" any noauth 0 all all all
syslocation Fedora Core 6

syscontact someone <someone@mail.com.tw>

chkconfig snmpd on

 service snmpd start

yum -y install mrtg

mkdir /home/WWW/www/mrtg #或者其他你要產生mrtg統計檔案的地方

 cfgmaker --global 'WorkDir: /home/WWW/www/mrtg' \
> --global 'Options[_]: bits,growright' \
> -global 'Language: big5' \
> --output /etc/mrtg/mrtg.cfg \
> --ifref=ip \
> 205.71.38.xxx

indexmaker --output /home/WWW/www/mrtg/index.html /etc/mrtg/mrtg.cfg

 mrtg /etc/mrtg/mrtg.cfg

mrtg /etc/mrtg/mrtg.cfg

mrtg /etc/mrtg/mrtg.cfg

然後就可以去看是否產生流量統計圖表了 

 以上是參考自 這裡

Trackback URL: http://blog.fhl.net/trackback.php?id=36