apache+subversion安装

 

Subversion,简称SVN,是一个开放源代码的版本控制系统,是团队开发和项目管理的必备工具。下面介绍一下apache+subversion的服务安装:

一、依赖安装包:

1.apr-1.4.2.tar.gz

2.apr-util-1.3.9.tar.gz

3.subversion-1.6.11.tar.gz

4.sqlite-amalgamation-3.6.13.tar.gz

5httpd-2.2.12.tar.gz

注意:apach的版本 与 subversion版本的兼容问题

二、安装

1、安装apr

      tar -zxvf  apr-1.4.2.tar.gz

      cd apr-1.4.2

      ./configure

      make & make install

2、安装apr-util

      tar -zxvf apr-util-1.3.9.tar.gz

      cd apr-util-1.3.9

      ./configure --with-apr=/usr/local/apr

      make & make install

3、安装 apache

      tar -zxvf  httpd-2.2.12.tar.gz

      cd httpd-2.2.12

      ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

      make

      make install

4、重要配置:

将/etc/ld.so.conf 改成

include ld.so.conf.d/*.conf

/usr/local/sqlite

/usr/bin/libtool

/usr/share/libtool

5、安装subversion

      tar -zxvf  subversion-1.6.11.tar.gz 

      cd subversion-1.6.11

      ./configure --prefix=/opt/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

      make

      make install

     注意:因为这些安装包需要gcc编译,所以要确保linux上装有gcc程序,否则是没办法进行安装的

 三、在apache中配置SVN

      vi /usr/local/apache2/conf/httpd.conf

     1.找到一下部分

      LoadModule dav_svn_module     modules/mod_dav_svn.so

      LoadModule authz_svn_module   modules/mod_authz_svn.so

      启用一下mod_foo

      #LoadModule foo_module modules/mod_foo.so

 

     2.定义apache访问svn配置:

      <Location /svn>

              DAV  svn

      #     SVNPath /opt/svndata

              SVNParentPath /opt/svndata

              AuthzSVNAccessFile /opt/svn/conf/authz.conf

              AuthType Basic

              AuthName "Subversion repository"

              AuthUserFile /opt/svn/conf/passwd.conf

              Require valid-user

      </Location>

 四、配置svn

      1. 建立svn版本库目录

      mkdir -p /opt/svndata/repos #可以多建版本库目录

      2. 建立svn版本库

      svnadmin create /opt/svndata/repos

      mkdir -p /opt/svndata/repos #可以多建版本库

      3. 建立本地访问控制文件

      /usr/local/apache2/bin/htpasswd -c /opt/svn/conf/passwd.conf  username

      然后输入密码即可,默认是MD5加密的

      /usr/local/apache2/bin/htpasswd  /opt/svn/conf/passwd.conf  username1 #追加用户

      4. 建立本地项目控制文件

      touch /opt/svn/conf/authz.conf

      本例authz.conf内容为:      

      [groups]

      #<groupname1>=<username1>,<username2>

      admin=username

      #[<versionLib>:projectName/directory]

      #@<groupsname>=<authorities>

      #<username>=<authorities>

      [/]

      @admin = rw      #指定用户组成员可以读写根目录所有应用

      [repos:/abc/aaa]

      username1= rw      #指定用户username1可以读写:/abc/aaa目录的文件

至此,整个安装过程完成了!

五、测试连接

     1. 启动apache

      /usr/local/apache2/bin/apachectl start

     2. 打开浏览器,输入http://server_ip/svn/repos

      使用刚才创建的权限用户名与密码登录即可访问

      注意:在你上传文件的时候可能会有如下权限不足的提示

      Permission denied

      svn: Commit failed (details follow):

      svn: Can't create directory '/opt/svndata/repos/db/transactions/0-1.txn': Permission denied

      这是因为apache在线程用户没有权限访问svn的仓库,两者分别属于不同的用户者

      本例apache属于daemon拥有者,而svn仓库属于svn拥有者

      解决方法:

      chown -R daemon /opt/svndata/repos

      chmod -R 755 /opt/svndata/repos

 

       重启下apache:

       /usr/local/apache2/bin/apachectl stop

       /usr/local/apache2/bin/apachectl start

 

你可能感兴趣的:(apache,sqlite,SVN,gcc,subversion)