基于Apache+Subversion安装配置

一、安装apache:

    $ tar zxvf httpd-2.2.23.tar.gz
$ cd httpd-2.2.23

$ mkdir –p/usr/local/app/apache2

$ ./configure --prefix=/usr/local/app/apache2--enable-dav --enable-so --enable-maintainer-mode --enable-rewrite#添加后面的参数是为了解析svn

$ make && make install

/usr/local/app/apache2/conf/httpd.conf#apache主配置文件/usr/local/app/apache2/bin/apachectl –t#检查配置是否正确(Syntax OK)

/usr/local/app/apache2/bin/apachectl  –v#查看版本信息(正确安装)

/usr/local/app/apache/bin/apachectl  {start/stop/restart}#基本命令

#输入http://192.168.0.210/#提示It Works!  表示安装成功


   $ cp support/apachectl/etc/init.d/httpd

   $ vi /etc/init/httpd

      # Startup script for the Apache Web Server

# chkconfig: - 85 15

# description: Apache is a World Wide Web server. It isused to serve

# HTML files and CGI.

# processname: httpd

# pidfile: /usr/local/app/apache2/log/httpd.pid

# config: /usr/local/app/apache2/conf/httpd.conf

$ chmod 755 /etc/init.d/httpd

$ mkdir -p /var/log/httpd/access_log

$ service httpd  {start/stop/restart/status}


二、安装Subversion:

$ tar  zxvf  subversion-1.7.7.tar.gz

$ cd subversion-1.7.7

$ yum installapr-util-sqlite.x86_64 sqlite-devel.x86_64 sqlite.x86_64

$ ./configure--with-apxs=/usr/local/app/apache2/bin/apxs

$ make clean && make&& make install


$ groupadd apache

$ useradd apache -d/usr/local/app/apache2 -s /sbin/nologin -g apache

$ mkdir  -p  /u1/data/svnrepo#创建版本仓库

$ svnadmin create/u1/data/svnrepo/gy#创建版本库gy

$ chown –R apache:apache /u1/data#修改版本仓库权限

$ /usr/local/app/apache2/bin/htpasswd-c -b \

/u1/data/svnrepo/authuser.conf  zhangdh  zdh_gy2012

#提示:Adding password for user zhangdh,表示成功

#第一次分配用户权限时使用“-c”参数,创建用户配置文件和生成第一个用户

$ /usr/local/app/apache2/bin/htpasswd-b \

/u1/data/svnrepo/authuser.conf用户名 密码#以后每次使用该命令


$ mkdir –p  /u1/data/svnrepo/authaccess.conf

[groups]#配置对应分组用户

svnadmin= zhangdh

gy=zhangdh


[gy:/]  #为该分组分配操作权限

@svnadmin=rw

@gy=rw


三、配置Apache+Subversion:

$ cat /usr/local/app/apache2/conf/httpd.conf#主配置文件

...

ServerRoot"/usr/local/app/apache2"

Listen 8888

Userapache

Group apache

ServerAdminroot@localhost

ServerName192.168.0.210

LoadModuledav_svn_module     modules/mod_dav_svn.so

LoadModuleauthz_svn_module modules/mod_authz_svn.so

...

#svn

<Location/svn >

DAV svn

SVNParentPath/u1/data/svnrepo#仓库主目录

AuthzSVNAccessFile/u1/data/svnrepo/authaccess.conf#权限配置文件

AuthUserFile/u1/data/svnrepo/authuser.conf#用户配置文件

AuthType  Basic#链接类型设置

AuthName"SVN Repository"#链接框提示信息

Require valid-user#认证方式

</Location>

  ...


   #测试:http://192.168.0.210:8888/svn/gy/

   #       输入:zhangdh   zdh_gy2012

   #提示:gy - Revision 0: /                                   #安装成功


四、以后每添加一个用户需要做的工作有以下几点(就本文而言)

(1)为用户分配权限

$ /usr/local/app/apache2/bin/htpasswd-b \

/u1/data/svnrepo/authuser.conf  zhangsan zs_gy2012


(2)修改权限配置文件

gy = zhangdh,zhangsan #用户之间逗号隔开,zhangsan为(1)所添用户


      [system:/]  #system为(4)所建版本库

      @svnadmin=rw

      @gy=rw

  (3)重启apache服务

     $ /usr/local/app/apache2/bin/apachectl  restart


 (4)如果需要新建版本库,应放在(1)之前,并进行以上两步工作

     $ svnadmincreate /u1/data/svnrepo/system

     $ chown –Rapache:apache  /u1/data/svnrepo/system


五、客户端工具:TortoiseSVN

   安装完成后,右击将会提示:

   SVNCheckout

   TortoiseSVN

   具体使用参考svn使用教程