成立 PCMan Facebook 專頁

之前常被許多網友要求加 Facebook,但是數量過多難以管理,大部分也都不認識,無法一一加入,所以成立 PCMan FB 專頁。未來長篇的文章還是會放 Blog 上,而平常的小動態會放在 FB。
另外,現在也可以使用 http://blog.pcman.im/ 來連到本網站

2007年12月8日 星期六

[文件] lighttpd + mediawiki

之前 http://free.ym.edu.tw/ 站因為硬體等級相當差,負擔又過重
經常導致伺服器停止回應的狀況,差點連我都無法遠端登入
最後終於狠下心,把 apache2 換成了 lighttpd
轉換的過程並不順利,需要若干小設定修改,mediawiki 才能正常運作

我總共改了:
/etc/lighttpd/lighttpd.conf
按照 MediaWiki 官方網站上提供給 Lighttpd 的設定說明
開啟 mod_rewrite 和 mod_redirect,寫下給 mediawiki 的 rewrite 設定
假設 mediawiki 是放在名為 w 的這個目錄下

server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_rewrite",
"mod_redirect",
"mod_evasive"
)

## 限制每個 ip 的連線數,使用 mod_evasive
evasive.max-conns-per-ip=2

## For MediaWiki

url.rewrite-once = (
"^/$" => "/w/index.php",
"^/wiki/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2"
)

#url.redirect = (
# "^/(?!w|wiki|robots\.txt|favicon\.ico)(.*)" => "/wiki/$1"
#)


/etc/php5/cgi/php.ini
加入一行給 lighttpd 的設定

; For Lighttpd
cgi.fix_pathinfo = 1


開啟 lighttpd 的 fast-cgi

# lighty-enable-mod fastcgi


又裝上了 xcache 這個 php 加速器

抓下 xcache 的 source code,之後 apt-get install php5-dev
接著解開 source tarball,進入 xcache 目錄
執行
# phpize
./configure
# make install
最後修改
/etc/php5/cgi/conf.d/xcache.ini
把 xcache.size 設定成想要的大小


然後修改了 mediawiki 的 LocalSettings.php

$IP = "/var/www/w";

$wgArticlePath = "/wiki/$1";
$wgScriptPath = "/w";


終於大功告成,mediawiki 順利在 lighttpd 上運作了。

2007年12月5日 星期三

2007年12月3日 星期一

[文件] 大型網站架設

這是 Pixnet 的 far 撰寫的文章,提醒如何架設大型網站
的確是相當值得參考....
好文一篇
http://blog.pixnet.net/far/post/17024

對於我們這種沒錢、沒機器、又沒技術的小人物來說...
還是在自己的小網頁空間寫個小丁丁就好了....
改天來把網頁換成紫色系好了,看有沒有加分 = =

架網站是個大學問,雖然有些程式寫起來很簡單
一些實務上的技術,只有稍微翻過 php 的書還是不行的 XD
例如這個丁丁網頁平台,我在寫的時候,就很清楚的知道...
當有大量使用者的時候,這個系統應該就會爆了
不過... 我們不是商業公司,也沒有那麼多的機器和頻寬可以拿來玩
所以.... Just for fun! 好玩最重要,
有達到練習寫 php 的效果,同時又能提供自己可用的網頁就好了 :)

2007年12月2日 星期日

剛剛迅速加上了簡陋的留言板....

初步看起來是會動的,不過目前只可以留言,
還沒有辦法提供板主管理留言的功能 :-P

剩下的功能改天補吧... 用到那裡寫到那裡,Cool!

2007年12月1日 星期六

丁丁個人網頁平台完整程式碼上線

剛剛在 OpenFoundry 申請了專案,
丁丁網頁平台的程式碼,正式以 GNU GPL2 授權對外釋出
http://rt.openfoundry.org/Foundry/Project/?Queue=878
有興趣的朋友可以拿去研究或修改
我的 PHP 和 SQL 都不熟,寫得並不好,不過還堪用。

想在自己的電腦上架設這個丁丁系統的話
請從 svn checkout 出 trunk 下最新的程式碼

用 db.sql 建立資料庫的結構,
接著修改 config.php,設定好資料庫的名稱、使用者、密碼

接著就可以用了。

不過,現階段還沒有用來新增使用者的管理介面
所以必須自己手動操作資料庫加入使用者資料....
在 profile 這個 table 中填入使用者的 id, 密碼的 md5hash... 等
基本上並不難,欄位的名稱都一看就知道用途。
建議使用 phpmyadmin,整個操作就會變得非常的簡單。

或者有興趣想試用這個系統的朋友,
可以跟我申請帳號 XD 我在我的網頁幫你開帳號。

目前需要 id, 密碼的 md5hash (不用給我你的密碼,給 md5 即可)
blog 的名稱、blog 的簡短描述、你的 E-mail
這樣我就可以幫你加入帳號了。

取得密碼 md5hash 的方式很簡單:
可以使用 UNIX/Linux 系統上的指令
echo -n '你的密碼' | md5sum
就能得到密碼的 md5 hash 了。

或者,在下面這個網站輸入密碼後,按下 encrypt,也可得到
http://www.iwebtool.com/md5

歡迎試用丁丁網頁平台 Ding Ding Web System (DDWS) :-P

剛剛終於把輸出 html 畫面的部份大修...

剛剛終於把輸出 html 畫面的部份大修...
現在可以支援幾個簡單的 BBCode
code, url, img, b, u, i
不過目前還有些小問題

除了這些之外,可允許頁面上插入幾個 html tags:
a href, b, u, i, img, embed, ol, ul, li
其他的一律轉成 html entities
這部份目前還是有不少問題還解決不了

此外,目前對於文章中疑似網址的部份,會自動轉換成超連結。

而因為對 regexp 不熟悉,這部份我寫起來覺得很吃力
另外,大量使用 mb_eregi_replace,我想效能會滿糟的

現在這個 blog 只有自己用比較沒影響,
要是使用者一多起來,就必須做 cache 而不能每次都動態生成畫面了。

剛剛支援了 CAPTCHA,現在發表評論需輸入驗證碼

跟 PHP/MySQL 大師 Lman 稍做討論之後,
我決定放棄之前想得很複雜的 CAPTCHA 設計
雖然不那麼完美,但是程式寫起來卻十分簡單。
就這樣,終於幫 Blog 評論的部份加上了驗證碼輸入
這樣就不怕被人用惡意 Spammer 程式灌水了。

今天跟 Lman 請教/討論了不少事情,收穫不少
學到一些書上沒教的東西 (雖然說就是書上真的有教,我也不會看...)
聽他分享了一些業界的事情。

關於為何外面的機關,標案時都指定使用大廠產品
無法使用 Open source / Free software 的解決方案
他做了很好的簡短評論:

以下為 Lman 語錄:
「出了事 ,後面沒大廠,一定馬上死
但是喔
只有你出事,你一定死
大家都出事,你沒事,就當沒事
大家都出事,你也出事,那就不關你的事
這個在銀行業也是一樣的...
之前很多銀行業只敢買ibm跟特定品牌的防火牆就是因為這樣子啊 XD」

另外 Lman 建議我可以考慮試著用 PDO 或 adodb_lite 來處理資料庫
在除錯和維護上都會比直接用 MySQL 寫程式要方便許多
有機會該來試試看...