svn下載地址:http://subversion.apache.org/download/
svn要依賴一些包,可以提前裝好
yum -y install apr-util apr-util-devel
yum -y install sqlite sqlite-devel
還要依賴openssl和zlib,可以參考http://www.cnblogs.com/ystq/articles/5919114.html
解壓后,進入svn主目錄
./configure --prefix=/usr/local/svn --with-openssl=/usr/local/openssl --with-zlib=/usr/local/lib/zlib --without-berkeley-db
make && make install
查看是否安裝成功
/usr/local/svn/bin/svnserve --version
vi /etc/profile加入環境變量 export PATH=$PATH:/usr/local/svn/bin/ source /etc/profile
svn建庫
1建立SVN的根目錄 mkdir -p /opt/svn/ 2建立一個產品倉庫 mkdir -p /opt/svn/tshop/ svnadmin create /opt/svn/tshop/ 3修改版本配置庫文件 cd /opt/svn/tshop/conf vi svnserve.conf #主要修改以下四處 [general] anon-access = none auth-access = write password-db = passwd authz-db = authz realm = tshop 4設置賬號密碼 vi passwd [users] # harry = harryssecret # sally = sallyssecret account1=123456 account2=123456 5設置權限 vi authz [groups] team=test1,test2 [repo:/] @ream=rw #把test1和test2用戶加入這個團隊,本團隊的人對此版本庫有讀(read)和寫(write)的權限。[repo:/]設置權限起作用的區域是在版本庫的根目錄下 6啟動svn服務 #可以建立啟動svn的用戶 useradd svn chown -R svn:svn /opt/svn #方式一:svnserve -d -r /opt/svn/ #默認的啟動端口號為3690 #方式二:su – svn -c “svnserve -d –listen-port 9999 -r /opt/svn/” #su – svn表示以用戶svn的身份啟動svn; #-d表示以daemon方式(后台運行)運行; #–listen-port 9999表示使用9999端口,可以換成你需要的端口。但注意,使用1024以下的端口需要root權限; #-r /opt/svn 指定根目錄是/opt/svn。 #如果有防火牆,要加端口到防火牆 7檢查是否啟動 netstat -tunlp | grep svn 如果顯示以下信息說明啟動成功 tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 10973/svnserve 8將svn加入到開機啟動 編輯rc.local文件:vi /etc/rc.d/rc.local 加入如下啟動命令: /usr/local/svn/bin/svnserve -d –listen-port 9999 -r /opt/svn 9如果想停止svn,則使用如下命令: killall svnserve 10如果想將svn作為服務: 在/etc/rc.d/init.d/目錄下新建名為svn的文件 編輯svn文件:vi /etc/rc.d/init.d/svnd, 在里面添加如下代碼: #!/bin/bash # build this file in /etc/rc.d/init.d/svn # chmod 755 /etc/rc.d/init.d/svn # centos下可以用如下命令管理svn: service svn start(restart/stop) SVN_HOME=/opt/svn if [ ! -f "/usr/local/svn/bin/svnserve" ] then echo "svnserver startup: cannot start" exit fi case "$1" in start) echo "Starting svnserve..." /usr/local/svn/bin/svnserve -d --listen-port 9999 -r $SVN_HOME echo "Finished!" ;; stop) echo "Stoping svnserve..." killall svnserve echo "Finished!" ;; restart) $0 stop $0 start ;; *) echo "Usage: svn { start | stop | restart } " exit 1 esac