[ Group Service ] eGroupware 安裝與設定(四):eGroupware 篇

終於進入這個系列的最後一篇,也就是 eGroupware 本身的安裝與設定。

由於目前需要的套件都安裝完成了,接下來就是設定的問題。在安裝 eGroupware 前,有幾個地方要先設定完成。

事前準備

  1. 編輯 Apache HTTPD 設定檔
    0047
    點擊「Edit the Apache httpd.conf Configuration File」即可。
  2. 找到
    <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs“>
        Options Indexes FollowSymLinks
    修改為
        Options FollowSymLinks

    其中綠色字的部份,根據 Apache HTTPD 安裝路徑的不同,會有所改變。

  3. 找到

        DirectoryIndex index.html
    修改為
        DirectoryIndex index.html index.php

  4. 儲存後,重新啟動 Apache HTTPD 服務。
  5. 先確定伺服器有接上網際網路,之後開啟一個命令提示字元(CMD),在命令提示字元中,切換路徑到 C:Program FilesPHP(如果有修改 PHP 的安裝路徑,請切換到自行定義的安裝路徑),執行

    pear install Auth_SASL
    pear install XML_Feed_Parser

    安裝 Auth_SASL 與 XML_Feed_Paser 套件。

  6. 修改 php.ini
  7. 找到
    upload_max_filesize = 2M
    修改為
    upload_max_filesize = 8M

    此處修改的意義為:允許一次上傳的檔案的長度限制。eGroupware 的需求是「一次上傳行為中,至少需允許 8M 的檔案長度」。可以增加檔案長度,但是不得小於 8M。

  8. 找到
    ;mbstring.func_overload = 0
    修改為
    mbstring.func_overload = 7

    以支援 UTF-8。

  9. 啟動 MySQL Command Line Client
    0060
  10. 輸入 root 的密碼後,執行以下指令:

    create database egroupware;

    0061

    以上指令,用來建立資料庫。建立完畢後,使用指令 exit 離開與關閉 MySQL Command Line Client。

