VirtualPC下Linux中subversion部署關鍵點

前沿:

終於下定決心在VirtualPC下Linux中安裝subversion試試,主要是項目壓力相對比較輕鬆。

大致要點:

0、準備編譯、安裝文件,共三個:
httpd-2.2.19.tar.gz
subversion-1.6.15.tar.gz
subversion-deps-1.6.6.tar.bz2

1、映射Windows共享文件夾
用文件系統的方式(這種方式要確定你的內核支持smbfs)
smbmount //IP或者NETBIOS名稱/共享資源名 /本地掛接點 [-o option]
常用的的option有username=<用戶名>,password=<密碼>,guest(指定爲用guest訪問,不用提供密碼,前面的即使用username=guest參數的話也會要求輸入密碼),ro(有時候爲了系統安全要指定爲只讀模式),rw,同時多個option的話用逗號隔開。
或者可以用mount -t smbfs [-o option] //IP或者NETBIOS名稱/共享資源名 /本地掛接點來實現同樣的功能。
例子如下:
smbmount //glass/littlep /test -o guest或者mount -t smbfs -o guest //glass/littlep /test,然後就能通過訪問/test來使用網絡上的資源了。
真實例子:
mount -t -o username=administrator,password=xxxx,ip=192.168.1.222 //xxx/share /mnt/share

2、編譯、安裝apache:執行configure命令
configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install
提示:bash: command not found
環境變量中沒有對應的路徑。
這裏直接帶上絕對路徑就可以了
/usr/local/httpd-2.2.19/configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install

大約需要等待10分鐘。

修改/usr/local/apache/conf/http.conf中的端口:
修改
#Listen 12.34.56.78:80
Listen 80

#Listen 12.34.56.78:80
Listen 8089

重啓動服務
/usr/local/apache/bin/httpd -k restart
/usr/local/apache/bin/httpd -k stop
/usr/local/apache/bin/httpd -k start

這時,試着在本機的瀏覽器裏訪問:http://localhost:8089/,如果出現“It work!”說明apache安裝成功了。

3、如何壓縮和解壓縮.bz2的包?
#bzip2 /etc/smb.conf
這將壓縮文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
這將在當前目錄下還原smb.conf.bz2爲smb.conf

4、刪除svn自帶的apache(使用已經安裝過的apache)
rm -rf apr
rm -rf apr-util

5、編譯、安裝svn
/usr/local/subversion-2.2.19/configure -prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config && make && make install

大約需要等待3分鐘,出現錯誤如6。

6、/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
確認系統已經安裝了krb5-devel以及krb5-libs等套件,然後建立以下的symbolic links:
ln -s /usr/kerberos/include/com_err.h /usr/include/
ln -s /usr/kerberos/include/profile.h /usr/include/
ln -s /usr/kerberos/include/krb5.h /usr/include/
重新進行5

大約需要等待13分鐘。

7、查看版本庫是否安裝成功
/usr/local/subversion/bin/svnserve --version

8、生成SVN的用戶權限文件
創建訪問權限文件
/usr/local/apache/bin/htpasswd -cmb /usr/local/subversion/auth/svn-auth-file fengxian fengxian
更新用戶密碼
/usr/local/apache/bin/htpasswd /usr/local/subversion/auth/svn-auth-file fengxian
添加新用戶
/usr/local/apache/bin/htpasswd -mb /usr/local/subversion/auth/svn-auth-file zhangdongjie zhangdongjie
/usr/local/apache/bin/htpasswd -mb /usr/local/subversion/auth/svn-auth-file noodle noodle
/usr/local/apache/bin/htpasswd -mb /usr/local/subversion/auth/svn-auth-file test test
刪除用戶
/usr/local/apache/bin/htpasswd htpasswd -D /usr/local/subversion/auth/svn-auth-file fengxian

9、讓apache管理SVN
在/usr/local/apache/conf/httpd.conf最後面添加管理SVN的代碼,讓apache啓動的時候自動加載SVN
<Location /svn>
DAV svn
SVNParentPath /usr/local/subversion
AuthType Basic
AuthName "subversion repository"
SVNListParentPath on
AuthUserFile /usr/local/subversion/auth/svn-auth-file
AuthzSVNAccessFile /usr/local/subversion/auth/svn-access-file
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

10、建立SVN版本庫
cd /usr/local/subversion
svnadmin create /usr/local/svn/mttech
svnadmin create /usr/local/svn/test
(創建版本庫)
svnadmin load /usr/local/svn/mttech < /usr/local/svnbak/mttech.20100802.bak
(恢復版本庫數據)

11、給apache授權管理SVN
給用戶授權:編輯svn-access-file爲:

[/]
*=r
[mttech:/]
noodle=rw
test=rw
[test:/]
noodle=rw
test=rw

12、把SVN版本庫的管理權限授予apache用戶
chown -R apache:apache /usr/local/svn/mttech

13、重啓apache

14、在ie瀏覽器地址欄中輸入http://localhost:8089/svn/mttech
彈出輸入用戶名/密碼提示對話框
輸入test/test後
單擊“OK”按鈕
如果出現mttech - Revision 0: /
即表示svn安裝、配置成功。

15、客戶端遷出svn項目
客戶端是WinXP的TortoiseSVN。
先在ie瀏覽器中輸入http://192.168.1.222:8089/svn/mttech正常
然後在指定文件夾中使用checkout命令輸入http://192.168.1.222:8089/svn/mttech後正常

16、至此,linux subversion在VirtualPC上安裝配置徹底結束。

小結:

中間會遇到一些問題,主要是Linux操作不熟練、svn部署文檔不齊全的原因。總算部署成功,如願以償了。

致謝:

強烈感謝網絡上的衆多子民們啊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章