Linux 下安裝subversion 詳細指南
1 下載相關的軟體
Apache-2.x http://httpd.apache.org 下載原始碼包
Subersion http://subversion.tigris.org/ 下載原始碼包
本文中apache的版本為 Apache/2.2.4 (Unix)
Subversion 版本:svnserve 1.4.3 (r23084)
2 安裝相關軟體
2.1 安裝apache
1)./configure –prefix=/usr/local/apache(安裝目錄)–enable-so –enable-proxy –enable-ssl –enable-vhost-alias –enable-mods-shared=most –enable-dav –enable-maintainer-mode
說明:其中—enable-dav 和—enable-maintainer-mode是為了能在apache下整合subversion才加進去的編譯引數。
–with-mpm=worker(這個引數,要詳細閱讀apache的相關文件來做決定用哪種mpm,待定)
2)make (編譯)
3)make install (安裝)
4)make clean(清理原始碼目錄)
3 建立倉庫
2.2 安裝subversion
1)配置
./configure –prefix=/home/svn –enable-maintainer-mode –with-apr=/usr/local/apache2/bin/apr-1-config –with-apxs=/usr/local/apache2/bin/apxs –with-apr-util=/usr/local/apache2/bin/apu-1-config
其中:/usr/local/apache2為apache的安裝目錄,而不是原始碼目錄。
2)make
3)make install
4)make clean
倉庫的規劃一般是有一個倉庫,其中存放一個或者多個專案根目錄,在每個專案根目錄下面有/trunk, /branches, and
/tags三個子目錄,或者另外的規劃。
/
utils/
calc/
trunk/
tags/
branches/
calendar/
trunk/
tags/
branches/
…
office/
spreadsheet/
trunk/
tags/
branches/
…
無論哪種規劃,但是都必須遵循的一個原則就是必須符合你的專案的設計。
3.2 建立倉庫
根據上面一節的規劃來建立你的倉庫。
1) 建立倉庫
$ svnadmin create /path/to/repos
觀察repos目錄結構
2) 根據倉庫規劃,建立臨時目錄:
$mkdir tmpdir
$cd tmpdir
$mkdir boss (boss在這裡是project name)
$mkdir boss/trunk
$mkdir boss/tags
$mkdir boss/branches
3) 新增上面建立的目錄結構到1)中建立的倉庫中去
$svn import . file:///path/to/repos –message ‘Initial repository layout’
.:代表當前目錄
file段:代表1)中建立的倉庫
4 subversion伺服器配置
Subversion 的伺服器執行方式分為兩種:http方式和tcp(以svnserve)方式。
4.1 http方式配置
結合apache的dav模組來是實現。
在apache的安裝目錄下面找到配置檔案httpd.conf,修改配置檔案。
<Location /svn>
DAV svn
SVNPath /home/svn/repos
</Location>
4.2 svn方式配置
Subversion以svnserve方式執行
1) standalone mode
直接執行:#svnserve –d執行 lsof -i :3690可以看到SVN伺服器已經在執行
2) xinetd mode在/etc/xinetd.d/下生成svnserve檔案,內容如下
service svnserve
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /home/svn/bin/svnserve
server_args = -i
}
編輯 /etc/services 檔,加入底下兩行:
svnserve 3690/tcp # Subversion svnserve
svnserve 3690/udp # Subversion svnserve
重啟xinetd服務/usr/sbin/xinetd –restart
執行 lsof -i :3690可以看到SVN伺服器已經在執行
service svnserve
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /home/svn/bin/svnserve
server_args = -i
}
編輯 /etc/services 檔,加入底下兩行:
svnserve 3690/tcp # Subversion svnserve
svnserve 3690/udp # Subversion svnserve
重啟xinetd服務/usr/sbin/xinetd –restart
執行 lsof -i :3690可以看到SVN伺服器已經在執行
5 伺服器配置
5.1 伺服器配置
Subversion的配置檔案存放在$SVN_HOME/your repository/conf目錄下面,配置檔名:svnserve.conf。
1) 基本許可權管理
svnserve.conf的配置風格跟mysql的配置檔案的風格相似。基於linux下的配置檔案風格如下:
[xxx] section:配置段
配置段下面的配置區域,一般是:變數 = 值
在svnserve.conf中[general]段,訪問許可權分為三種:read,write,none
anon-access = none (對匿名使用者)
auth-access = write (授權使用者)
2) 基於svn自己許可權管理
Svn本身通過password-db = userfile和realm = my first實現了許可權管理。
Password-db是許可權檔案放置位置。
Realm是加密的key
許可權檔案的格式類似如下:
[users]
A=123456 (其中a為使用者名稱,123456為密碼)
3)基於svn+ssh許可權管理(略)
附錄:
命令列表
具體用法可參考 Subversion 命令參考手冊
Subversion 命令列客戶端: svn
svn add
svn cat
svn checkout
svn cleanup
svn commit
svn copy
svn delete
svn diff
svn export
svn help
svn import
svn info
svn list
svn log
svn merge
svn mkdir
svn move
svn propdel
svn propedit
svn propget
svn proplist
svn propset
svn resolved
svn revert
svn status
svn switch
svn update
Subversion 命令列服務端:
svnadmin list-unused-dblogs
svnadmin create
svnadmin dump
svnadmin help
svnadmin load
svnadmin lstxns
svnadmin recover
svnadmin rmtxns
svnadmin setlog
svnlook author
svnlook cat
svnlook changed
svnlook date
svnlook diff
svnlook dirs-changed
svnlook help
svnlook history
svnlook info
svnlook log
svnlook proplist
svnlook tree
svnlook youngest
具體用法可參考 Subversion 命令參考手冊
Subversion 命令列客戶端: svn
svn add
svn cat
svn checkout
svn cleanup
svn commit
svn copy
svn delete
svn diff
svn export
svn help
svn import
svn info
svn list
svn log
svn merge
svn mkdir
svn move
svn propdel
svn propedit
svn propget
svn proplist
svn propset
svn resolved
svn revert
svn status
svn switch
svn update
Subversion 命令列服務端:
svnadmin list-unused-dblogs
svnadmin create
svnadmin dump
svnadmin help
svnadmin load
svnadmin lstxns
svnadmin recover
svnadmin rmtxns
svnadmin setlog
svnlook author
svnlook cat
svnlook changed
svnlook date
svnlook diff
svnlook dirs-changed
svnlook help
svnlook history
svnlook info
svnlook log
svnlook proplist
svnlook tree
svnlook youngest
bash-3.2# ls -al /usr/local/lib/libexpat.* /usr/local/include/expat.h
-rw-r--r-- 1 root wheel 40339 Jan 14 02:43 /usr/local/include/expat.h
-rw-r--r-- 1 root wheel 444628 Jan 14 02:43 /usr/local/lib/libexpat.a
-rwxr-xr-x 1 root wheel 793 Jan 14 02:43 /usr/local/lib/libexpat.la
lrwxr-xr-x 1 root wheel 13 Jan 14 02:43
/usr/local/lib/libexpat.so -> libexpat.so.6
-rwxr-xr-x 1 root wheel 265921 Jan 14 02:43 /usr/local/lib/libexpat.so.6
bash-3.2#
-rw-r--r-- 1 root wheel 40339 Jan 14 02:43 /usr/local/include/expat.h
-rw-r--r-- 1 root wheel 444628 Jan 14 02:43 /usr/local/lib/libexpat.a
-rwxr-xr-x 1 root wheel 793 Jan 14 02:43 /usr/local/lib/libexpat.la
lrwxr-xr-x 1 root wheel 13 Jan 14 02:43
/usr/local/lib/libexpat.so -> libexpat.so.6
-rwxr-xr-x 1 root wheel 265921 Jan 14 02:43 /usr/local/lib/libexpat.so.6
bash-3.2#
相關文章
- Linux下安裝SVN(Subversion)Linux
- linux 下subversion安裝薦Linux
- Subversion、BugFree安裝指南
- linux下安裝手記(jdk,subversion,ant,svnant)LinuxJDKNaN
- Subversion在windows下的安裝Windows
- linux_apache_Subversion安裝配置LinuxApache
- Linux下安裝與使用MySQL詳細介紹LinuxMySql
- CentOS 安裝 SubversionCentOS
- Linux安裝Nginx詳細教程LinuxNginx
- Centos下Elasticsearch安裝詳細教程CentOSElasticsearch
- RabbitMQ超詳細安裝教程(Linux)MQLinux
- Linux安裝JDK詳細步驟LinuxJDK
- linux下安裝redis圖文詳細步驟鶯瞵LinuxRedis
- Windows下Subversion配置管理員指南Windows
- Linux下安裝mantis配置指南【轉】Linux
- Linux上JDK的 安裝和解除安裝 詳細 (轉)LinuxJDK
- Linux安裝和配置zokeeper 詳細教程Linux
- Linux安裝jdk的詳細步驟。LinuxJDK
- Linux系統安裝MySQL詳細教程LinuxMySql
- Linux系統安裝gcc詳細教程。LinuxGC
- Linux安裝jdk的詳細步驟LinuxJDK
- Windows 64位下安裝Redis詳細教程WindowsRedis
- CentOS 6.5下Redis安裝詳細步驟CentOSRedis
- ldap安裝詳細LDA
- Linux下最新版MySQL 8.0的下載與安裝(詳細步驟)LinuxMySql
- windows下安裝基於Apache的Subversion伺服器WindowsApache伺服器
- linux下安裝zsh和p10k的詳細過程Linux
- 20-Redhat E5上安裝Subversion 1.6詳解Redhat
- Linux 虛擬機器詳細安裝MySQLLinux虛擬機MySql
- Linux Centos 7安裝MongoDB(簡單!詳細!)LinuxCentOSMongoDB
- Linux安裝和配置tomcat詳細教程LinuxTomcat
- 安裝Linux14.04詳細步驟Linux
- 小白必看!超詳細MySQL下載安裝教程MySql
- VMware下安裝centos7--詳細記錄CentOS
- CentOS 7.4下安裝nginx的詳細步驟CentOSNginx
- Linux下Nodejs安裝詳解LinuxNodeJS
- Nginx安裝(詳細版本)Nginx
- hass安裝tileboard詳細