2010-08-17

在 FreeBSD 手動退出光碟機


因為 Server 上面都沒有圖形介面,加上管理失當,有時候就不知道哪一台機器是哪一台,加上機房有點他媽的超級吵,就算發出 Beep 聲也搞不清楚是哪一台機器發出來的,我都是用退出光碟機來確定,但是手動要怎麼退出光碟機托盤咧?
-root- cdcontrol
Compact Disc Control utility, version 2.0
Type `?’ for command list
cdcontrol> eject
搞定!

2010-08-09

升級 phpBB3 3.0.4 to 3.0.7PL1


前幾天車友突然反應說站上的搜尋功能有問題,我知道,就沒時間處理,今天父親節,下午閒閒沒事,想說就來試一下,依序抓了升級檔案回來,才要升到 3.0.5 就噴了 error message 給我:
Notice: Undefined index: MYSQL_SCHEMA_UPDATE_REQUIRED in /home/boolprop/public_html/forums/install/database_update.php on line 248
看到這訊息才想起來我為什麼一直沒有更新,就是因為碰到這個問題啦!去 Google 了一下,一堆人從 3.0.4 升級 3.0.5 的時候,都遇到這個錯誤,那一定有解決的辦法,只是要在英文討論區裡,要找答案都要一篇篇慢慢翻,終於給我翻到!
這裡有寫到遇到這樣的錯誤訊息該怎麼處理,像我的版本是 3.0.4,所以我就抓了 for 3.0.4 的檔案回來,直接放在網站的根目錄下面,利用瀏覽器去執行它,記得要先把程式裡的第一行:die 什麼鬼的用雙斜線 mark 起來,接著就會蹦出 mysql 程式碼,剪下來貼到 phpMyAdmin 裡面執行,我執行完有跳出一個錯誤,我猜應該是因為我的 user group 有用中文的關係吧!
接著再用 3.0.4 to 3.0.5 的升級程式,竟然就安全過關了!然後升級到 3.0.6 也沒問題!所以我就直接把測試站的資料與網頁 co 到正式站去,結果面板文字全部變問號!這~這不就是編碼的問題嗎?剛剛在測試的時候明明是好滴呀!而且我在 co 之前忘了再備份一次資料庫!試了很久,沒辦法!只好把早上六點的備份拿出來用,唉~
等恢復正常後,我實在是不相信怎麼會發生這樣的事情,再做一個測試站,這次打算直接從 3.0.4 升級到 3.0.6,一樣用剛剛下載的 mysql_upgrader.php 整理了資料庫,用網頁測試貼文,沒有問題,去抓了 3.0.4 to 3.0.6 升級程式,跑完之後,選擇使用新的程式合併舊的差異(在升級的時候忘了截圖了),然後當它在 download 的時候,直接從 store 裡面將程式 co 出來解壓縮,再測試貼文章正常,完全沒有亂碼,然後測試了搜尋的部份,也正常了!
這樣我至少達到車友的需求,但是,我怎麼可能這樣就滿足了呢!現在最新版本可是 3.0.7PL1 呀!二話不說,抓了 3.0.6 to 3.0.7 回來,一樣的方式升級完成,全部都沒有問題!這次我學乖了,先把正式站的設定改一下,來吃測試站的,連上去再測試一下,確定都沒有問題了,再把程式 co 過去,連進後台,竟然還說我的討論區不是最新版!怎麼可能!原來,3.0.7 並不等於 3.0.7PL1!
連上 phpBB 官網,果然還有 3.0.7 to 3.0.7PL1 的升級程式!抓回來更新之後,不知道為什麼,只產生了二個新檔案!我就手動 co 進去就完工了~再進到後端,果然,討論區版本是3.0.7-PL1,但是,當我一點到系統裡的版本檢查,又說我是 3.0.7,而且發現更新不完全!我好煩啊~可以不理他了嗎?

2010-08-02

FreeBSD 上使用 Postfix 來當 MTA


為了這個架構,整整花了五個上班日加上前後二個週末,全部加起來10天的時間,不知道白了多少頭髮,總算讓我設定好了!今天整個就是爽到最高點!
原本就是利用 spam 主機來掃毒加擋廣告信,雖然用的是四年前的機器,雖然跑的很喘,倒也沒什麼大問題,然而,上上星期的某一天,這個機制竟然出了問題!也就是 clamAV 掛了!一個晚上累積了一萬六仟封信在主機上!經過24小時的消化,才把這一萬多封的信消化完,但是其中還明有超過50%的信是廣告!看到 queue 裡面的清單就讓我火很大!加上副總的壓力,只好利用假日重新灌一台主機,使用新的硬體來當 spam 主機,灌好之後果然就沒有問題了。
仔細看了spam之後,有一點搞不太懂,為什麼 Amavisd-new 裡面,會把掃毒放在 spam 的後面,感覺好像掃毒比較需要系統資源,而且經過這一連串動作下來,還是有50%以上是廣告信,等於說我的 spam 主機都在做白工,應該要在信一進來的時候,就先確定這封信是不是廣告信,如果是,直接擋掉,不是,再進來做其他的動作(掃毒之類)。
副總很好心的幫忙找到一個 spamhaus.net 網站,上面有提供付費的 spam 清單機制,可以申請試用一個月,申請下來才發現慘了!我完全不知道怎麼把這個機制加到現有的spam主機上,於是乎,就拿舊的主機做了一台 spamteq,上頭只有簡單的 FreeBSD+Sendmail,重新組合自己需要的 sendmail.mc,做出符合自己需求的 sendmail.cf 檔,裡面即包含了zen.dq.spamhaus.net的機制,所以在第一關就擋掉大部份的廣告信,zen.dq.spamhaus.net 這個機制一上線,我整個精、氣、神都舒暢了起來!幹!這樣才對嘛!進來的信幾乎都是真正的信!
利用 mailgraph 做出來的 mail 圖表很清楚明白的跟你說:每分鐘 rejected 82封信!幹!舒暢啊~
以上純舒發一些廢話,以下純作筆記。
sendmail 重做 cf 檔:
  • cd /etc/mail
  • vi sendmail.cf
  • 增加 FEATURE(dnsbl,`dq.spamhaus.net’)dnl
  • make sendmail.cf
postfix 設定
  • cd /usr/local/etc/postfix
  • vi main.cf
  • 增加
    • smtpd_recipient_restrictions =
      reject_rbl_client zen.dq.spamhaus.net,
      check_relay_domains,
      permit