以上為準備動作,準備完畢後,就要開始進入安裝 eGroupware 與設定了。

  1. 本文撰寫時,eGroupware 提供的版本為 1.6.001。
  2. http://sourceforge.net/project/showfiles.php?group_id=78745 頁面,點擊 egroupware 列最右側欄位的 Download 進入下載頁面。
  3. 下載 eGroupware-1.6.001.zip 與 eGroupware-eqw-pear-1.6.001.zip。這兩個檔案是運行 eGroupware 至少需要的兩個壓縮檔。
  4. 將 eGroupware-1.6.001.zip 解開,會得到一個 egroupware 的目錄。

    將 eGroupware-eqw-pear-1.6.001.zip 解開,也會得到一個 egroupware 的目錄。

    將兩個目錄的內容都拷貝到 Apache HTTPD 預設的文件根目錄。如果安裝路徑是預設值的話,則文件根目錄為 C:/Program Files/Apache Software Foundation/Apache2.2/htdocs。

  5. 開啟一個瀏覽器,瀏覽 http://本伺服器名稱/。

    例如,在本系列文章中,安裝對象伺服器名為 egroupware.local,則在本步驟,就是開啟一個瀏覽器,瀏覽 http://egroupware.local/。

  6. 此時瀏覽器會出現 eGroupware 的主畫面
    0051
    在 Please Select your language 的下拉式選單中,可以選擇繁體中文

    0052
    選擇完畢後,介面就可以變成繁體中文了。

    0053

  7. 點擊「執行安裝測試」
  8. 進行步驟七後,頁面會切換到安裝測試頁面。正常來說,只會出現以下警訊:
    0054
    其中:
    pqsql 與 pdo_pqsql 是存取 PostgresSQL 資料庫需要的套件
    mssql 與 pdo_dblib 是存取 MSSQL 資料庫需要的套件
    oci8 與 pdo_oci 是存取 Oracle 資料庫需要的套件
    由於本範例中採取 MySQL 為資料庫,因此無須安裝這些套件,所以會有警訊,但是可忽略。如果決定採取以上三種資料庫的其中一種,請安裝對應需求套件。

    除了上圖的警訊之外,安裝測試其他項目皆為綠色。

  9. 拉到頁面最下方,點擊「繼續頁首管理
    0055
  10. 進入頁首管理畫面,首先看到的是
    0056
    完成下面的設定後,就可以建立 header.inc.php。
  11. 在「設定」段落
    0057

    根目錄:請勿變更此欄的內容
    帳號:預設值為 admin,如果有需要,可以在這裡變更頁首管理員的帳號名稱。
    密碼:請輸入頁首管理者的密碼。
    存取限定:如果接下來的安裝設定僅限某些網段存取,可以在這個欄位輸入可存取的 IP 或是網域。
    持續連線:持續連線的意義就是,當使用者的瀏覽器登入 eGroupware 後,伺服器端會保持這個連線,而不會在連線建立後一定時間內中斷連線。但是由於連線一直處於建立狀態,因此會多消耗系統資源來維護連線。
    Sessions Handler:要使用哪一種 Session Handler。接受預設選項即可。
    啟用 MCrypt:這應該是一種編碼設定,預設值為「否」,如果想要試試看,可以將選項選為「是」
    MCrypt 組態依據:MCrypt 編碼需要的種子。已經隨機產生,因此無須更動。
    登入網域選取方塊:其意義如同右側的文字說明一般。

  12. 在「資料庫實例」段落
    0058

    資料庫種類
    :在這邊選擇使用的資料庫類型。
    資料庫位置:在這個欄位輸入「連結到資料庫的位址」。
    資料庫連接埠:根據資料庫設定不同,請輸入正確的連接埠號。
    資料庫名稱:在此輸入 eGroupware 可使用的資料庫名稱。在此範例中,安裝與設定 eGroupware 前,已經建立了一個名為 egroupware 的資料庫,因此,就在此欄位填入 egroupware。
    資料庫使用者名稱:在這個欄位填入可以存取在資料庫名稱指定的資料庫的帳號。在本範例中,為求簡便,因此直接使用最高權限的 root 來存取。現實應用環境中,請不用使用高權限帳號來存取資料庫。為了安全性考量,請獨立建立一組帳號,該組帳號僅能針對特定資料庫賦予特定權限,然後於程式設定中,使用該組建立的帳號來存取指定資料庫。
    設定管理員:在這個欄位輸入用來管理 eGroupware 設定的管理員帳號。通常與「設定」段落的頁首管理員同一組帳號。
    組態管理密碼:如果設定管理員頁首管理員分屬不同帳號,請在此欄位輸入設定管理員的密碼。
  13. 兩個段落都設定完畢後,按下「寫入」按鈕,可得到以下畫面
    0059
    按下「繼續」按鈕,繼續設定。
  14. 在步驟十三中,按下「繼續」按鈕後,會來到此畫面
    0062

    在「安裝/設定管理員登入」處,使用步驟十二設定的設定管理員帳號與密碼登入。

  15. 安裝網域步驟一
    0063

    確定「使用的字元編碼」為 UTF-8,將「啟用附加的除錯訊息」打勾,按下「安裝」按鈕。

  16. 由於剛剛有將「啟用附加的除錯訊息」啟用,因此接下來網頁上會出現安裝應用程式所執行的腳本內容。按下 [End] 跳到網頁最末端。
    0065

    按下「再次確認軟體安裝」按鈕。

  17. 安裝網域步驟二
    0066

    現在可以看到步驟一已經完成。

    接下來按下「編輯目前的組態設定」來完成步驟二。

  18. 路徑資訊的部份:
    0067

    第一個 Where should eGroupware store file content 的下拉式選單,雖然可以選擇 Database,但是也有警告,如果要將檔案存放於資料庫中,則不得大於 1MB。因此請接受 Filesystem (default)*。

    除了紅框與藍框的欄位外,都已經預先選擇或填好內容,因此這部份使用預設值,如有必要,根據需求修改。

    在紅框的方面,由於 eGroupware 有檔案管理功能,在這個畫面可以看出來,使用者的檔案存放於 c:Program Filesdefaultfiles 這個目錄中,也有可能存放於某一個網路空間中。紅框設定的內容,就是「擁有存放路徑足夠存取權限的帳號」。

    在藍框方面,請輸入使用者可以連接到 eGroupware 的網址,但是末端不要加上斜線(亦即 / )。以本範例來說,使用者連接到 eGroupware 的網址為 http://egroupware.local/,則藍框的內容就為 http://egroupware.local

  19. 在主機資訊的部份
    0068

    如果環境中有符合各個欄位敘述的各種伺服器,可以根據需求填入。

  20. 在郵件伺服器方面
    0069

    請根據需求,填入各欄位對應的資訊。值得注意的是,雖然安裝過程中,有安裝 POP3 套件,但是在此處,eGroupware 存取遠端郵件伺服器的通訊協定,卻僅提供 IMAP 與 IMAPS,而不提供 POP3。由於沒有花更多時間去深入研究,因此目前還不知道問題出在哪裡。

  21. 在認證/帳號部份,由於採取預設的,將使用者帳號資訊儲存於 SQL 資料庫中,因此這部份無須設定。關於其他的帳號存取或驗證方式的搭配,並不在這次的撰寫範圍內。
  22. 其他部份也都維持預設值即可。

    按下「繼續」後,
    0071

    點擊「儲存」,回到安裝網域步驟畫面。

  23. 安裝網域步驟三
    0072

    點擊「建立管理帳號」

  24. 在建立管理帳號的部份
    0073

    這裡的管理帳號,是指 eGroupware 應用網域的管理帳號。設定上,可以跟頁首管理員與設定管理員同一組帳號,或是個別設定。設定完成後,按下「儲存」。

  25. 安裝網域完成
    0074
  26. 此時可以點下「登出」,然後連接到 eGroupware 的首頁,開始使用 eGroupware。

