2008年12月16日

攝影社人像外拍-寶妮@四四南村(2008/12/13)

http://www.flickr.com/photos/28494839@N07/tags/20081213/















2008年12月14日

IIS6+PHP5 (ISAPI) 安裝攻略

IIS6+PHP5 (ISAPI) 安裝攻略
先把 php-version-win32-installer.msi 這個安裝檔找出來
1 -
點兩下以後, 按下 Next
2 -
這裡會出現 Change , Repair , Remove 我們選 Change(),如果是第一次安裝,該步驟略過。
3 -
這時候會出現很詭異的樹狀圖, 其實就是會安裝的東西和套件.
(建議這時候絕對不可以全選 ... 會有一堆extension無法載入!!)
基本上選預設 + Extensions -> MySQL + MySQLi
後面如果還需要什麼套件 選一選吧!
curl.dll
gd2.dll
mbstring.dll
mcrypt.dll
mysql.dll
mysqli.dll
openssl.dll
zip.dll

4 -
裝到底 ... 點 Finish
5 -
對 安裝PHP 目錄增加 IIS_WPG 群組及 IUSR_XXXX 使用者的讀取及執行權限。
6-
加入系統環境變數 (讓 extension 及 php.ini 能順利被找到)。
Path=C:\PHP5;
PHPRC=C:\PHP5

7-
開啟 IIS 管理員,
主目錄-->應用程式設定-->新增/編輯應用程式副檔名對應
執行檔指定PHP的PHP5ISAPI.Dll位置
副檔名填入 .PHP ,指令動詞選[所有的指令動詞]

8. 網頁服務延伸。
新增網頁服務延伸
延伸名稱填入PHP5ISAPI
需要的檔案,指定PHP的PHP5ISAPI.Dll位置

2008年12月12日

MySQL 授權的詳細情況

資料來源處:http://www.2be.com.tw/?p=200

MySQL 授權的詳細情況

關於 MySQL 授權的祥細情況,眾說紛紜,真正瞭解者甚少

其實 MySQL 官方都有詳細文件可以參考

我們需要的只是適當的中文翻譯

常見的錯誤觀念如:

MySQL 是 open source, 與授權方式無關, 商業用收費也不表示它不是 Free Software (not Price Free)

http://www.mysql.com/company/legal/…ce-license.html

“To all free software enthusiasts we

recommend our products under the *GPL* license.”

上面這個是常見的「斷章取義」錯誤觀念

為什麼錯誤?∼底下會逐步解釋

要瞭解 MySQL 的詳細授權情況

首先我們必須知道 MySQL 到底有哪些授權

資料來源:MySQL Licensing Policy FAQ (http://www.mysql.com/company/legal/licensing/faq.html)

What is MySQL’s software licensing model?

MySQL uses a “dual licensing” business model. Under this model, users may choose to use MySQL products under the free software/open source GNU General Public License (commonly known as the “GPL”) or under a commercial license.

With the GPL license, MySQL is available free of charge. Users may download the software for free and modify, integrate and distribute it. However, GPL users must abide by the rules of the GPL, which stipulate that if a MySQL-based application is redistributed, the complete source code for this application must also be open and available for redistribution.

MySQL AB offers a commercial license for organizations that do not want to release the source code for their application. Commercial license customers get a commercially supported product with a level of assurance from MySQL AB, without the requirement that their MySQL-based software must be “open sourced”. MySQL is able to provide a commercial license because it has full ownership of the MySQL code.

MySQL’s dual licensing increases freedom in two ways: first, it encourages the growth of free software by licensing MySQL under the GPL; second, it makes it possible to use our software in situations where the GPL is not applicable.

MySQL 的軟體授權模式為何?

MySQL 使用「雙授權條約」模式,在這個模式下,使用者可以選擇如何使用 MySQL 產品,這將決定 MySQL 是自由的 GPL 授權,或者商業授權。

在 GPL 授權下,MySQL 是自由且免費的,使用者可以免費下載 MySQL,並且可以修改它的原始碼,重新整合後再散佈。不管如何,GPL 使用者必須履行來自 GPL 授權賦加的條件,亦即規定假如一個基於 MySQL 而運作的應用程式被重新散佈,那麼這個應用程式的完整的原始碼,也必須可以被自由取得。 (譯註:此部分符合 GPL 授權條約)

MySQL AB 另外提供一個商業授權,給那些不願意開放應用程式原始碼的組織,購買商業授權的顧客可以獲得商業版的產品技術支援保證。否則的話,任何基於 MySQL 運作的軟體,都必須開放原始碼。MySQL 之所以能提供商業授權,是因為 MySQL 組織擁有 MySQL 程式碼的一切版權。

(譯註:即便是 GPL 授權的軟體,原始作者在法律上仍擁有版權,甚至專利權,軟體專利權至今仍未廢除,作者擁有當地法律上的一切著作權,相關資料可參考 GPL 授權的研究文章)。

MySQL 的「雙授權條約」模式,對雙方都有利。第一,它鼓勵自由軟體的發展;第二,它使的即便 GPL 不適用的情況下,使用我們的軟體也成為可能。

MySQL 和多數軟體一樣,是採用雙授權的方式
亦即大家印象中的「免費版」和「商業版」

授權的方式,決定在於 user 使用 MySQL 的「方法」
而非 user 自己決定要採用哪種授權

如果要簡明扼要的解釋 MySQL 「雙授權模式」是如何運作的?

簡單的說,如果應用程式本身是 GPL,MySQL 也是 GPL。

如果應用程式是商業軟體,或者自行開發,並且不想開放原始碼,則必須購買 MySQL 商業授權。

再來往下看關於「免費版」授權的部份

MySQL Open Source License (http://www.mysql.com/company/legal/licensing/opensource-license.html)

Our software is 100% GPL (General Public License); if yours is 100% GPL compliant, then you have no obligation to pay us for the licenses. This is a great opportunity for the open source community and those of you who are developing open source software.

我們的軟體是 100% GPL;假如你的(軟體)也是100% GPL 的話,你便不需要在法律上付錢給我們買授權。這對開放原始碼社群,或者像你們這樣發展開源軟體的人來說,都是一個很棒的機會。

MySQL Open Source License 其第一段明確指出:

此授權僅適用於「應用軟體」為 GPL 的情況下,否則就必須購買商業版授權。

此處的「應用軟體」,指的是需要靠 MySQL 才能運作的軟體,例如:資料庫前端系統,論壇程式…..等等

如果這些軟體,並非 GPL 授權,也就是非自由軟體 (開放原始碼,允許任意修改、散佈),便不能適用於 MySQL Open Source License。

普遍認為 MySQL 可以內建於 Linux 或者 FreeBSD 中

那麼它必定是自由軟體?

其實不然∼

第一,必須瞭解到即便是 Linux,某些 distro 內包進的套件,也不全然是自由軟體。

以 Debian 為例,它是一套非常嚴僅的 Linux distro,在它的套件中,非常刻意的去區分四大體系: main(自由軟體)、 contrib (本身是自由軟體但相依的套件不是自由軟體)、 non-free (非自由軟體)、 non-US (加密或者有專利權的軟體)。

第二,MySQL 本身是採用雙授權模式,它是 GPL 或者 商業授權,完全取決於使用者怎麼用它。

當 MySQL 被包進 Linux 或 FreeBSD 之時,它還沒開始使用,或者周邊搭配相依套件皆是 GPL 軟體,因此在這部份並無不妥。

但如果使用者加入非自由軟體,搭配 MySQL 使用,此時它的授權型態即發生轉變,必須購買商業授權。

以上為針對 MySQL 授權的研究心得結果,如有錯誤歡迎指正

當然,MySQL 並不是一家喜歡打官司的公司,即便是打官司如吃飯的微軟,對於家用盜版者也是睜一隻眼閉一隻眼。因此雖有法律實質意義存在,個人使用只能說還是道德約束為主,但企業上使用,打開門來做生意的,永續經營的,則必須重視版權問題。

2008年12月10日

【安裝】PHP5 於 Windows+IIS 安裝備忘錄

【安裝】PHP5 於 Windows+IIS 安裝備忘錄
1. PHP5 不要安裝 installer 版本,因為不容易具擴充性。將 ZIP 檔解壓縮後放入如 C:\PHP5 目錄。

2. Control Panel -> System 設定環境變數。
 1). 於 "PATH" 變數內新增 C:\PHP5
 2). 新增 "PHPRC" 環境變數,其值設定為 C:\PHP5

