在linux下安裝svn(摘錄+自己的總結)
1.下載subversion和apache的最新src包
2. 新建一個用戶:svnroot ,以下操作非特別說明皆為root用戶操作
#groupadd svn
#useradd svnroot -g svn
#passwd svn
3. 編譯安裝httpd:
//解壓apache2安裝包
# tar xvzf httpd-2.2.3.tar.tar
//進入解壓后的目錄
# cd httpd-2.2.3
//配置apache安裝
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安裝
# make install
//啟動apache服務
# /usr/local/apache2/bin/apachectl start
//打開瀏覽器http://localhost/如果有測試頁"It works!"出現則證明已經安裝成功。
??
4. 安裝Subversion
//解壓SubVersion安裝包
?# tar xvzf Subversion-1.4.0.tar.gz
//進入解壓后的目錄
# cd Subversion-1.4.0
//配置subversion安裝
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mode
# make
//安裝
# make install
//創建庫文件所在的目錄 (svnroot用戶進行下面的操作)
# mkdir /home/svnroot/repository
//創建倉庫"test"
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//查看svn是否安裝成功
#? /usr/local/subversion/bin/svnadmin --version
//不讓其他人有該目錄的權限
# chmod 700 /home/svnroot/repository
?(svnroot用戶操作結束)
?
5. 修改Apache配置文件
# vi /usr/local/apache2/conf/httpd.conf
?? //找到下列語句,如果沒有則自行添加
?? LoadModule dav_svn_module modules/mod_dav_svn.so
?? LoadModule authz_svn_module modules/mod_authz_svn.so?
? //在后面添加?
?? <Location /svn>
?? DAV svn
?? SVNParentPath /home/svnroot/repository/ //svn父目錄
?? AuthzSVNAccessFile /home/svnroot/repository/authz.conf //權限配置文件
?? AuthType Basic //連接類型設置
?? AuthName "Subversion.zoneyump" //連接框提示
?? AuthUserFile /home/svnroot/repository/authfile //用戶配置文件
?? Require valid-user //采用何種認證
?? </Location>
?
//重啟apache
?# /usr/local/apache2/bin/apachectl restart
//打開瀏覽器訪問http://localhost/svn/test/,如果有東西顯示就說明成功。
??
6. 權限管理
1)增加用戶
# htpasswd -c /home/svnroot/repository/authfile 用戶名
//第一次設置用戶時使用-c表示新建一個用戶文件。回車后輸入用戶密碼,完成對用戶的增加
# htpasswd? /home/svnroot/repository/authfile 用戶名(加入新的用戶,就不用-c了)
2)權限分配
# vi /home/svnroot/repository/authz.conf?
?[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//這里定義了一個用戶組
[/]//對所有的項目,所有的用戶都有讀權限,admin用戶有讀寫權限
@admin = rw
* = r
[test:/]//對test項目,
@devteamcs = rw
//?在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的這兩行:
User daemon
Group daemon
?// 將daemon改為svnroot,組也做相應更改,讓apache進程以svnroot的身份運行
//改完后是這個樣子
User svnroot
Group svn
//重啟apache
??# /usr/local/apache2/bin/apachectl restart
訪問http://localhost/svn/test ,現在需要身份驗證,且通過驗證后應該可以看到信息
?補充:在xp的環境下,如果你運行著卡巴斯基,可能會導致無法訪問svn,通常會報400 Bad Request錯誤
解決辦法是:進入卡巴斯基的設置-->網絡設置--->端口設置,然后從端口列表中去掉80端口即可
再次補充:eclipse有svn的插件,subclipse,安裝路徑為:http://subclipse.tigris.org/update
posted on 2006-09-28 10:18 幸福是把溫暖的槍 閱讀(9254) 評論(3) 編輯 收藏 所屬分類: linux