linux下svn结合apache的配置教程

作者:袖梨 2022-06-30

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的配置



   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
 

创建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

相关文章

精彩推荐