[ Group Service ] eGroupware 安裝與設定(三):MySQL 篇

裝好了 Apache HTTPD 與 PHP 後,接下來,由於 eGroupware 運作上需要資料庫的配合,因此選擇了免費的 MySQL 來作為後端資料庫。

eGroupware 支援 MySQL,PostgreSQL,MSSQL 與 OracleSQL,選擇自己需要的資料庫來搭配。在前一篇安裝 PHP 時,有安裝了支援 MySQL 的 extension 與 PDO extension(在 Extensions 的 PDA 子目錄下)。如果選擇的資料是其他三種,在安裝 PHP 時請安裝對應的 extension。

  1. http://dev.mysql.com/downloads/ 選擇下載 MySQL Community Server。製作此篇文章時,提供下載的是 v5.1。
  2. 雙擊下載的安裝檔案,開始安裝程序。
  3. 首先看到的是歡迎畫面,按 [Next] 繼續。
    0025
  4. 接下來要選擇安裝類型,基本上選擇 Typical 即可。如果想安裝所有套件(包含開發用套件),選擇 Complete。如果想手動選擇套件,選擇 Custom。選擇完畢後,按 [Next] 繼續。
    0026
  5. 在步驟四,如果選擇了 Custom,就會看到下面這個畫面。
    0027
    在這邊手動選擇要安裝的套件後,按 [Next] 繼續。
  6. 在步驟四選擇了 Typical 或 Complete 按下 [Next] 後,或是在步驟五選擇要安裝的套件後按下 [Next] 後,都會來到「準備安裝」畫面。按下 [Install] 進行安裝。
    0028
  7. 請耐心等待安裝程序完成。
  8. 安裝程序結束後,會出現兩個 MySQL Enterprise 的廣告。
    0030
    0031
    兩個廣告都按 [Next] 跳過即可。
  9. 安裝結束後,出現安裝完成畫面。預設上 Configure the MySQL Server now 是打勾的,除非安裝完成的時候還不想設定 MySQL 伺服器,否則請維持預設值。按下 [Finish] 結束安裝。
    0032
  10. 在步驟九中,由於 Configure the MySQL Server now 是打勾的,在按下 [Finish] 後,設定精靈會自動啟動。
    0033
    按 [Next] 繼續。
  11. 現在,要選擇接下來的設定流程。
    0034
    有兩種設定流程。

    Detailed Configuration:建議選擇這個流程。設定精靈會帶領安裝者進行大部分需要的設定。

    Standard Configuration:這個流程將為使用預設的設定,很少跟安裝者互動,安裝者必須自己手動調整各項設定。

    請選擇 Detailed Configuration,然後按 [Next] 繼續。

  12. 接下來要選擇伺服器服務模式
    0035
    有三種服務模式。

    Developer Machine:如果 MySQL 是被安裝在一台開發用的機器上,這台機器上同時執行了許多其他的程式,那就選擇這個服務模式。MySQL 將會使用最低限度的記憶體來維持運行。

    Server Machine:如果 MySQL 是被安裝在一台伺服器上面,就選擇這個服務模式。例如說,MySQL 被安裝在網頁或應用伺服器上。選擇這個服務模式,MySQL 會使用中等的記憶體來提供較好的服務品質。

    Dedicated MySQL Server Machine:如果這台伺服器就是作為專職的資料庫伺服器,上面運行著 MySQL 提供服務的話,請選這個服務模式。在這個服務模式下,MySQL 將會使用所有的記憶體,提供最佳的服務品質。

    在本篇的環境中,網頁伺服器,應用伺服器與資料庫伺服器是安裝在一起的,因此請選擇 Server Machine。選擇完畢後,按 [Next] 繼續。

  13. 接下來選擇資料庫類型
    0036
    有三種資料庫類型可供選擇。

    Multifunctional Database:一般常被應用於各種環境的資料庫類型,資料庫同時提供多種不同需求的應用程式存取。如果選擇這個功能,則會使用高速交易 InnoDB 儲存引擎以及高速 MyISAM 儲存引擎。

    Transactional Database Only:專門為了應用伺服器與交易網頁程式而設置的資料庫。如果這個資料庫是用來作為交易資料儲存與應用的用途的話,就可以選擇這個類型。選擇這個類型,將會以 InnoDB 為主要的儲存引擎。(附註:MyISAM 引擎依然還是會被使用)。

    Non-Transcational Database Only:如果資料庫只是用來儲存 log 或是一些分析用資訊,則可以選擇這個類型。選擇這個類型的話,則僅僅以非可交易 MyISAM 引擎作為儲存引擎。

    在 eGroupware 的應用環境,請選擇 Multifunctional Database。選擇完畢後,按 [Next] 繼續。

  14. 接下來,要選擇資料庫檔案放置的路徑。
    0037

    預設上,資料庫檔案會被放置於安裝路徑中。如果有需要,請選擇不同的磁碟機或是不同路徑來儲存資料庫檔案。選擇完畢後,按 [Next] 繼續。

  15. 接下來,要來設定同時連接到資料庫的連接數(number of concurrent connections)
    0039

    如果同時連接數約二十個左右(或以下),可以選擇 DSS/OLAP。如果同時連接數會高達 500 個,可以選擇 OLTP。或者是選擇 Manual Setting,手動輸入同時連接數。

    在本篇中,使用 DSS/OLAP。選擇完畢後,按 [Next] 繼續。

  16. 接下來,設定網路選項
    0040

    Enable TCP/IP Networking:請務必勾選這個選項,讓 TCP/IP 功能啟動。Port 3306 是 MySQL 預設的聆聽埠號,除非有特殊需求,否則請不要變更聆聽埠號。如果環境中有開啟防火牆,則可以將 Add firewall exception for this port 打勾,讓設定精靈主動去設置開放 Port 3306 的防火牆規則。

    Enable Strict Mode:安裝精靈建議啟動本選項,請勾選本選項。

    設定完畢後,按 [Next] 繼續。

  17. 接下來要設定預設的字元集(character set)
    0041

    根據 eGroupware 的需求,要應用在中文環境中,character set 必須為 UTF8。因此可以選擇 Best Support For Multilingualism,就會以 UTF8 為預設字元集,或是選擇 Manual Selected Default Character Set / Collection,並且將 Character Set 選定為 utf8。

    設定完成後,按 [Next] 繼續。

  18. 接下來要設定 Windows 選項
    0042

    如果要將 MySQL 設定為一個 Windows 服務,將 Install As Windows Service 打勾,然後在 Service Name 處選定希望的服務名稱。如果希望開機的時候就啟動 MySQL,則將 Launch the MySQL Server automatically 打勾。

    為了管理上的方便,建議將 Include Bin Directory in Windows PATH 打勾,如此一來,就會將 MySQL 執行檔的路徑附加到 PATH 環境變數,方便使用 CMD 進行操作。

    設定完成後,按 [Next] 繼續。

  19. 接下來,要替 root 帳號設定密碼。
    0043

    root 是 MySQL 資料庫剛創建好的時候,唯一擁有最高權限的帳號。

    Modify Security Settings 打勾,然後在 New root password 輸入 root 的密碼,然後在 Confirm 再次輸入相同的密碼。如果有從遠端登入 root 帳號的需求,將 Enable root access from remote machines 打勾(建議打勾)

    如果有需要提供一組帳號給其他程式或人員,僅供查詢資料庫資料的需求,可以將 Create An Anonymous Account 打勾,就會創建出一組僅供查詢的帳號。但是這可能會導致安全性上面的疑慮,因此不建議打勾,而是另外自行創建帳號。

    設定完成後,按 [Next] 繼續。

  20. 接下來,是一個提示畫面,表示一切就緒,可以開始創建與初始化資料庫了。這時候如果還需要修改任何設定,可以按 [Back] 回去修改,或是按  [Excute] 開始程序。
    0044
  21. 創建與初始化程序執行過程中,如果在步驟十六有將 Add firewall exception for this port 打勾,可是系統本身沒有啟動防火牆的話,會出現以下錯誤訊息
    0045
    此時按下 [OK] 即可,無須做其他處理。
  22. 程序完成後,會出現以下畫面。按下 [Finish] 結束程序。
    0046
  23. MySQL 安裝與設定完畢。

