linux(centos5.5)安装apache+svn

源地址:http://ja00159.j01.netjsp.com/tec/index.jsp?xwz=0012

linux下安装apache + subversion
环境是
操作系统:Red Hat Enterprise Linux Server release 5.3 (32位)
apache版本:httpd-2.2.14
subversion版本:subversion-1.6.6

需要的安装包:(目前是最新的)
subversion-1.6.6.tar.gz 地址:http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
subversion-deps-1.6.6.tar.gz 地址:http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz
httpd-2.2.14.tar.gz 地址:http://apache.etoak.com/httpd/httpd-2.2.14.tar.gz

一.安装apr跟apr-util(这两个包subversion已经带了)
1.解压subversion
tar zxvf subversion-1.6.6.tar.gz
tar zxvf subversion-deps-1.6.6.tar.gz (这个解压后会自动放到前面一个解压的目录里的)

2.安装
cd subversion-1.6.6/apr
./configure --prefix=/usr/local/apr
make && make install

cd subversion-1.6.6/apr-util
./configure --with-apr=/usr/local/apr
make && make install

二.安装apache
1.解压apache
tar zvxf httpd-2.2.14.tar.gz
2.安装
#./configure --prefix=/opt/Apache2 --enable-so --enable-dav --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
#make
#make install

注意:--prefix指定安装目录,注意一定要加--enable-so是核心能够装载DSO和--enable-dav是安装mod_dav_svn.so跟mod_authz_svn.so这两个模块

三. 安装subversion
#cd subversion-1.6.6
#./configure --prefix=/opt/subversion --with-apxs=/opt/Apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl --with-zlib=/usr/lib --enable-maintainer-mode
#make
#make install

四. 配置subversion
1.创建账号密码文件
#mkdir -p /home/svnroot
#chown -R svnroot:svn /home/svnroot
2.创建资料库
首先要创建一个资料库(我使用单资料库的方式),使用svnadmin增加资料库
#cd /usr/local/subversion/bin
#./svnadmin create /home/svnroot/repository/pro1
到svnroot下看是不是多了文件,多了就是说明创建成功
htpasswd –c /home/svnroot/repository/pro1/conf/passwd prouser1
输入密码,两次确认
注意:第一次设置用户密码要加入 –c 这个参数

五. 配置apache的httpd.conf
打开apache的conf/httpd.conf, 安装subversion后,apache的conf/httpd.conf文件会自动增加了模块配置
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

相应的so文件也自动copy到了apache/modules。这些工作就不用自己动手了。

需要自己动手修改apache下的httpd.conf最后增加以下内容

DAV svn
SVNPath /home/svnroot/repository/pro1 #版本库的目录
AuthType Basic
AuthName "Subversion repository" #欢迎语言
AuthUserFile /home/svnroot/pro1/conf/passwd #密码文件
Require valid-user

注意:
1. SVNPath一定要跟./svnadmin create /home/svnroot/repository/pro1的目录一样
2. 目录svnroot的权限设置成755
3. 因为要用HTTP服务器Apache,Apache安装后默认的属主和属组的配置为daemon和daemon,
所以其中属主和数组改为svnroot:svn,否则创建的仓库没有写的权限,当客户端上传文件会报类似的错误:
svn: Can't create directory '/subversion/main/db/transactions/0-1.txn': Permission denied
修改后的/opt/Apache2/conf/httpd.conf文件中的配置如下:
......
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
#User daemon
#Group daemon
User svnroot
Group svn
......

六.修改版本库配置文件
版本库1:
# vi /home/svnroot/repository/pro1/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /home/svnroot/repository/pro1/conf/passwd
authz-db = /home/svnroot/repository/pro1/conf/authz
realm = pro1


七.启动Apache
# ./apachect1 start

【附】
vi /usr/local/apache/conf/httpd.conf
//在最下面添加,我在配置的时候,下面这两句话是自动加上的,可以不加
#LoadModule dav_svn_module modules/mod_dav_svn.so
#LoadModule authz_svn_module modules/mod_authz_svn.so

DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证

//其中authfile是通过
htpasswd -b -c /home/svnroot/repository/authfile username password
//来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。

2)权限分配

配置用户访问权限,用于定义用户组和版本库目录权限
# vi /home/svnroot/repository/authz.conf

注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。也就是在前面用htpasswd添加的用户
* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:
[groups]
用户组名 = 用户1,用户2
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:
[版本库:/项目目录]
@用户组名 = 权限
用户名 = 权限

其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svnroot/repository。这样,/就是表示对全部版本库设置权限。
test:/,表示对版本库test设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

示例:
[groups]
admin = mangosoft

[/]
@admin = rw

[test:/]
@admin = rw
lsw = rw
jackey=rw

删除Subversion默认安装库文件权限文件authz,passwd
# rm /home/svnroot/repository/test/conf/authz
# rm /home/svnroot/repository/test/conf/passwd

测试
如果顺利的话,就可以通过http://localhost/svn/test访问了,GoodLuck!

1、相关软件下载:
访问http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
从下载列表下载最新版本:
subversion-1.6.9.tar.gz 和subversion-deps-1.6.9.tar (包括apr的一些库)

2、解压缩。
#gunzip subversion-1.6.9.tar.gz
#gunzip subversion-deps-1.6.9.tar

注意,subversion-deps-1.4.6.tar.gz 会解压到subversion-1.6.9目录下。

3、编译安装
#./configure --prefix=/opt/subversion
如果提示:
configure: error: We require OpenSSL; try --with-openssl
#./configure --prefix=/opt/subversion --with-openssl=/usr/bin
#make
#make install

6、创建项目目录 mkdir -R /fileServer/app/subversion/project
7、创建资料库
{subversion}/bin/svnadmin create /fileServer/app/subversion/project
8、修改配置
/path/to/repos/conf/passwd 增加用户和口令(明码)
/path/to/repos/conf/svnserve.conf配置如下
anon-access = none
password-db = passwd
9、验证安装 svnadmin --version
10、启动服务 svnserve --daemon --root /fileServer/app/subversion/project
11、验证服务 #lsof -i :3690
12、下载客户端 http://sourceforge.net/projects/tortoisesvn/
13、配置Eclipse使用Subversion
打开Eclipse的菜单Help > Software Updates > Find and Install ......URL:http://subclipse.tigris.org/update_1.0.x
窗口 > 显示视图 > 其他,选择SVN资源库,在视图中右键 新建>资源库位置,输入svn://168.168.1168.168,OK


eclipse插件下载


./configure --with-apxs=/opt/apache2/bin/apxs --with-apr=/opt/apache2 --with-apr-util=/opt/apache2 --prefix=/opt/subversion-1.6.9

./configure --prefix=/opt/Apache2 --enable-so --enable-dav --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
make
make install

./configure --prefix=/opt/subversion --with-apxs=/opt/Apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl --with-zlib=/usr/lib --enable-maintainer-mode
make
make install

mkdir -p /home/svnroot

----------------------------------
Apache2实现限制IP访问服务
用 deny 和 allow 来实现
例如:
Deny from all
allow from 162.105.166.111

你可能感兴趣的:(apache,eclipse,linux,SVN,subversion)