杨叔叔 发表于 2018-10-24 06:49:01

SVN Server 安装(Linux)

  linux redhat下安装svn:
  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位的安装包,直接安装即可,我的系统是redhat 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
  注意:如果这个时候提示你lib.so之类的东西,那就是没有找到那个包,此时你需要做的是在/etc/ld.so.conf
  3.mkdir /data/svn
  4.进入/data/svn/ 执行svnadmin create repos
  5.svnserve -d -r /data/svn
  6.修改/data/svn/repos/conf/svnserve.conf,把下面三行的注释去掉
  1.anon-access = none
  2.auth-access = write
  3.password-db = passwd
  4.authz-db = authz
  7.修改/data/svn/repos/conf/passwd,添加用户和密码
  1.shanshan = shanshan
  2.jiafei = jiafei
  8.导入project
  1.svn import -m "Import rails project hilog" /data/soft file:///data/svn/repos/project
  svn co svn://IP/repos/project
  9.如果不能正常访问需要关闭服务器的防火墙:/etc/init.d/iptables stop
  还需修改/etc/selinux/config 文件的SELINUX=enforcing 修改为SELINUX=disabled
  如果以上方法不能正确创建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 testprojects
  此时,在/home/svn/testprojects下出现以下文件,如下:
  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来对此项目进行操作。
  4)设置myprojects访问的用户名和密码
  编辑文件/home/svn/myprojects/conf/passwd文件
  在 按照一下格式设置用户名和密码:
  用户名1=密码1
  用户名2=密码2
  例如test=test,表示用户名是test,密码也是test
  编辑文件/home/svn/myprojects/conf/svnserve.conf
  加上几行配置:
  anon-access = none
  auth-access = write
  password-db = passwd
  authz-db = authz
  注意,此几行配置所在行第一个字母钱不能有任何空格,否则会出现类似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
  ServerAdmin webmaster@domain.com
  ServerName 192.168.0.10
  ErrorLog logs/svn_error_log
  CustomLog logs/svn_access_log common
  DAV svn
  SVNListParentPath on
  SVNParentPath /home/svn
  保存退出。
  启动Apache,/usr/local/apache2.2/bin/apachectl start
  输入url:http://192.168.0.10/myprojects可以查看svn库的文件。

页: [1]
查看完整版本: SVN Server 安装(Linux)