星期日, 7月 25, 2004

挪威的森林

剛剛開車時聽到廣播傳來伍佰的歌曲-挪威的森林
讓我又想起以前在高雄岡山當兵時的情形,
當時剛下部隊,很菜,被派到大門口支援一分鐘待命班,
那時後一個快退伍的下士班長每天都用他那台破破的隨身聽
播放伍佰的歌曲.
真是一段很令人難忘的軍旅生活~~

陸軍獨立64旅戰車742營部連.

星期五, 7月 23, 2004

分離式冷氣還是比較好

上星期在家裡的另外一間房間安裝了分離式冷氣,
以方便若家人或朋友來住時就有冷氣可吹.
果然還是分離式的冷氣較好, 吹一下子房間就很涼了.
這幾天剛好家人來, 正好派上用場~~

星期四, 7月 22, 2004

使用 Google Web APIs 及 php 實現網站內容全文檢索

使用 Google Web APIs 及 php 實現網站內容全文檢索
1. 先至
http://www.google.com/apis/
申請一個帳號 , 並且取得一組序號

2. 至 http://www.digitalpoint.com/tools/search/
下載 search.zip , 並將其解壓縮至網頁目錄

3. 修改 results.php
將 $key="1234567890";
更改為 google 給你的那一組序號

將 $site="www.yoursite.com"
更改為你想要查詢的網站

4. 編寫測試網頁
在同一目錄下, 編寫一個網頁 mysearch.big5
其內容為

<HTML>
<HEAD>
<META NAME="Content-Type" Content="text/html; charset=utf-8">
<TITLE>mnoGoSearch: </TITLE>
</HEAD>
測試 Google Web APIs <hr>
<FORM METHOD="get" ACTION="results.php">
<INPUT TYPE="text" NAME="q" VALUE="">
<INPUT TYPE="submit" VALUE="Search!">
</FORM>

然後將其內容轉成 utf-8 格式
iconv -f big5 -t utf-8 mysearch.big5 > mysearch.htm

5. 測試網頁
連接到 mysearch.htm , 隨便敲個關鍵字試看看

6. 詳細說明
http://www.digitalpoint.com/tools/search/

MnoGoSearch 網站內容全文檢索

MnoGoSearch 網站內容全文檢索
網頁:
http://www.mnogosearch.org/

MnoGoSearch 3.2 版以後已支援雙位元的字碼 , 如繁體中文, 簡體中文, 日文等等

安裝方式:

請先至 http://www.mnogosearch.org/下載軟體

將其解壓縮後, 執行 ./configure --help 可以查看其相關設定

例如要使用postgresql的資料庫, 並加入雙位元字的支援, 則下

./configure --with-extra-charsets=all --with-pgsql

執行make , 如果沒有問題, 則執行 make install

預設程式會安裝在 /usr/local/mnogosearch 中

將 /usr/local/mnogosearch/bin/search.cgi 覆製到 Apache 的cgi-bin目錄中

建立一個資料庫, createdb mnoGoSearch

初始化此資料庫 /usr/local/mnogosearch/sbin/indexer -Ecreate

cd /usr/local/mnogosearch/etc/

cp indexer.conf-dist indexer.conf , 然後修改indexer.conf

重點是修改

#DBAddr mysql://foo:bar@localhost/mnogosearch/?dbmode=single



LocalCharset 使用UTF-8 , 及加上

LoadChineseList BIG5 /usr/local/mnogosearch/etc/TraditionalChinese.freq

最後修改

Server http://your.server.name/

cp langmap.conf-dist langmap.conf; cp search.htm-dist search.htm; cp stopwords.conf-dist stopwords.conf

修改search.htm

重點是修改

#DBAddr mysql://foo:bar@localhost/udm/?dbmode=single

DBAddr pgsql://yourname:yourpassword@localhost/mnoGoSearch/?dbmode=single

#LocalCharset iso-8859-1

LocalCharset utf-8

#BrowserCharset iso-8859-1

BrowserCharset big5

執行 /usr/local/mnogosearch/sbin/indexer -a

測試 http://your.server.name/cgi-bin/search.cgi

於 Mandrake 9.2上安裝SASL for postfix

於 Mandrake 9.2上安裝SASL for postfix
必要套件
cyrus-sasl-2.1.15-4mdk
libsasl2-devel-2.1.15-4mdk
libsasl2-2.1.15-4mdk
libsasl2-plug-login-2.1.15-4mdk
libsasl2-plug-plain-2.1.15-4mdk

SASL的設定
1.cd /usr/lib/sasl2
2.vi smtpd.conf , 其內容為
pwcheck_method: saslauthd
mech_list:plain login
3.查看saslauthed 是否有啟動,若沒有, 則執行 service saslauthed start

pam的設定
1. cd /etc/pam.d
2. ln -s imap smtp
3. ln -s imap mail

POSTFIX 的設定
1. vi /etc/postfix/master.cf
將 smtp inet n - y - - smtpd
改為 smtp inet n - n - - smtpd

2.
vi /etc/postfix/main.cf

broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_recipient_restrictions = permit_mynetworks ,permit_sasl_authenticated, check_relay_domains
smtpd_sasl_security_options = noanonymous

測試
1. 先產生密碼, 例如帳號 test , 密碼為 5555, 則執行
printf 'testtest5555' | mmencode
然後將結果複製起來, 例如是: @#$%!@#%
2. 重新啟動 postfix
/etc/rc.d/init.d/postfix restart

3. telnet localhost 25
ehlo localhost
auth plain @#$%!@#%




使用 iptables 設定基本的單機版防火牆

使用 iptables 設定基本的單機版防火牆

#!/bin/sh# 簡單的單機版防火牆設定範例
# 重設所有的規則
iptables -F
iptables -t nat -F
iptables -t mangle -F
# 定義預設的規則
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# 允許所有本機的連線
iptables -A INPUT -i lo -j ACCEPT
# 允許 ssh 連線 , 其他的服務請自行設定
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp --dport 23 -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -d 192.168.1.226 -j ACCEPT
# 是否要紀錄log
# iptables -A INPUT -p tcp -d 0.0.0.0/24 -j LOG --log-prefix "DROP_AAA__ " --log-level info
# iptables -A INPUT -p tcp --dport 1:65535 -j LOG --log-prefix "DROP_BBB__ " --log-level info
# 允許所有本機主動的連線
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# 拒絕所有非本機主動的連線
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP