CentOS6.3配置SVN之subversion1.7.7
今天配置了 SVN 記在這兒 備忘:
1. 下載 svn 軟件包和依賴包
cd /mydata/soft wget https://labs.mop.com/apache-mirror/subversion/subversion-1.7.7.tar.gz wget https://archive.apache.org/dist/apr/apr-util-1.5.1.tar.gz wget https://archive.apache.org/dist/apr/apr-1.4.6.tar.gz wget https://www.sqlite.org/sqlite-amalgamation-3071401.zip
2. 安裝 依賴軟件包
tar zxvf apr-1.4.6.tar.gz cd apr-1.4.6/ ./configure --prefix=/usr/local/apr make && make install cd ../
tar zxvf apr-util-1.5.1.tar.gz cd apr-util-1.5.1/ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install cd ../
3. 安裝 svn
注意這裏是 SVN 和 sqlite 解壓到一起再安裝的
tar xvf subversion-1.7.7.tar.gz unzip sqlite-amalgamation-3071401.zip mv sqlite-amalgamation-3071401 ./subversion-1.7.7/sqlite-amalgamation cd subversion-1.7.7 ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --without-berkeley-db --with-ssl make && make install cd ..
4. 修改環境變量
vi /etc/profile
開頭加入:
PATH=$PATH:/usr/local/svn/bin export PATH
可能需要斷開當前 ssh 連接重新登陸才會生效
5. 檢測是否安裝成功
svnserve --version
# 顯示如下信息則表示安裝成功。
# svnserve, version 1.7.7
6. 開啟防火牆 SVN 端口
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT
保存防火牆設置
/etc/rc.d/init.d/iptables save
7. 創建 svn 庫 www (該名稱為自定義項目名稱)
mkdir -p /var/svn/ cd /var/svn/ svnadmin create www cd www/conf/ ls
# 顯示當前項目配置文件
# authz passwd svnserve.conf
8. 配置版本庫信息
項目配置:
vi svnserve.conf
修改:去掉注釋符
[general] anon-access = none auth-access = write password-db = passwd authzauthz-db = authz realm = www
定義版本庫訪問權限:
# vi authz
添加:(下方的 svnuser 表示你要添加的自定 svn 用戶帳號名,可以添加多個,一行一個用戶)
[/] svnuser = rw [www] svnuser = rw
設定用戶密碼:
# vi passwd
添加:(svnuser 表示自定義的用戶名,123456表示用戶對應的密碼,可以設置多個,一行一個)
svnuser = 123456
9. 建立啟動svn 的用戶
useradd svnuser passwd 123456
回車後輸入兩次密碼
然後設置用戶所有權,允許 svn 訪問版本庫:(此處非必要)
chown -R svn:svn /var/svn
10. 啟動 SVN
先寫個提醒:
開放的 svn 根目錄經測試應該隻能是項目倉庫的父級目錄
10.1 用設定帳戶啟動
# su svn -c "svnserve -d --listen-port 9999 -r /var/svn"
說明:
su svn 表示以用戶svn 的身份啟動svn
-d 表示以daemon 方式(後台運行)運行
–listen-port svn 默認端口是3690, 9999表示使用9999 端口,可以換成你需要的端口。但注意,使用1024以下的端口需要root 權限
-r /var/svn/www 指定根目錄是/var/svn/
10.2 對於單個代碼倉庫啟動命令:
# svnserve -d -r /var/svn/www --listen-host 22.21.50.17 –listen-port 9999
說明:
-d 表示在後台運行,
-r 指定服務器的根目錄,
這樣訪問服務器時就可以直接用svn://服務器ip 來訪問了。
10.3 對於多個代碼倉庫:
通過 -r 開放 SVN 的根目錄,
# svnserve -d -r /var/svn/ --listen-host 22.21.50.17 –listen-port 9999
客戶端訪問時再指定倉庫目錄即可訪問 如: svn://22.21.50.17:9999/www 來分別訪問每個項目
10.4 如果顯示如下,即為啟動成功:
svn 6941 1 0 15:07 ? 00:00:00 svnserve -d -r /var/svn
10.5 以 root 帳號 啟動 SVN 服務
svnserve -d -r /var/svn/ --listen-host 22.21.50.17 --listen-port 9999
10.6 檢查是否啟動成功
ps -ef|grep svnserve
終於完成!!!
最後更新:2017-04-03 12:55:12