Red hat 6.2 64bit 搭建subversion+usvn
一、 Subversion 簡介
Subversion是一個自由,開源的版本控制系統。在Subversion管理下,檔案和目錄可以超越時空。Subversion将檔案存放在中心版本庫裡。這個版本庫很像一個普通的檔案伺服器,不同的是,它可以記錄每一次檔案和目錄的修改情況。這樣就可以籍此将資料恢複到以前的版本,并可以檢視資料的更改細節。正因為如此,許多人将版本控制系統當作一種神奇的“時間機器”。
二、 環境準備
<code>[root@</code><code>test</code> <code>~]</code><code># uname -a</code>
<code>Linux </code><code>test</code> <code>2.6.32-220.el6.x86_64 </code><code>#1 SMP WedNov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux</code>
設定SELINUX=disabled重新開機後關閉selinux
<a href="http://s3.51cto.com/wyfs02/M00/58/4B/wKiom1St486zFS56AAJbNjWnl6g468.jpg" target="_blank"></a>
三、安裝
1、安裝所需軟體
<code>[root@</code><code>test</code> <code>~]</code><code># yum install -y subversionhttpd httpd-devel mysql mysql-server mysql-devel mod_auth_mysql php-commonphp-cli php php-mysql mod_ssl mod_dav_svn mod_perl sendmail wget gcc-c++ makeunzip perl* ntsysv vim-enhanced</code>
說明:
subversion (SVN伺服器 )
mysql-server (用于 codestriker)
httpd mod_dav_svn mod_perl (用于支援 WEB方式管理 SVN伺服器 )
sendmail (用于配置使用者送出代碼後發郵件提醒 )
wget gcc-c++ make unzip perl* (必備軟體包 )
ntsysv vim-enhanced (可選 )
Mod_auth_mysql 把使用者名字和密碼儲存到MySQL資料庫,然後直接使用它們進行身份驗證。
Mod_dav_svn Apache通過Apache HTTP伺服器用來維護Subversion版本庫配置訓示
檢視subversion是否安裝成功,如下圖:
<a href="http://s3.51cto.com/wyfs02/M01/58/4B/wKiom1St5ALx7egKAAG1oonfksI538.jpg" target="_blank"></a>
2、啟動httpd、mysqld服務
啟動httpd
<a href="http://s3.51cto.com/wyfs02/M00/58/4B/wKiom1St5TOyaGeLAAFHXKfvqXg566.jpg" target="_blank"></a>
啟動mysqld
<a href="http://s3.51cto.com/wyfs02/M01/58/47/wKioL1St5fWxGSWqAARws6sSXEc344.jpg" target="_blank"></a>
啟動後設定mysqld密碼,後面安裝usvn時需要用
<code>[root@</code><code>test</code> <code>~]</code><code># mysqladmin -u root password 123456</code>
3、配置開機啟動
<a href="http://s3.51cto.com/wyfs02/M02/58/4B/wKiom1St5XeRbmI6AAIMuKKlqFA528.jpg" target="_blank"></a>
<code>[root@</code><code>test</code> <code>~]</code><code># tar -xzvf usvn-1.0.7.tar.gz -C /var/www/</code>
<code>[root@</code><code>test</code> <code>~]</code><code># mv /var/www/usvn-1.0.7/ /var/www/usvn</code>
<a href="http://s3.51cto.com/wyfs02/M01/58/47/wKioL1St5omTuWHTAACYcp4GUaE287.jpg" target="_blank"></a>
<code>[root@</code><code>test</code> <code>~]</code><code># chown -R apache.apache /var/www/usvn/</code>
<code>[root@</code><code>test</code> <code>~]</code><code># vi /etc/httpd/conf/httpd.conf</code>
<code>Alias </code><code>/usvn</code> <code>"/var/www/usvn/public"</code>
<code> </code>
<code><Directory </code><code>"/var/www/usvn/public"</code><code>></code>
<code> </code><code>Options +SymLinksIfOwnerMatch</code>
<code> </code><code>AllowOverride All</code>
<code> </code><code>Order allow,deny</code>
<code> </code><code>Allow from all</code>
<code><</code><code>/Directory</code><code>></code>
<a href="http://s3.51cto.com/wyfs02/M02/58/4B/wKiom1St5eGgeOD-AAEm6lGZU6o998.jpg" target="_blank"></a>
配置完成重新開機httpd
<code>[root@</code><code>test</code> <code>~]</code><code># service httpd restart</code>
通過IE打開http://192.168.2.15/usvn/install.php就可以按步驟一步步完成,此時如果打不開,請檢查你的iptables、selinux是否有限制或是直接關掉iptables、selinux服務。
通路正常将會出現下面界面:
<a href="http://s3.51cto.com/wyfs02/M00/58/4B/wKiom1St6IWhDa01AAJJVzaWGd8913.jpg" target="_blank"></a>
點Next step下一步▼
<a href="http://s3.51cto.com/wyfs02/M00/58/48/wKioL1St7JOzGHpTAALLyidvM2A941.jpg" target="_blank"></a>
第2步語言預設是英文,這裡我選擇中文▼
<a href="http://s3.51cto.com/wyfs02/M00/58/4B/wKiom1St69Lg17BMAAMWH9Yuh3c813.jpg" target="_blank"></a>
第三步同意協定▼
<a href="http://s3.51cto.com/wyfs02/M01/58/48/wKioL1St7JSTuo0uAAS8XVvca14965.jpg" target="_blank"></a>
第四步如果使用預設值不行,要做調整▼
<a href="http://s3.51cto.com/wyfs02/M01/58/4B/wKiom1St69OS6NdxAARt3cvBUhA806.jpg" target="_blank"></a>
改為以下路徑可以順利進入下一步▼(注:這裡passwd和authz兩個檔案預設在/var/www/usvn目錄是沒有的,這裡設定好路徑後會自動建立這兩個檔案。)
<a href="http://s3.51cto.com/wyfs02/M02/58/4B/wKiom1St69PCF-KlAANDPZ9zagE480.jpg" target="_blank"></a>
填入上面建立的mysqld使用者名和密碼,勾選“建立資料庫”,此處如果你沒有安裝php-pdo則會報錯▼
<a href="http://s3.51cto.com/wyfs02/M02/58/48/wKioL1St7cijnBJKAAKo1KcCEkw941.jpg" target="_blank"></a>
建立一個賬号用于登陸管理usvn▼
<a href="http://s3.51cto.com/wyfs02/M00/58/48/wKioL1St7e-Toi_rAAMBv3k1364924.jpg" target="_blank"></a>
建立後會看到usvn/passwd檔案裡有admin使用者
<a href="http://s3.51cto.com/wyfs02/M01/58/48/wKioL1St7g_SBGrvAACNor-pIfM234.jpg" target="_blank"></a>
選擇不檢查更新▼
<a href="http://s3.51cto.com/wyfs02/M02/58/48/wKioL1St7jaB9GB0AAKT45zmzs0352.jpg" target="_blank"></a>
複制下面的代碼到/etc/httpd/conf/httpd.conf裡▼
<a href="http://s3.51cto.com/wyfs02/M02/58/4C/wKiom1St7XXClXqKAAMdNKjY57M018.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/58/48/wKioL1St7mngEiGeAAJhZTVrq5s791.jpg" target="_blank"></a>
點上面的“連接配接到USVN登陸”▼
<a href="http://s3.51cto.com/wyfs02/M01/58/4C/wKiom1St7cbwnJynAANLOOdho2o980.jpg" target="_blank"></a>
至此整個subversion及USVN搭建完成。需要用USVN測試建立使用者、使用者組、項目是否正常。
建立使用者組testdata▼
<a href="http://s3.51cto.com/wyfs02/M00/58/4C/wKiom1St7f-R38mMAAKO6TCUTzc004.jpg" target="_blank"></a>
建立使用者test屬于testdata使用者組▼
建立項目data▼
<a href="http://s3.51cto.com/wyfs02/M00/58/4C/wKioL1SuJqqDqdl7AAGJ0sWzc1I145.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/58/4C/wKiom1St7pbzac3sAAE8e27mzsI179.jpg" target="_blank"></a>
讓testdata使用者組可以管理這個項目▼
<a href="http://s3.51cto.com/wyfs02/M00/58/48/wKioL1St73DT47HzAANjJVz9gMs599.jpg" target="_blank"></a>
五、 TortoiseSVN安裝使用
下載下傳安裝TortoiseSVN▼
<a href="http://s3.51cto.com/wyfs02/M01/58/4C/wKiom1St7uHC7l99AADeTEvJyRY367.jpg" target="_blank"></a>
測試檢出http://192.168.2.15/usvn/svn/data▼
<a href="http://s3.51cto.com/wyfs02/M02/58/4C/wKiom1St7uHyiP4FAAB1hKiz6Ko803.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/58/48/wKioL1St796Slx2bAAGAgN5w02w308.jpg" target="_blank"></a>
提示如下錯誤,是由于svnserve服務未啟動▼
<a href="http://s3.51cto.com/wyfs02/M00/58/48/wKioL1St79_R-iE4AAEqTPuours785.jpg" target="_blank"></a>
啟動svnserve服務
<a href="http://s3.51cto.com/wyfs02/M01/58/4C/wKiom1St70jwU4x9AAOQiMbDDy4453.jpg" target="_blank"></a>
再次嘗試檢測成功▼
<a href="http://s3.51cto.com/wyfs02/M02/58/4C/wKiom1St72DyzDhzAAGaBWk987Q793.jpg" target="_blank"></a>
本文轉自ling118 51CTO部落格,原文連結:http://blog.51cto.com/meiling/1600565,如需轉載請自行聯系原作者