编译subversion

来源:互联网 发布:工程结构优化设计基础 编辑:程序博客网 时间:2024/05/16 18:45
   由于工作需要,所以试着在SUSE上安装了以把subversion,前后也搞了差不多5个小时,回头一看,要是熟练的话也就2个小时的事情,所以就把经过写出来,给也需要在linux上安装subversion的朋友一点借签。
       因为我用的都是源码包编译安装,所以应该对于具体的Linux发行版本没有过多要求。也就是说我是在SUSE下安装,但是如果把这个过程放到redhat或者fedora或者ubuntu上应该也是完全可行的。
       好了,不说废话了,进入主题。

  1. 首先下载berkeley DB

地址:http://download.oracle.com/berkeley-db/db-4.6.18.tar.gz

下这个因为subversion内部使用的管理数据的功能会需要用到。
但是后来经过猜测,应该不装也没问题,因为subversion有两种关于这个的模式,不装的话可以用另外种,subversion的解释如下 

The following repository back-end (FS) modules are available: 

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository. 

但是为了保险我还是装了,具体命令行如下
tar zxvf db-4.6.18.tar.tar
cd db-4.6.18/build_unix/
../dist/configure --prefix=/usr/local/bdb
make
make install

  

  1. 接着安装apr和apr-util

这是个apache的project,全名是Apache Portable Runtime
现在最新的版本是1.2.12,不过貌似那个版本是给apache2.6用的,而我们的apache是2.0.x的,所以我用的是0.9.17的。这个要注意下,版本不符合可能安装会有问题,下面是下载地址
http://apr.apache.org/ 

先装apr, 如果下的gz包可以用
tar zxvf apr-0.9.17.tar.tar 解压
如果是bz2包可以用
tar xfj apr-0.9.17.tar.tar
然后
cd apr-0.9.17/
./configure
make
make install
这里configure的时候不指定路径的话默认是安装到/usr/local/下 

然后安装apr-util
解压同apr
然后
cd apr-util-0.9.15/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ --with-berkeley-db=/usr/local/bdb   (这步要把berkeley数据库一起编译进去,否则berkeley就白装了)
make
make install

  

  1. 安装subversion

首先,当然还是下载
Subversion源码包:http://subversion.tigris.org/downloads/subversion-1.4.3.tar.bz2
依赖包:http://subversion.tigris.org/downloads/subversion-deps-1.4.3.tar.bz2 

tar xfj subversion-1.4.3.tar.bz2
tar xfj subversion-deps-1.4.3.tar.bz2
./configure --with-apxs=/opt/oss/sbin/apxs --with-apr=/usr/local/apr/bin/apr-config --with-apr-util=/usr/local/apr-util/bin/apu-config
make
make install 

装完后用svnadmin –version查看下是否有信息,有的话说明安装成功

  

      4.配置
            首先创建一个repository
            svnadmin create /home/svn/projectname
            然后把/home/svn/projectname/conf/passwd, /home/svn/projectname/conf/svnserve.conf, /home/svn/projectname/hooks/control-file里的参数配置一下
             passwd里放的是每个用户名和密码
             svnserve.conf里放的是关于匿名和非匿名用户的权限
             control-file里放的是具体到每个文件夹,每个用户的读写权限

            再来要打开subversion的端口,subversion默认端口是3690
            su - root -c "svnserve -d -r /home/svn/projectname" 

            命令执行后可以用
            ps -ed | grep svnserve
            查看svnserve服务是否已经启动 

            还可以用
            netstat -ant | grep 3690
            查看3690端口是否已经被监听

            

      5.导入资源

            首先把当前路径设置到放代码的路径,比如说

/home/htdocs/projectname

然后执行

svn import svn://localhost/projectname -m "projectname"

等命令行重新出现后就完成了。

 

      6.Check out

这步没啥好说的了,就是从客户端把代码check out了。注意check out的时候选的资源名就是第5步中svn://localhost/projectname这个地址里的projectname。