全部博文(271)
分类: LINUX
2010-05-11 21:40:18
RHEL5+Subversion-1.6.0+Apache-2.2.11
一、安装前的准备工作
1.下载
subversion-1.6.0.tar.gz
subversion-deps-1.6.0.tar.gz
httpd-2.2.11.tar.gz
apr-1.4.5.tar.gz
apr-util-1.3.9.tar.gz
zlib-1.2.3.tar.gz
2.rpm -qa|grep -E 'httpd|apr|subversion" ,如果有的话,全部卸载.
3.
del="`rpm -qa | grep -E 'httpd|apr|subversion'`"
for i in $del ; do rpm -e $i ; done
二、开始安装
1.安装apr
cd /usr/local/src
tar -zvxf apr-1.4.5.tar.gz
cd apr-1.4.5
./configure --prefix=/usr/local/apr
make && make install
2.安装apr-util
cd /usr/local/src
tar -zvxf apr-util-1.3.12.tar.gz
cd apr-util-1.3.12
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ && make && make install
4. 安装httpd-2.2.13.tar.gz
mkdir /usr/local/apache2
cd /usr/local/src
tar -zvxf httpd-2.2.13.tar.gz
cd httpd-2.2.13
./configure --prefix=/usr/local/apache2 \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr-util/bin/apu-1-config \
--enable-modules=so \
--enable-dav \
--enable-maintainer-mode \
--enable-rewrite
make && make install
启动apache服务
/usr/local/apache2/bin/apachectl start
netstat -ntlp
5.解压subversion
cd /usr/local/src
tar zxvf subversion-1.6.17.tar.gz
tar zxvf subversion-deps-1.6.17.tar.gz (这个解压后会放到前面一个解压的目录里的)
安装serf
cd subversion-1.6.17/serf
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
make && make install
安装 neon
cd /usr/local/src/subversion-1.6.17/neon
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
make && make install
安装 sqlite
cd /usr/local/src/
tar -xzvf sqlite-2.8.17.tar.gz
cd sqlite-2.8.17
./configure --prefix=/usr/local/sqlite3
make && make install
6.安装subversion
cd /usr/local/src
cd subversion-1.6.17
./configure --prefix=/usr/local/subversion \
--with-apxs=/usr/local/apache2/bin/apxs \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr-util/bin/apu-1-config \
--with-ssl \
--enable-maintainer-mode
make && make install
三、配置
1.vim /usr/local/apache2/conf/httpd.conf 查看是否有如下2行,有就对了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
2.建立版本库
mkdir /svn (代码的根目录,根据自己情况)
/usr/local/subversion/bin/svnadmin create /svn/simplemessae (建一个test项目)
/usr/local/subversion/bin/svnadmin create /svn/wtgame
ls /svn/simplemessae 里面多了些文件就对了
3.配置Apache来支持SVN
vim /usr/local/apache2/conf/httpd.conf
在末尾加上如下内容:
NameVirtualHost *:8888
NameVirtualHost *:8889
DAV svn
SVNPath /svn/simplemessae
AuthType Basic
AuthName "welcome to simplemessae"
AuthUserFile /svn/authfile
AuthzSVNAccessFile /svn/authz.conf
Require valid-user
DAV svn
SVNPath /svn/wtgame
AuthType Basic
AuthName "welcome to wtgame"
AuthUserFile /svn/authfile
AuthzSVNAccessFile /svn/authz.conf
Require valid-user
####
DAV svn
SVNParentPath /code #svn父目录
AuthzSVNAccessFile /code/authz.conf #权限配置文件
AuthName "Hello welcome to here" #此处字符串内容修改为提示对话框标题
AuthType Basic #连接类型设置
AuthName "Subversion" #连接框提示
AuthUserFile /code/authfile #用户配置文件
Require valid-user #采用何种认证
保存退出
4.启动 apache
/usr/local/apache2/bin/apachectl -k restart
打开IE,输入: 或
会弹出一个输用户和密码的框就对了
5.创建用户配置文件
/usr/local/apache2/bin/htpasswd -c /svn/authfile hujie
回车输入密码 (-c是第一次要创建文件)
/usr/local/apache2/bin/htpasswd /svn/authfile user2
回车输入密码
.
.等
6.创建权限配置文件
################################################
vim /svn/authz.conf
[root@localhost svn]# cat authz.conf
[groups]
admin = root,simple
[/]
root = rw
simple = rw
[/simplemessae]
root = rw
simple = rw
[/wtgame]
root = rw
simple = rw
#############################################
注意:在编辑authz.conf文件时,所有行都必须要顶头写,否则会报错
[test:/]
user1 = rw
user2 = r
保存退出
注:
[test:/] //这表示,仓库test的根目录下的访问权限
user1 = rw //test仓库user1用户具有读和写权限
user2 = r //test仓库user2用户具有读权限
[test2:/] //test2仓库根目录下的访问权限
user1 = r //user1用户在test2仓库根目录下只有读权限
user2 = //user2用户在 test2仓库根目录下无任何权限
[/] //这个表示在所有仓库的根目录下
* = r //这个表示对所有的用户都具有读权限
#[groups] //这个表示群组设置
#svn1-developers = user1, user2 //这个表示某群组里的成员
#svn2-developers = user1
#[svn1:/]
#@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置
7.重启Apache
/usr/local/apache2/bin/apachectl restart
打开IE,输入: 或
会弹出一个输用户和密码的框
输入你的添加的用户和密码就ok了
8.创建svn自启动
需要在/etc/profile文件内容的最后添加以下几行语句:
PATH=$PATH:/usr/local/subversion/bin
export PATH
svnserve -d
其中:/usr/local/svn/bin是svn的安装路径。
前两句的目的是为了实现svn的命令在任何目录上都可以使用。
另外一个让linux启动是自动启动svn服务的办法是在/etc/rc.d/rc.local文件里添加下面的语句:
/usr/local/subversion/bin/svnserve -d
### cd /svn/
chown -R daemon.daemon * #设置用户为HTTP的运行用户 防止权限问题
两种方法可任选其中一个
#####新建项目
/usr/local/svn/bin/svnadmin create /code/test2
vi /code/authz.conf
添加
[test2:/]
user1 = rw
user2 = r