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,如需转载请自行联系原作者