1.先卸載老版本的svn
如果rpm -e subversion 不能卸載的話,用以下命令:
rpm -e --allmatches subversion
(subversion的1.6版本無需在單獨(dú)下載下面的包,可以直接下載subversion1.6.12-deps.tar.gz)
然后先解壓subversion-1.6.12.tar.gz,再解壓subversion1.6.12-deps.tar.gz
2.下載32/64位的安裝包,直接安裝即可。
tar zxvf apr-1.3.8.tar.gz
./configure --prefix=/usr/local/apr
make && make install
tar zxvf apr-util-1.3.4.tar.gz
./configure --with-apr=/usr/local/apr/
make && make install
tar zxvf subversion-1.5.5.tar.gz
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
./configure --prefix=/usr/local/svn
make && make install
二,創(chuàng)建資源庫
cd /data/svn
svnadmin create repos
svnserve -d -r /data/svn
三,修改用戶名和密碼
1,修改/home/hideto/repos/conf/svnserve.conf,把下面三行的注釋去掉
- anon-access = read
- auth-access = write
- password-db = passwd
2,修改/home/hideto/repos/conf/passwd,添加用戶和密碼
- kingwen = kingwen
- lu= lu
四,導(dǎo)入project
- svn import -m "Import rails project hilog" /data/soft file:///data/svn/repos/project
svn co svn://IP/repos/project
如果以上方法不能正確創(chuàng)建SVN,可是試試以下的方法:
1)安裝Apache Apr
wget http://apache.mirror.phpchina.com/apr/apr-1.3.3.tar.gz
tar -zxvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure --prefix=/usr/local/apr
make
make install
2) 安裝Apache Apr Util
wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.4.tar.gz
tar -zxvf apr-util-1.3.4.tar.gz
cd apr-util-1.3.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make
make install
3)安裝Apache Httpd
wget http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz
tar -zxvf httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure --prefix=/usr/local/apache2.2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-dav
make
make install
4)安裝subversion
wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz
tar -zxvf subversion-1.6.0.tar.gz
cd subversion-1.6.0
./configure --prefix=/usr/local/subversion1.6 --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache2.2/bin/apxs
說明:如果configure無法通過,出現(xiàn)沒有找到sqlite3.c沒有找到的錯誤,那么需要下載sqlite-amalgamation,設(shè)置如下
【
mkdir subversion-1.6.0/sqlite-amalgamation
wget http://www.sqlite.org/sqlite-amalgamation-3.6.11.tar.gz
tar -zxvf sqlite-amalgamation-3.6.11.tar.gz
cp sqlite-3.6.11/* subversion-1.6.0/sqlite-amalgamation/
然后重新configure即可
】
make
make install
如果編譯成功,那么在/usr/local/apache2.2/modules下會出現(xiàn)mod_dav_svn.so 和 mod_authz_svn.so 模塊。
安裝過程結(jié)束。以下是配置svn和apache,配置過程如下
1)創(chuàng)建svn用戶
groupadd svn
useradd -g svn svn
以后代碼庫的創(chuàng)建維護(hù)等,都用這個帳戶來操作。
2)創(chuàng)建版本庫
切換用戶
su - svn
編輯.bash_profile
加上一下配置
SVN_HOME=/usr/local/subversion
export SVN_HOME
PATH=$SVN_HOME/bin:$PATH
export PATH
export LC_ALL=C
創(chuàng)建版本庫:
svnadmin create --fs-type fsfs myprojects
此時,在/home/svn/myprojects下出現(xiàn)以下文件,如下:
conf/ db/ format hooks/ locks/ README.txt
創(chuàng)建啟動Subversion的腳本:
echo '/usr/local/subversion/bin/svnserve -d -r /home/svn/' > start_svn.sh
chmod +x start_svn.sh
./start_svn.sh
將啟動腳本放置到開機(jī)自動啟動腳本中:
以root身份修改文件:/etc/rc.d/rc.local,添加以下文字:
su -c /home/svn/start_svn.sh svn
3)創(chuàng)建一個項(xiàng)目
切換到svn用戶
su - svn
新建一個項(xiàng)目,假設(shè)為mytest
mkdir /home/svn/mytest
在此文件夾下新建三個子目錄
mkdir /home/svn/mytest/trunk
mkdir /home/svn/mytest/branches
mkdir /home/svn/mytest/tags
說明,以上3個目錄并不是svn必須的,但是只是一個習(xí)慣,詳細(xì)說明見:http://www.subversion.org.cn/svnbook/nightly/svnbook.html#svn.intro.install
將此目錄導(dǎo)入到版本庫中:
svn import /home/svn/mytest file:///home/svn/myprojects -m "initial import"
可以通過svn協(xié)議:svn://192.168.0.10/myprojects/trunk來對此項(xiàng)目進(jìn)行操作。
注意,這個時候你可以update 但是不能提交,而且沒有讓你輸入用戶名和密碼的窗口出來,這個是因?yàn)槟愕臋?quán)限沒有設(shè)置,這是第二次在這個地方范錯誤了!~
4)設(shè)置myprojects訪問的用戶名和密碼
編輯文件/home/svn/myprojects/conf/passwd文件
在[users] 按照一下格式設(shè)置用戶名和密碼:
用戶名1=密碼1
用戶名2=密碼2
例如test=test,表示用戶名是test,密碼也是test
編輯文件/home/svn/myprojects/conf/svnserve.conf
加上幾行配置:
anon-access = read
auth-access = write
password-db = passwd
注意,此幾行配置所在行第一個字母錢不能有任何空格,否則會出現(xiàn)類似svnserve.conf:12: Option expected 這樣的錯誤
保存退出,然后重啟svn server即可。
可以使用svn client來測試是否能commit和update
5)配置apache,以便支持svn支持http協(xié)議
vi /usr/local/apache2.2/conf/httpd.conf
檢查svn Web DAV是否加載
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
修改啟動httpd的默認(rèn)用戶為svn
User svn
Group svn
配置虛擬主機(jī):
去掉Include conf/extra/httpd-vhosts.conf前面的注釋
編輯httpd-vhosts.conf
vi /usr/local/apache2.2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@domain.com
ServerName 192.168.0.10
ErrorLog logs/svn_error_log
CustomLog logs/svn_access_log common
<Location />
DAV svn
SVNListParentPath on
SVNParentPath /home/svn
</Location>
</VirtualHost>
保存退出。
啟動Apache,/usr/local/apache2.2/bin/apachectl start
輸入url:http://192.168.0.10/myprojects可以查看svn庫的文件。