打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
配置自己的Linux svnserve服务器
 svn安装使用(svnserver模式)  
[SVN]
post by 俊文 / 2010-4-8 16:03 Thursday

1.先卸载老版本的svn

如果rpm -e subversion 不能卸载的话,用以下命令:

 rpm -e --allmatches subversion

(subversion的1.6版本无需在单独下载下面的包,可以直接下载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

二,创建资源库

cd /data/svn

svnadmin create repos  

svnserve -d -r /data/svn

三,修改用户名和密码
1,修改/home/hideto/repos/conf/svnserve.conf,把下面三行的注释去掉

  1. anon-access = read   
  2. auth-access = write   
  3. password-db = passwd 

2,修改/home/hideto/repos/conf/passwd,添加用户和密码

  1. kingwen = kingwen  
  2. lu= lu

四,导入project

  1. svn import -m "Import rails project hilog" /data/soft file:///data/svn/repos/project

svn co svn://IP/repos/project

如果以上方法不能正确创建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无法通过,出现没有找到sqlite3.c没有找到的错误,那么需要下载sqlite-amalgamation,设置如下

         【

            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下会出现mod_dav_svn.so 和 mod_authz_svn.so 模块。

安装过程结束。以下是配置svn和apache,配置过程如下

1)创建svn用户

    groupadd svn
    useradd -g svn svn
以后代码库的创建维护等,都用这个帐户来操作。

2)创建版本库

  切换用户

  su - svn

  编辑.bash_profile

  加上一下配置

   SVN_HOME=/usr/local/subversion
   export SVN_HOME
   PATH=$SVN_HOME/bin:$PATH
   export PATH

  export LC_ALL=C

  创建版本库:

   svnadmin create --fs-type fsfs myprojects

  此时,在/home/svn/myprojects下出现以下文件,如下:

    conf/ db/ format hooks/ locks/ README.txt

  创建启动Subversion的脚本:
  echo '/usr/local/subversion/bin/svnserve -d -r /home/svn/' > start_svn.sh
  chmod +x start_svn.sh
  ./start_svn.sh


  将启动脚本放置到开机自动启动脚本中:
  以root身份修改文件:/etc/rc.d/rc.local,添加以下文字:
  su -c /home/svn/start_svn.sh svn

3)创建一个项目

  切换到svn用户 

              su - svn

  新建一个项目,假设为mytest

              mkdir /home/svn/mytest

  在此文件夹下新建三个子目录

              mkdir /home/svn/mytest/trunk

              mkdir /home/svn/mytest/branches

              mkdir /home/svn/mytest/tags

      说明,以上3个目录并不是svn必须的,但是只是一个习惯,详细说明见:http://www.subversion.org.cn/svnbook/nightly/svnbook.html#svn.intro.install

  将此目录导入到版本库中:

  svn import /home/svn/mytest file:///home/svn/myprojects -m "initial import"

  

  可以通过svn协议:svn://192.168.0.10/myprojects/trunk来对此项目进行操作。

注意,这个时候你可以update 但是不能提交,而且没有让你输入用户名和密码的窗口出来,这个是因为你的权限没有设置,这是第二次在这个地方范错误了!~

4)设置myprojects访问的用户名和密码

   编辑文件/home/svn/myprojects/conf/passwd文件

        在[users] 按照一下格式设置用户名和密码:

            用户名1=密码1

            用户名2=密码2

         例如test=test,表示用户名是test,密码也是test

  编辑文件/home/svn/myprojects/conf/svnserve.conf

   加上几行配置:

         anon-access = read
         auth-access = write

         password-db = passwd

   注意,此几行配置所在行第一个字母钱不能有任何空格,否则会出现类似svnserve.conf:12: Option expected 这样的错误

   保存退出,然后重启svn server即可。

    可以使用svn client来测试是否能commit和update

5)配置apache,以便支持svn支持http协议

        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的默认用户为svn

       User svn

       Group svn

配置虚拟主机:

    去掉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库的文件。

 
 
下面为配置 http服务权限的具体信息。

四. 配置subversion 

  1.创建账号密码文件 

  mkdir -p /data/svn/test 

  chown -R apache:apache /data/svn/svnroot //此用户一定与apache 的配置用户相同,请查看httpd.conf,权限错误一般也是因为用户等原因。 

      我把apache的用户/组均改为svn/svn ,而且创建的文件存在/home/svn下面,所以上面这一步可以不做。      

  /usr/local/apache2/bin/htpasswd –c/data/svn/passwd.conf apache 

  输入密码,两次确认 

  注意:第一次设置用户密码要加入–c 这个参数 

  2.创建资料库 

  首先要创建一个资料库(我使用单资料库的方式),使用svnadmin增加资料库 

  /usr/local/subversion/bin/svnadmin create –fs-type fsfs /data/svn/test //一定要指定格式,不然以后在SVN访问出现权限403错误 

  Forbidden 

  You don't have permission to access /test/ on this server. 

  到test下看是不是多了文件,多了就是说明创建成功 

  五. 配置apache的httpd.conf 

  打开apache的conf/httpd.conf,安装subversion后,apache的conf/httpd.conf文件会自动增加了模块 

  LoadModule dav_svn_module modules/mod_dav_svn.so 

  LoadModule authz_svn_module modules/mod_authz_svn.so 

  相应的so文件也自动copy到了apache/modules。这些工作就不用自己动手了。 

  需要自己动手修改apache下的httpd.conf最后增加以下内容 

  <Location /svn> 

  DAV svn 

  SVNPath /data/svn/test#版本库的目录 

  AuthType Basic 

  AuthName "Subversion repository"#欢迎语言 

  AuthUserFile /data/svn/passwd.conf #密码文件 

  Require valid-user 

  </Location> 

  注意: 

  1. SVNPath一定要跟./svnadmin create /data/svn/svnroot的目录一样 

  2. 目录svnroot的权限设置成755 

  六. 验证安装 

  打开浏览器,输入地址为http://服务器ip/svn 

  出现登陆窗口,输入用户名跟密码 
 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux下 SVN Apache SSL配置手册 apache自动启动脚本
J2EE综合 svn配置手记
linux下apache+SVN搭建完美版
在linux下安装svn(摘录+自己的总结)
Subversion在linux下的安装步骤
svn使用手记
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服