[ Group Service ] eGroupware 安裝與設定(二):PHP 篇

安裝好了 Apache HTTPD 後,接下來,要來安裝 PHP 了。

  1. 首先,到 http://www.php.net/downloads.php 下載 PHP for Windows,由於 eGroupware 要求的 PHP 版本為 5.2 以上,而本篇撰寫時間,PHP 所提供的為 5.2.6,請勿下載低於 eGroupware 要求的版本。
  2. 如果下載的是 Installer,副檔名應為 msi。請雙擊該 msi 進行安裝。
  3. 首先看到的是歡迎畫面,按 [Next] 繼續
    0013
  4. 接下來是版權宣告畫面
    0014

    確定 “I accept the terms in the License Agreement” 打勾後,按 [Next] 繼續。

  5. 接下來,決定安裝路徑
    0015

    如果沒有特殊需求,接受預設值即可。如果要自行變換安裝路徑,請按 [Browse] 選擇新的安裝路徑。選擇好後,按 [Next] 繼續。

  6. 接下來,要選擇搭配的網頁伺服器軟體的種類
    0016

    由於本次環境所選擇的是 Apache HTTPD 2.2.10,因此在這裡,請點選 Apache 2.2.x Module。

    請根據現實環境選擇,不可選錯,否則將導致 PHP 無法運行。

  7. 接下來是選擇 Apache HTTPD 設定檔路徑的畫面
    0017

    由於 Apache HTTPD 預設放置設定檔的位置並非安裝程式所預設的位置,因此要手動指向。

    請先點選 [Browse…],然後出現以下畫面
    0018
    從 Look in 處去選擇路徑。

    Apache HTTPD 預設設定檔放置路徑為:
    C:Program FilesApache Software FoundationApache2.2conf請根據現實條件選擇。

    選擇完畢後,按 [OK] 回到上一個畫面,然後按 [Next] 繼續。

  8. 接下來,要選擇安裝的內容
    0020

    為了使 eGroupware 運作,至少需安裝以下內容:

    Extensions:
     GD2
     IMAP
     Multi-Byte String
     MySQL
     PDO
      MySQL
      ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
      User
     POP3
     SMTP

    Extras
     PEAR Install

    注意:請勿安裝所有 extension!!目前已知 SAM extension 會引起作業問題。

    選擇好要安裝的內容後,按 [Next] 繼續。

  9. 接下來是準備好安裝的畫面,請按下 [Install] 開始安裝。
    0022
  10. 請耐心等待安裝程序結束。
  11. 安裝程序結束後,會出現以下畫面,按 [Finish] 結束安裝程式。
    0024
  12. 接下來,請以 Administrator 身份,開啟一個命令提示字元(CMD)。
  13. 在命令提示字元畫面中,切換到 PHP 的安裝路徑。預設是 C:Program FilesPHP
  14. 執行 go-pear.bat。然後按照畫面的問題提示回答,來安裝 PEAR。

    整個過程可以一直按 [Enter] 接受預設值即可。

    0049

  15. 安裝完成後,可關閉命令提示字元。
  16. 用檔案總管,瀏覽 PHP 安裝目錄,找到 PEAR_ENV.reg,雙擊 PEAR_ENV.reg,會出現以下畫面
    0050
    點擊 [是] 匯入機碼。
  17. 安裝完畢。

