linux下svn结合apache

4年前 (2015-12-01) Jason Liu 运维 0评论 已收录 302℃

1、安装apahce
apr-1.4.8.tar.gz
apr-util-1.5.2.tar.gz
httpd-2.2.27.tar.gz

安装apr

tar -zxvf apr-1.4.8.tar.gz
 cd apr-1.4.8
 ./configure --prefix=/usr/lcal/apr
 make && make install

安装apr-util

tar -zxvf apr-util-1.5.2.tar.gz
 cd apr-util
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
 make && make install

安装apache

groupadd apache
 useradd -g apache -s /bin/nologin -M apache
 tar -zxvf httpd-2.2.27.tar.gz
 cd httpd-2.2.27
 ./configure \
 --prefix=/usr/local/apache \
 --with-apr=/usr/local/apr \
 --with-apr-util=/usr/local/apr-util/ \
 --enable-modules=so" \
 --enable-dav \
 --enable-dav-fs \
 --enable-rewrite
 make && make install

2、安装sqlite

tar -zxvf sqlite-autoconf-3080600.tar.gz
 cd sqlite-autoconf-3080600
 ./configure --prefix=/usr/local/sqlite
 make && make install

3、安装svn

tar -zxvf subversion-1.7.2.tar.gz
 cd subversion-1.7.2
 ./configure \
 --prefix=/usr/local/svn \
 --with-apxs=/usr/local/apache/bin/apxs \
 --with-apr=/usr/local/apr \
 --with-apr-util=/usr/local/apr-util/ \
 --with-sqlite=/usr/local/sqlite
 make && make install

4、配置apache

vim /usr/local/apache/conf/http.conf
 #修改apache服务用户
 User apache
 Group apache

#添加svn所需要的模块

LoadModule dav_svn_module modules/mod_dav_svn.so
 LoadModule authz_svn_module modules/mod_authz_svn.so

#访问svn的配置

<Location /svn>
   Options Indexes FollowSymLinks
   DAV svn
   SVNParentPath /data/svn
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /data/svn/svn-auth.conf
   Require valid-user
   AuthzSVNAccessFile /data/svn/svn-access.conf
 </Location>

创建apache认证文件

mkdir -pv /data/svn

创建第一个用户admin 需要加参数 -c

/usr/local/apache/bin/htpasswd -cm /data/svn/svn-auth.conf admin

输入密码
创建第二个用户不需要加 -c

/usr/local/apache/bin/htpasswd -m /data/svn/svn-auth.conf programer

创建第三个用户

/usr/local/apache/bin/htpasswd -m /data/svn/svn-auth.conf guret

创建用户访问权限

vim /data/svn/svn-access.conf
 [groups]
 admin = admin                         #创建admin组,admin用户属于这个组
 developers = programer         #创建developer组,progrmaer用户属于这组
 [/]  
 * = r                                                 #所有用户对根目录只有读权限
 @admin = rw                              #admin组的用户有写权限
 [project1:/]                                   #对创建project1这个项目
 @developers = rw                     #developers组的用户对这个项目有写权限
 [/test]                                           #设置目录权限
 @developers = rw                    #developers组的用户对目录有些权限
 guest = r                                    #guest用户只要读权限

6、创建第一个项目仓库project1

/usr/local/svn/bin/svnadmin create /data/svn/project1

执行后生成如下

.......

7、启动svn服务

/usr/local/svn/bin/svnserve -d -r /data/svn/project1/

-d:以后台服务器形式启动
-r:指定仓库路径
修改svn仓库的权限

chown -R apache:apache /data/svn

8、启动apache,测试访问

http://ip/svn/project1

相关推荐

嗨、骚年、快来消灭0回复。