2011年11月19日 星期六

Apache/PHP/MySQL/SFS3 安裝

寫在前面

這篇文章是最近想參考SFS3來製作以Visual Studio環境開發的學務管理系統

(SFS3 是一個行之有年的系統,許多學校在使用的學務管理系統)

借鏡SFS3中「模組化」的概念,以及週全的資料庫設計

開發一個完全相容MS WINDOWS環境的 IIS/ASP.NET/MS SQL 的學務管理系統

也想結合我這幾年來累積的行政經驗和目前正在從事的導師工作

一個WEB 2.0的系統、一個使用者導向的系統、一個導師、行政都用得開心的系統

能不能成功…不知道,我已經說這件事很久了

但我衷心期盼這件事能成功而且推廣出去 (背後原因很多,不贅述)

這篇只是把Apache/PHP/MySQL/SFS3安裝的方式整理一下…

以下的安裝環境是 Windows Server 2008 (32位元)

 

Apache的下載、安裝與設定

下載位置:Apache 2.2.11 Released
官方網站:http://www.apache.org/
安裝方式:滑鼠左鍵一直點下去就是了,不過有以下幾個注意處

安裝後的SERVER要用80port還是8080port,如果你還有安裝其他的WEB FORM,那可能已經佔用80port,這版的Apache封裝時有想到這點,貼心。如果你已經安裝IIS的話,記住選「only for the Current User , on Port 8080…),以後管理伺服器時就要在管理網頁的網址後自已加「:8080」取代預設的80埠
image

安裝預設路徑在C:\Program Files\Apache Software Foundation\Apache2.2裡,不要安裝後又找不到主程式,同時我們也可以知道一台機器上,是可以同時裝不同版本的Apache的(為什麼同時要裝這麼多?因為要測試新版兼容性。)
image

打開根目錄底下(C:\Program Files\Apache Software Foundation\Apache2.2)的「conf」資料夾,以記事本開啟httpd.conf這個檔案,修改以下內容:

◎找到「#LoadModule rewrite_module modules/mod_rewrite.so」,拿掉前面的#以啟用,這個和動態網頁短檔名有關。
image

◎另外配合動態網頁短檔名的設定,還要修改以下
找到「Options FollowSymLinks」把後面四行的內容改成
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all

◎找到DocumentRoot,這裡可以修改網頁存放路徑,預設的路徑在C:/Program Files/Apache Software  Foundation/Apache2.2/htdocs
image

◎尋找「DirectoryIndex」,加入「index.php」、「index.htm」,讓Apache認識這兩種首頁(用空格區隔)。
image

以上設定完成後,服務還沒被安裝完畢(No Service Install),要開啟伺服器還需手動執行安裝服務,方式如下:
Step.1 按開始->執行->輸入cmd
Step.2 輸入cd C:\Program Files\Apache Software Foundation\Apache2.2\bin
Step.3 輸入httpd.exe -k install -n apache2 *添加apache2的服務
Step.4 輸入net start apache2 *啟動apache
image

第一次啟動麻煩點,以後會在常駐視窗有控制台讓你執行/暫停/停止
image

並在瀏覽器鍵入 127.0.0.1:8080,如果出現「It works!」表示伺服器安裝環境無誤
image


PHP 的下載、安裝與設定

下載位置:PHP 5.2.9-2
官方網站:http://www.php.net/
安裝方式:也是滑鼠左鍵一直點下去就是了,不過有以下幾個注意處

預設的安裝路徑是C:\Programe Files\PHP\
image

選擇想要設定的Web伺服器,我們的伺服器用的是Apache 2.2.x
image

選擇包含Apache Configuration Files 的位置,這裡選Apache安裝目錄下的「conf」資料夾
image

上張圖的用途,其實只是在httpd.conf這個檔案(Apache下conf資料夾)寫入下面的參數
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/Program Files/PHP/"
LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL


MySQL 的下載、安裝及設定

下載位置:MySQL5.0.81
官方網站:http://dev.mysql.com/
安裝方式:也是一直滑鼠左鍵裝下去,以下幾個注意處

安裝預設路徑是 C:\Program Files\MySQL\MySQL\MySQL Server 5.0\image


小小總結(重要):

如果你已經熟悉上方Apache/PHP/MySQL的個別方式,其實已經有人把這三個免費自由軟體給打包好了,寫上面那些只是要熟悉一下幾個概念:
●這三個自由軟體,是各自開發的…所以三者間的配合度和版本很有關係。
●網路上有很多人發佈打包版,不過大多數的使用者會選擇AppServ,整合打包版的好處當然是「一次下載」「一次安裝」「配置基本的參數設定」,但AppServ除了這二個便利性外,是他還有附上管理介面。總結的部分我把安裝AppServ的方式說明如下,如果你熟悉了上面的安裝和設定方式,下邊介紹的就不難了。

