前言
就BUG管理而言,國內的禪道做得很不錯,而且持續有更新。我們來看看如何從頭到尾安裝禪道,各位要注意的是,不是文章深或者淺,而是文章如何在遇到問題的時候,從什么途徑和用什么方法解決問題的。現在發覺,很多剛出來的程序猿啊,缺少的就是解決問題的思路!
首先,登錄禪道的官網,找到下載地址:http://www.zentao.net/dynamic/79905.html。 我這里下載的是“禪道項目管理軟件源碼”
觀察了下源碼,是php開發的,當然配置apache+php比較好。以前也用過一些bug軟件如BugTracker.NET,部署在IIS下,非常的不穩定,IIS老是掛掉,而且人數也有一些限制,所以如果對IIS等windows下的環境不是非常了解,還是搞lamp最省事,又穩定。
下載Apache
接着是下載apache,登錄apache官網,在左邊找到"Download!"鏈接,下載其中的2.4穩定版。
點擊下載按鈕,跳轉到下面的鏈接中
因為是windows Server2008,因此果斷選擇二進制版本(Binarries)
進入下載鏈接之后,只見一堆的雞腸,果斷瞄准其中的win32鏈接
進來后看了半天,還是沒有實際的地址,仔細把雞腸讀了一下,發現apache官網不提供編譯好的二進制版本下載,只能從其他網站下載……真他媽的糾結,不提供,你說什么mirror?
隨便選了個進行下載。
直接點擊下載按鈕,彈出Chrome下載,因為是外國資源,因此下載速度較慢,果斷的切換為迅雷下載,因為有其他相應的資源提供,迅雷下載達到2M/s,這個時候迅雷果然發揮了其作用。
安裝Apache
把壓縮包進行解壓,得到如下文件:
怎么安裝為服務呢?這個時候需要一點命令行的知識
httpd.exe /? 查看幫助命令
httpd.exe -k install -n "servicename" 安裝服務
httpd.exe -k uninstall -n "Apache24 卸載
當然,這么簡單的步驟,是難不倒我們程序猿的
我們可以打開服務管理器看看我們的成果:
配置Apache
我們嘗試啟動apache服務看看,結果發現,啟動不了
這種情況,把事件管理器打開,看看什么問題是最快的,但是,憑着經驗,我認為應該是端口占用的問題,因為我的電腦開啟了IIS,占用了80端口。我們看看其配置
看到了吧,尼瑪,以前apache不是默認8080的嗎,怎么現在想和iis等web服務器競爭了?
再次打開,還是不行,只能查看事件日志了。
原來是沒有改ServerRoot,把ServerRoot指向當前Apache的物理地址,注意其中使用反斜杠。
Define SRVROOT "D:/software/httpd-2.4.16-x64/Apache24"
ServerRoot "D:/software/httpd-2.4.16-x64/Apache24"
同時需要把DocumentRoot
也改一下
DocumentRoot "D:/software/httpd-2.4.16-x64/Apache24/htdocs"
<Directory "D:/software/httpd-2.4.16-x64/Apache24/htdocs">
這時再次啟動,發現還有問題
顯示是443端口被占用,無法啟動,那么我們看看哪個程序被占用,在命令行下執行命令:netstat -ano
原來我們的SVNServer也用了443端口(https)。我們查看配置,查詢ssl,找到下面的配置:
<IfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
根據上述的配置,我們找到ssl的配置文件,我們把端口更改為9443:
#
# When we also provide SSL we have to listen to the
# standard HTTP port (see above) and to the HTTPS port
#
# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
# Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
#
Listen 9443
再次啟動,還是有問題,我們發現Extra下還有個文件:httpd-ahssl.conf
,把啟動監聽部分修改掉:
Listen 9443 https
這次果然成功啟動,看見綠色就是精神爽啊!
打開默認的網頁,可以看到apache的介紹了:
設置Apache的默認頁
因為我們需要訪問的是index.php這個默認的首頁,因此需要在配置文件中增加對應的配置:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
下載PHP
首先到官網的下載頁面看看,點擊其中的Windows Download
這兩個版本什么區別,我也不是很清楚,還是先搞個線程安全的吧,聽起來也安全點,畢竟線程不安全的,都是要自己調配甚至要寫程序控制的。還是果斷轉迅雷下載,秒下!
下載后解壓到任意一個文件夾。
配置Apache對php的支持
打開httpd.conf,在文件的最后增加下述內容:
LoadModule php5_module "D:/software/php-5.6.12-Win32-VC11-x64/php5apache2_4.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/software/php-5.6.12-Win32-VC11-x64/"
重啟Apache,發現啟動不了,繼續查看問題:
仔細查看了配置,發現並沒有錯,上網一查,說要下載個vc11的庫,然后一看php的文件,果然是文件名都帶有vc11的字樣。找到官網:Visual C++ Redistributable for Visual Studio 2012 Update 4,選擇中文下載:
下載下來之后安裝:
再次啟動Apache,這個時候成功了。
測試php是否安裝成功
在apache下的httpdoc目錄中新增一個info.php的文件,內容為:<?php phpinfo(); ?>
。在瀏覽器中訪問,出行下述界面,即安裝成功!
配置php對mysql的支持
把php.ini-production
復制一份,改名為php.ini
在php.ini中去掉以下注釋:
extension=php_mysql.dll
extension=php_mysqli.dll
安裝禪道
解壓下載的禪道到指定目錄,然后我們在apahce中增加一個虛擬目錄,根據網上給的方法進行配置:
##zentao
Alias /test "D:/zentaopms/www"
<Directory "D:/zentaopms/www">
Options Indexes MultiViews
AllowOverride None
order allow,deny
Allow from all
</Directory>
發現不行,原來apache2.4之后語法有了一點改變:
刪除了 Order deny,allow 和 Order allow,deny
把 Deny from all 替換成了 Require all denied
把Allow from all 替換成了 Require all granted
然后還把 Allow from 192.168.10.21 這樣的語句給替換成了 Require host 192.168.10.21
最終改為:
##zentao
Alias /test "D:/zentaopms/www"
<Directory "D:/zentaopms/www">
Options Indexes MultiViews
Require all denied
Require all granted
</Directory>
通過install.php安裝
在瀏覽器中打開:http://localhost:8080/test/install.php,點擊安裝,檢測環境,發現有點配置沒有配置好:
設置Session存儲目錄
修改php.ini,設置Session的存儲路徑: session.save_path = "D:/PHP_SESSION",然后手動在D盤下新建這個文件夾,並且賦予可寫的權限。
開啟pdo_mysql擴展
因為對應的擴展是在ext這個擴展目錄下,因此要在php.ini中指示擴展目錄,找到下述語句去掉注釋並設置為擴展的物理地址即可即可:
extension_dir = "D:/software/php-5.6.12-Win32-VC11-x64/ext"
繼續安裝,提供mysql的地址、用戶名、密碼即可。我們也可以后續修改這個生成的配置文件:
安裝之后出行空白界面的處理
完成后跳轉到index.php頁面,而且還是空白的頁面,且慢,官網的文檔不是說現在會出行一個配置界面的嗎?這個界面哪去了?
這個時候切勿緊張,出現這個錯誤是因為發生了錯誤,而禪道屏蔽了錯誤,所以我們看到的是空白界面。我們打開config\my.php,修改其中的調試字段為true:$config->debug = true
重新打開我們發現下述這么一段話:
21:10 ERROR: 您訪問的域名 localhost:8080 沒有對應的公司。 in module\common\model.php on line 58, last called by module\common\control.php on line 25 through function setCompany.
in framework\router.class.php on line 1568 when visiting
網上說是沒有設置session.save_path
,我確認設置了,那么刪除掉my.php
,然后重新安裝以便,終於上述“設置帳號”的界面出來了。
關於如何修改禪道的登錄的logo等以及如何安裝mysql,以后再寫文章了,餓了,回家吃飯去!