剛剛開車時聽到廣播傳來伍佰的歌曲-挪威的森林
讓我又想起以前在高雄岡山當兵時的情形,
當時剛下部隊,很菜,被派到大門口支援一分鐘待命班,
那時後一個快退伍的下士班長每天都用他那台破破的隨身聽
播放伍佰的歌曲.
真是一段很令人難忘的軍旅生活~~
陸軍獨立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/
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
網頁:
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 @#$%!@#%
必要套件
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
#!/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
訂閱:
文章 (Atom)