移植公司在XP上的Server(Web/SVN/Bug Tracker Server)到Win7

最近有同事離職,想把電腦拿來用,之前幫公司架的Server想移植過來現在用的電腦~不過就我印象(2年前的)Win7在安裝Apache+Subversion時調整不來。話說本公司的MIS也是隨便找其他部門掛人頭來接,所以這些Server還是得自己架的。

今天重試了一下,發現在Win7上安裝變得很簡單,只要修改很少一點點就足夠了。這次我安裝了XAMPP(Apache+MySQL+Tomcat+Filezilla整合)+SVN(Subversion+TortoiseSVN)+Mantis Bug Tracker。

【安裝XAMPP】
這步驟幾乎就是安裝完即可用了,基本的Web Server,Database都有了。安裝完成之後,在「http://localhost/」底下,左邊的「安全」設定進入後,設定MySQL和首頁的密碼,之後在安裝的Control Panel按下Start啟動,基本上都可以啟動成功,出現啟動不成功,通常是Port被佔用的問題。

找出哪些Port被誰佔用的關係可以在cmd.exe底下利用「tasklist」或是「netstat 」,通常就是兩種情況:
  • 原先的Web Server,比方說Windows的IIS,或是像我之前安裝給嵌入式用的AppWeb之類的。
  • 另外一個就是Skype了。Skype安裝時都會預設佔用Port80和443,而這剛好是Apache Web Server預設的http/https port,所以一旦衝突就會開不起來。
解法有兩種:
  • 修改Apache裡頭的設定。將「httpd.conf」裡頭的「Listen 80」,以及「httpd-ssl.conf」裡頭的「Listen 443」,修改為其他Port,再重新開啟都可以。但是因為我之前XP環境下裝完之後,開放給人連的網址,就沒有帶Port(預設80/443),修改還要公告就稍微麻煩了
  • 將佔用Port的程式修改或停用。以Skype來說,就是去設定頁面將預設80/443選項給取消。如果有程式佔用,就在cmd.exe用「taskkill」取消。或是可以試試去修改Register的方式。
【安裝Mantis Bug Tracker】
會選這套完全是因為安裝太容易了!雖然之前用Trac更好用,不過反正公司也才30多人,用MantisBT足夠了啦!
  • 將下載回來的壓縮檔解壓縮到「安裝路徑\xampp\htdocs\」底下,命名成「mantisbt」,然後利用瀏覽器輸入「http://localhost/mantisbt」,會自動跳轉到「http://localhost/mantisbt/admin/install.php」
  • 輸入設定值(MySQL連結,DB建立)後按下一步就好。安裝完成之後,去把「admin」資料夾改名或是刪除,就可以開使用了。
  • 因為是移植的方式,所以就去舊DB,將MantisDB整個匯出,再到新的電腦利用「http://localhost/phpmyadmin/」點選MantisDB去匯入就好,不過記得要先把剛剛新建立的MantisDB的Table給清除後再載入,不然會出現一堆錯誤。
  • 匯入完,就用先前的帳密登入,回來了!
【安裝SVN Server】
這個稍微複雜一點點:
  • 首先先去下載SVN Server(目前版本是Setup-Subversion-1.8.9-1.msi)和TortoiseSVN(目前版本是TortoiseSVN-1.8.7.25475-win32-svn-1.8.9.msi)安裝
  • 修改Apache的httpd.conf,將底下的「#」字號拿掉
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
變成
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_module modules/mod_dav.so
  • 加入
LoadModule dav_svn_module "Subversion安裝路徑\bin\mod_dav_svn.so"
LoadModule authz_svn_module "Subversion安裝路徑\bin\mod_authz_svn.so"
  • 加上
 #設定web上的路徑名稱
 <Location /svn>
 SVNListParentPath on
 DAV svn
 #告訴svn到這邊找版本庫
 SVNParentPath "D:/SVNFolder/ProjectSVN"
 #啟用基本驗證
 AuthType Basic
 AuthName "Subversion repository"
 #驗證使用者帳號密碼
 AuthUserFile "D:\SVNFolder\Password\passwd.ini"
 #限定各用戶組在版本庫目錄中訪問的權限
 AuthzSVNAccessFile "D:\SVNFolder\Password\svn-acl"
 # only authenticated users may access the repository
 Require valid-user
 SVNAutoversioning on
 ModMimeUsePathInfo on
 </Location>
  • svn-acl的內容大概長這樣
[groups]
manager = user1
fae = user2
pm = user3
manager_testproject = user1
# 為所有庫指定默認訪問規則
# 所有人可以讀
[/]
*=r
# 為SVN/repos制定權限
#所有人可以讀,manager組擁有讀寫權限
[testProject:/]
*=r
@manager_testproject = rw
  • 利用Apache的「Apache安裝路徑\bin\htpasswd.exe」工具製作MD5 encoding的密碼
      建立passwd.ini - "Apache安裝路徑\bin\htpasswd.exe" -c passwd.ini User1
      新增其他帳號 - "Apache安裝路徑\bin\htpasswd.exe" passwd.ini User2
  • 利用TortoiseSVN建立一個名為「testProject」專案的Repository
在SVNFolder底下建立一個資料夾,然後按右鍵建立Repository以供測試。
  • 重啟Apache之後,測試SVN是否成功
在瀏覽器端輸入「http://localhost/svn/testProject」,看是否有跳出安全性對話框,有的話就表示成功了。

0 意見:

搜尋此網誌

總網頁瀏覽量

TK呱呱

Made with by TK