[ Group Service ] eGroupware 安裝與設定(一):Apache HTTPD 篇

日前朋友 Jerry 來訊,請我協助將 eGroupware 安裝於 Windows Server 2003 上,搭配的網頁伺服器是 Aapche HTTPD。這也讓我發現了一套免費的 groupware。

本系列將按照「Apache HTTPD」,「PHP」,「MySQL」與「eGroupware」四個部份,來講解如何安裝與設定,最低限度為「讓 eGroupware 提供服務」。
安裝環境:

  • Microsoft Windows 2003 Server Standard Edition with SP2 繁體中文版
  • 設定角色:AD,DNS,DHCP,SMTP,POP3
  1. http://httpd.apache.org/download.cgi 下載 Apache HTTPD for Windows,本篇所使用的版本是 2.2.10,下載的檔案類型為 msi。
  2. 雙擊該 msi,開始進行安裝。
  3. 首先看到歡迎畫面,按 [Next] 繼續。
    0003
  4. 接下來是版權宣告畫面,按 [Next] 繼續。
    0004
  5. 接下來是「請先閱讀」畫面,按 [Next] 繼續。
    0005
  6. 接下來是伺服器資訊設定畫面。
    0006
    以上的欄位,請根據現實條件來設定:

    Network Domain:這裡輸入的是,你的網頁伺服器要提供服務的 domain name。例如說,如果網頁伺服器的 FQDN(Full Qualifed Domain Name,完整網域名稱)是 www.example.com,則這個欄位填入的就是 example.com。

    Server Name:這裡輸入的就是網頁伺服器提供服務的 FQDN 了。

    Administrator’s Email Address:請輸入一組,當網頁伺服器有問題的時候,錯誤網頁上所標示,可以供其他使用者通知管理員用的電子郵件帳號。

    下面兩個圓鈕選項,是讓人選擇,預設上 Apache HTTPD 要「聆聽」哪一個埠號。HTTP 標準聆聽埠號是 80,因此如圖片一般選擇即可。另外一個選擇則是埠號 8080,有特別需求才選這個。當然,埠號是可以事後修改的。

    設定完成後,按 [Next] 繼續。

  7. 接下來選擇安裝型態
    0007
    以上的選項,請根據需求來選擇:

    Typical:將會安裝預設選定好的套件。如果沒有特殊需求,可以選擇這一個。

    Custom:選擇這個選項後,接下來將會進入套件選擇畫面。如果想要自己選擇安裝的套件,可以選擇這一個。

    選擇好後,按 [Next] 繼續。

  8. 如果在步驟七選擇了 Custom,則接下來會看到這個畫面
    0008

    可以在這邊根據需求調整要安裝的套件。調整完畢後,按 [Next] 繼續。

  9. 在步驟七選擇 Typical 後按 [Next],或是在步驟八調整好套件後按 [Next],接下來都會來到這個畫面:
    0010

    按下 [Install] 開始安裝。

  10. 接下來請耐心等候安裝程序完成。
  11. 安裝完成後,會出現以下畫面
    0012

    按下 [Finish] 即可結束 Apache HTTPD 的安裝。

  12. Apache HTTPD 安裝完成後,就會自動啟動。在系統匣處,會出現一個羽毛的圖像,可以將滑鼠游標移至該圖像上,對 Apache HTTPD daemon 進行操作。