3. PHP的主要設定檔為 php.ini。將 C:\PHP5\php.ini-recommended Rename 為 php.ini,設定並修改儲存之。

4. IIS 內設定 PHP 最好使用 ISAPI,非 CGI。效能較好。

5. 所有額外的擴充模組位於 \PHP5\ext 內。PHP5 已將 MySQL Client 模組抽離,所以需要 enable 該 extension。

6. 主要修改 php.ini 的地方:
 extension_dir = "C:/PHP5/ext"
 extension=php_mysql.dll
 extension=php_mysqli.dll

7. 可以利用 phpinfo() 來測試 php.ini 的設定是否正確。
 (可下載該檔案儲存為 phpinfo.php 並置於 c:\Inetpub\www_root\ 下)

2008年12月4日

CentOS5 使用VNC server

請安裝 vnc 跟 vnc-server 這兩個套件

# yum install vnc
# yum install vnc-server

編輯 /etc/sysconfig/vncservers,
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
其中2,是port的最後一個數字, 如 5801, myusername指預設vnc登入的身份
請修改為預設root登入
VNCSERVERS="1:root"

設定登入的密碼
# vncpasswd
Password:
Verify:

# vi ~/.vnc/xstartup
解除註解以下兩行
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

重新啟動 VNC Server
# service vncserver restart
設定開機時啟動vncserver
#chkconfig vncserver on

# chkconfig --list | grep vncserver
vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off

# netstat -lt
你可以看到以下就表示 vnc server 已經啟動了,它監聽5801, 所以要注意防火牆要打開
tcp 0 0 *:5801

使用VNC client或者在有安裝JAVA的瀏覽器連線即可

Windows Server 2003備份bat檔

Windows Server 2003備份bat檔
最近需要在windows server 2003將所備份的檔案copy到網路磁碟NAS上然後加上星期予以區隔。
在網路爬了些文章,終於寫好了。以下就僅供記錄參考了。

set wk=%date:~10,15%
if %wk%==星期一 goto mon
if %wk%==星期二 goto tue
if %wk%==星期三 goto wed
if %wk%==星期四 goto thu
if %wk%==星期五 goto fri
if %wk%==星期六 goto sat
if %wk%==星期日 goto sun

:mon
copy d:\backup\backfile.txt Y:\backfile_mon.txt
goto finish

:tue
copy d:\backup\backfile.txt Y:\backfile_tue.txt
goto finish

:wed
copy d:\backup\backfile.txt Y:\backfile_wed.txt
goto finish

:thu
copy d:\backup\backfile.txt Y:\backfile_thu.txt
goto finish

:fri
copy d:\backup\backfile.txt Y:\backfile_fri.txt
goto finish

:sat
copy d:\backup\backfile.txt Y:\backfile_sat.txt
goto finish

:sun
copy d:\backup\backfile.txt Y:\backfile_sun.txt

:finish
pause