2013-10-28 19:21:01
来 源
ITJS.CN
Apache
这里分享一下Linux系统中Apache+Subversion服务的安装配置,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

1.安装apache httpd-2.0.63,svn客户端通过这个协议访问svn服务端

(1) 下载 http://httpd.apache.org/download.cgi

(2) 解压 tar zxvf httpd-2.0.63.tar.gz

(3) 进入解压目录,配置

./configure --prefix=/usr/local/apache2 --enable-module=so --enable-dav --enable-so --enable-maintainer-mode

(3) 编译,安装

make && make install

2.安装subversion

先确保步骤1已经完成

(1) http://subversion.tigris.org/  下载subversion-1.6.0.tar.gz  subversion-deps-1.6.0.tar.bz2

(2) 解压tar zxvf subversion-1.6.0.tar.gz

(3) 解压tar jxvf subversion-deps-1.6.0.tar.bz2

(4) 进入解压subversion-1.6.0目录,配置

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

(3) 编译,安装

make && make install

3. 编辑/usr/local/apache2/conf/httpd.conf

(1) 建立个文件夹/home/svn_database目录下用来存放仓库

(2) 在/home/svn_database 目录下创建一个文件svnaccessfile

(3) 查看subversion两个动态库有没有安装成功

打开/usr/local/apache2/conf/httpd.conf

看到下面两个行并且有/usr/local/apache2/modules/目录下有mod_authz_svn.so和mod_dav_svn.so文件时有说明安装成功

LoadModule dav_svn_module modules/mod_dav_svn.so       #让apache加载dav模块

LoadModule authz_svn_module modules/mod_authz_svn.so   #让apache加载授权模块

如果没有,则需要手动拷贝,把svn下的mod_authz_svn.so和mod_dav_svn.so拷到/usr/local/apache2/modules/目录下

另一方面,在/usr/local/apache2/conf/httpd.conf中的# Dynamic Shared Object (DSO) Support下面增加以下两行

LoadModule   dav_svn_module modules/mod_dav_svn.so       #让apache加载dav模块

LoadModule   authz_svn_module modules/mod_authz_svn.so   #让apache加载授权模块

注:mod_authz_svn.so和mod_dav_svn.so是由SVN编译产生,可以通过搜索安装的源目录或Linux文件系统把到。

(4) 去掉/usr/local/apache2/conf/httpd.conf中#ServerName localhost:80的注解,实际上给它一个IP如:

ServerName 192.168.1.40:80

(5) 在/usr/local/apache2/conf/httpd.conf文件结尾加入

<Location /svn>

DAV svn

SVNParentPath /home/svn_database

AuthzSVNAccessFile /home/svn_database/svnaccessfile

Require valid-user

AuthType Basic

AuthName "Subversion SVN"

AuthUserFile /home/svn_database/svnpasswd

</Location>

4.在Linux系统上创建用户

useradd kosttodd

passwd kosttodd

5.创建svn密码文件svnpasswd同时为kosttodd帐号增加SVN的密码,(kosttodd用户密码和上面的要一样)

先进入/home/svn_database目录

htpasswd -c svnpasswd kosttodd

6.创建库

在/home/svn_database目录下

svnadmin create myapp

chmod 777 myapp -R

增加其库的访问权限

编辑svnaccessfile

在文件尾加入

[myapp:/]

kosttodd=rw

7.运行httpd

如果系统已经安装了apache,那么先停止先前的

/etc/init.d/httpd stop

之后直接运行新的apache

/usr/local/apache2/bin/apachectl start

在客户端访问可以SVN中检出,地址是http:/192.168.1.40/svn/myapp  (假设服务器IP为192.168.1.40)

8.搭建原理:

apache通过webdav模块来与svn联系

<Location /svn>指明apache配置文件httpd.conf定义http://localhost:80/svn为SVN存放地

客户端对库的操作权限首先客户帐号是Linux用户,另一方面该用户对库目录本身具有访问权限,例如执行chmod 777 myapp  -R

subversion-deps-1.6.0.tar.bz2包是解决subversion所依赖的库文件,安装所必需的,安装过程是先安装httpd,后安装再subversion是因为subversion会检查

apache是否已安装。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。