這是官方網頁,注意發佈的整合包都有說明包裡的程式和版本別。如 AppServ 2.5.10 和 AppServ 2.6.0 的主要差別在PHP一個是5.x一個是6.x…這二個版號內容差別很大,所以你的網頁是用什麼語言寫的就得用相應的AppServ
image

AppServ 的下載、安裝與設定:

下載位置:appserv 2.5.10
官方網站:www.appservnetwork.com/
安裝方式:一直滑鼠左鍵吧,注意以下內容

之前三個獨立安裝程式,裝的時候都有自已預設的路徑,現在統一都放在 C:\AppServ這個資料夾裡頭了。
image

這裡是選擇要安裝哪些軟體,除了Apache/PHP/MySQL,AppServ 讓人稱道的就是附有phpMyAdmin 的管理介面。
image

這裡的設定和PHP、Apache有關,SERVER NAME如果沒有的話,可以先輸入localhost ,注意最後一個設定還是有很貼心的連接埠設定
image

前面我在單獨MySQL 的安裝過程裡其實沒把設定方式寫完,像AppServ裡也附了簡易的MySQL 設定,這裡要設好密碼(帳號還是大家熟悉的root啦)
image

按下開始安裝後,你的螢幕會閃一下cmd的畫面,知道他在幹嘛了吧
現在我們看一下Apache的控制台,果然多出現了一個Apache2.2了。
image

測試一下,在網址上輸入「127.0.0.1:8080」,出現了,phpMyAdmin 的管理介面,同時管理Apache/PHP/MySQL三者的程式appserv,管理介面為web
image

測試一下上圖的二個連結

也許你會想說dnowba為什麼不要直接說怎麼一次安裝,我想面對所有的打包軟體我們都要有一個概念,就是這些軟體各自在運行的東西有哪一些,這樣才會方便日後的維護和升級,如果你想要安裝Appserv的話,可以先把那些單獨安裝的東西刪掉避免搞混 (移除後目錄還是會被保留著,記得手動刪除)。


SFS 的下載、安裝及設定

最後是SFS 學務管理系統 的安裝方式了,記住SFS 是一個WEB FORM 所以我們要做二件事情就是把所需的資料表載入MySQL資料庫裡,然後把Form的部分放到伺服器Apache裡放php網頁資料的目錄中就可以了,當然人家還是有做好封裝版本的

下載位然:SFS 3
官方網頁:http://www.sfs.project.edu.tw/
安裝方式:如下

將下載的檔案解壓縮,放入Appserv 放網頁的資料夾中(預設是 /appserv/www),所以該目錄下會多個sfs3_stable的資料夾,把這個資料夾改名為sfs3
image

在瀏覽器中鍵入 http://127.0.0.1:8080/sfs3/install.php
如果出現以下畫面,原因出在該資料夾存取權限不足,我們要在sfs3根目錄下找到include資料夾,建一個名稱為config.php的空白檔案,然後在執行 chmod 666 config.php…不過dnowba很懶,反正是測試,所以是直接把整個根目錄變成所有人都可完全執行…
image

接下來出現一些檔案路徑自訂的設定畫面
image

sfs3還蠻貼心的,繼續下去哪些基本設定要做也寫好了,以下把它紀錄一下…

    1. 修改include/config.php的權限成唯讀,確保您系統不會被竄改,方法如下: 在sfs3的根目錄下,鍵入以下指令:
      chmod 644 include/config.php
    2. 移除 install.php,方法如下: 在sfs3的根目錄下,鍵入以下指令:
      rm -f install.php
    3. 建立上傳目錄「C:/AppServ/www/sfs3/data/」,方法如下:
      mkdir C:/AppServ/www/sfs3/data/
    4. 修改上傳目錄「C:/AppServ/www/sfs3/data/」權限為777,方法如下:chmod 777 C:/AppServ/www/sfs3/data/
    5. 在apache 在設定檔 httpd.conf 中加入底下資料,(WIN32 在IIS管理員中設定)。注意目錄結尾要有 /
      Alias /upfiles/ 'C:/AppServ/www/sfs3/data/'
      <Directory 'C:/AppServ/www/sfs3/data/'>
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
      </Directory>
    6. 之後,請重新啟 apache,方法如下:
      執行 service httpd restart
      或執行 /etc/rc.d/init.d/httpd restart

image

再來是做學校、教師、學生的資料設定
學校基本設定頁:http://127.0.0.1:8080/sfs3/modules/school_setup/ (只要設定一次)
學期初設定:http://127.0.0.1:8080/sfs3/modules/every_year_setup/class_year_setup.php
(每一個學期都要設定)
教師設定:http://127.0.0.1:8080/sfs3/modules/teach_class/teach_list.php
匯入教師或學生資料:http://127.0.0.1:8080/sfs3/modules/create_data/mstudent2.php

重開啟一次,還是有錯
image

是安全性設定的問題,把c:\windows底下的php.ini裡,register_globals=on改成off,重開APPACHE就ok了
image

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...
// Dnow Function