最近嚐試 Ubuntu 8.04 server ,遇到一個問題:用 PuTTY 自 windows 進 ubuntu server 的 ssh console 時,中文一律變成亂碼。
這麼一來,不只 console 上的中文訊息看不懂,連最常用的 vi 都因為亂碼而影響操作。雖然 nano 還算簡單,總是用不習慣。
後來 google 了一下,找到各種說法,試了其中一種方法,調整 PuTTY 的 Translation 設定,果然搞定。
我的心得記事,包括 pLog 、 PHP 、 Moodle 、網路管理、電腦科教學、 Wiki ......
[ubuntu][網管]使用 putty 進 ubuntu 時的中文亂碼問題
最近嚐試 Ubuntu 8.04 server ,遇到一個問題:用 PuTTY 自 windows 進 ubuntu server 的 ssh console 時,中文一律變成亂碼。
這麼一來,不只 console 上的中文訊息看不懂,連最常用的 vi 都因為亂碼而影響操作。雖然 nano 還算簡單,總是用不習慣。
後來 google 了一下,找到各種說法,試了其中一種方法,調整 PuTTY 的 Translation 設定,果然搞定。
在黑米看到一個書籤: md5(); - reverse engineer md5 hashes - powered by rednoize.com 在介紹 http://md5.rednoize.com/ 這個網站,有一點想法,先記下來。
首先,這個網站是以類似 google 搜尋引擎外觀的 md5/sha1 hashes 搜尋網站。你可以用 hashed string 反向查詢其原始字串,也可以用任意字串查詢其 hashed md5/sha1 string 。
我的想法比較負面,我個人覺得,這是一個相當危險的服務。
還是筆記!
moodle 搬家後,發生了一點後遺症,原來教材文章裡插入的圖片都是用原來的舊網址,並沒有隨著 moodle 搬家自動跟著更改,於是產生一堆叉燒包。
解決方法,直接使用 apache 的 redirect 功能做轉址就行了。
[moodle][apache][網管]moodle 搬家到獨立網址
這是一篇筆記!
為了因應未來的系統調整,要先將 moodle 移至獨立網址。目前先以同一台機器上的虛擬主機處理。大致步驟如下:
其中, DNS 、防火牆與 ldap 現在不歸我管,這裡只做建立虛擬主機與 moodle 搬家的筆記。
這兩天提供 web 服務的主機狂當, CPU 經常跑到 100% 不回應,流量也不正常,於是終於做了一件早就該做的事:把這部主機搬進 DMZ 。 :P
另外在 access_log 裡看到大量的百度機器人和搜狗機器人搜尋紀錄,以前原本不太在意這回事兒,但既然主機有點流量問題,還是擋一下好了。參考阿駕的擋掉百度 (來自 GSLin 的這裡) 說明,加入了下面的設定:
SetEnvIf User-Agent ^Baidu baidu
Deny from env=baidu
SetEnvIf User-Agent ^Sogou sogou
Deny from env=sogou
huihui 說要從防火牆把整個百度擋掉,有人能幫忙提供 IP 列表嗎?
[VirtualBox]Panic: CPU too old for this kernal.
為了轉台到 Ubuntu ,裝了個 innotek VirtualBox 來安裝 ubuntu-7.10-server-i386.iso 。好容易裝起來了,結果如下:
上網查了一下,好像是 VirtualBox 的問題。殘念 -_-
有大德能指點一下明燈嗎?若沒有,只好去用還要註冊碼的 VMWare 了。
[postfix procmail spamassassin]搞定垃圾郵件過濾最終解決方案
搞了一個禮拜的東西,記一下,做個紀念!
遇到的問題:
使用 procmail 替代直接遞送 mail box ,是造成上述問題的原因。如果是由 postfix 遞送郵件到收件人信箱,無法遞送時 ( 如我遇到的收件者信箱 quota exceeded 問題 ) 會由 postfix 退信。但是如果是由 promail 遞送到收件者信箱, postfix 把信交給 procmail 時,就算完工了,而 procmail 則是無法退信 ( 註1 ) ,於是送信到預設的 mbox 信箱去了。
我決定採用 Postfix After-Queue Content Filter 裡的 Simple content filter ,讓 procmail 做為 mail filter ( 註2 ) ,將郵件 pipe 給 spamc 過濾加標籤,再 pipe 給 sendmail ,讓郵件重回 postfix 的 mail queue ,讓 postfix 做最後的遞送到收件人信箱。如此,就可以解決收件人信箱 quota exceeded 的問題了。
以下是各項設定:
[postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配
以前使用 procmail + spamassassin 過濾垃圾信,只會搭配 mbox 信箱使用,後來為了設定用戶信箱的 qutoa ,將信箱格式改為 Maildir/ 目錄信箱格式,就不再使用 procmail ,而改用 amavisd-new 了。
現在放棄 amavisd-new ,回頭改用 procmail ,搭配 Maildir/ 的問題得想辦法解決。終於給我搞定了,紀錄如下:
[spamassassin]自己動手安裝spamc/spamd
既然套件庫沒有,那就自己抓 source 來安裝吧。
上週把 mail 主機的 Mandriva 升級為最新的 2008.0 Free 版本,結果,讓我一週來吃不好睡不好,日子難過。為什麼?因為我升級的「太早」。
為什麼,因為我不懂得要忍一下,沒有等到台灣的 mirror 站完全 mirror 完所有套件。
mail 主機的 email 服務,我是使用 postfix + amavisd-new + spamassassin ( spamd / spamc ) 的組合做 spam filter 。最早是用 postfix + procmail + spamassassin ,但是因為資源有限,必需控管用戶信箱的 quota ,所以 postfix 改用 Maildir/ 格式的信箱。但是當時 procmail 搞不定 Maildir/ 格式信箱,只能使用 mbox 格式,不合用。後來就改用 amavisd-new 當 postfix 的 filter server 取代使用 mailbox_command 的 procmail 。
在 Mandrake 2006 時,因為 postfix / amavisd-new / spamassassin / spamd /spamc 都有現成的套件,而且相依性的處理很好,只要簡單的 urpmi xxx ,然後修改設定檔就可以搞定了。
這回升級到 2008.0 Free 時,問題可大了:
(閱讀全文)poppassd 透過 pam 來改密碼,預設是使用 DES 編碼,要改用比較安全的 MD5 ,要修改 /etc/pam.d/poppassd
#%PAM-1.0
auth required pam_pwdb.so shadow nullok
account required pam_pwdb.so
password required pam_cracklib.so retry=3
password required pam_pwdb.so md5 use_authtok nullok
在第四行的 pam_pwdb.so 加上 md5 參數就行了。
[poppassd]500 Old password is incorrect
以前用 SquirrelMail 時,有一個 change_password plugin 很好用,我是用 poppassd backend ,可以讓使用者直接在 webmail 裡修改自己帳號的密碼。
後來因故放棄 SquirrelMail 後,改用 V-webmail ,界面什麼都不錯,中文問題也修得差不多了,就是沒有線上改密碼的功能。於是,動手把 SquirrelMail 的 change_password plugin 裡的 poppassd beckend 給移植過來用,效果蠻不錯的。
最近將 Mail 主機升級 ( 其實是重新安裝 ) 成 Mandriva 2008.0 Free ,結果慘劇發生,完全相同的程式碼,不管輸入的密碼是多麼的正確,一律給錯:
500 Old password is incorrect
好不容易終於解決了。因為是 poppassd 的問題,所以,解決這個問題後, SquirrelMail 的 change_password plugin 不能換密碼的問題也可以一併解決。
不過,改用過程中發生一件怪事,我的帳號沒有問題,可以用 ssh-key 登入 ssh console / sftp ,但是同事的帳號卻發生 "Server refused our key" 的訊息拒絕連線。
經過一番檢查,原來是 ~/.ssh/authorized_keys 的權限錯了。
純筆記!
IP-based Virtual host 可以各自擁有獨立的 SSL 憑證, Name-based Virtual host 則只能共用一個 SSL 憑證。
原因: SSL 為比 http 更底層的協定, Name-based Virtual host 是在 http 層才能分辨,而 SSL 憑證早在這之前就載入了。
若 Virtual host 要同時支援 http 與 https 協定,要當成兩個 Virtual host 設定,分別監聽 80 port 與 443 port ,但是把網址與文件目錄設為相同。至於 access log 與 error log 最好是分開以方便未來利用。