安装SVN 需要注意的事项

我把 Apr 包、Apache 包、Svn 包都放在/tmp 目录下,以便安装


2、安装 Apr 包
a) 首先安装apr‐1.3.9.tar.gz 包
[root@localhost ~]#cd /tmp //进入到tmp 目录下
[root@localhost tmp]#tar ‐zvxf apr‐1.3.9.tar.gz            //解压apr-1.3.9.tar.gz 包
[root@localhost tmp]#cd apr‐1.3.9                               //进入到apr-1.3.9 目录
[root@localhost apr‐1.3.9]#ls                                      //查看apr-1.3.9 目录内容
[root@localhost apr‐1.3.9]#./configure                             //执行./configure 命令
[root@localhost apr‐1.3.9]]#make                        //执行make 命令进行编译
[root@localhost apr‐1.3.9]#make install                            //执行make install 命令安装


这个目录。当然如果你不想安装在这个目录,你需要在./configure 后面添加指定路径
参数--prefix=/xx/xx(--prefix 后面等于你自己想要定义的路径),在这里我就默认
安装了。(建议默认安装)


b) 其次安装 apr‐util‐1.3.9.tar.gz
[root@localhost apr‐1.3.9]#cd ..                                          //返回到上一级目录
[root@localhost tmp]# tar ‐zvxf apr—util‐1.3.9.tar.gz               //解压apr-util-1.3.9.tar.gz 包
[root@localhost tmp]# cd apr‐util‐1.3.9                              //进入到apr-util-1.3.9 目录
[root@localhost apr‐util‐1.3.9]#ls                                             //查看apr-util-1.3.9 目录内容
[root@localhost apr‐util‐1.3.9]#./configure ‐‐with‐apr=/usr/local/apr
 

//执行./configure 命令,后面必须加上--with-apr 参数,它的意思是指定上次我
们安装apr-1.3.9.tar.gz 的路径
 

[root@localhost apr‐util‐1.3.9]#make                   //执行make 命令进行编译
[root@localhost apr‐util‐1.3.9]#make install            / /执行make install 命令安装


3、安装 Apache 包
[root@localhost apr‐util‐1.3.9]# cd .. //返回到上一级目录
[root@localhost tmp]#tar ‐zvxf httpd‐2.2.13.tar.gz //解压httpd-2.2.13 包
[root@localhost tmp]#cd httpd‐2.2.13 //进入到httpd-2.2.13 目录
[root@localhost httpd‐2.2.13]#ls //查看httpd-2.2.13目录内容
[root@localhost httpd‐2.2.13]#
./configure  --prefix=/usr/local/apache --enable-dav  --enable-so  --enable-maintainer-mode
--enable-ssl  --with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
 

//执行./configure 命令,该命令有点长,后面要带很多参数,--prefix 的意思是指定
安装Apache 的目录路径,这里我选择安装到/usr/local/ apache 路径下,系统是没
有apache 文件夹的,但是它会自动生成。


--with-apr 和--with-apr-util 的意思是指定我们之前装的Apr 包里面的配置文件


[root@localhost httpd‐2.2.13]#make                        //执行make 命令进行编译
[root@localhost httpd‐2.2.13]#make install            //执行make install 命令安装
[root@localhost httpd‐2.2.13]#cd /usr/local/apache/bin                   //转到bin 目录
[root@localhost bin]#ls                                      //查看bin 目录下面的内容
[root@localhost bin]#./apachectl start                   //启动apache 服务

 

4、安装 svn 包
[root@localhost bin]#cd /tmp //转到tmp 目录下
[root@localhost tmp]#ls //查看tmp 目录下的内容


//解压subversion-1.5.6.tar.gz 和subversion-deps-1.5.6.tar.gz
[root@localhost tmp]#tar ‐zvxf subversion‐1.5.6.tar.gz
[root@localhost tmp]#tar ‐zvxf subversion‐deps‐1.5.6.tar.gz


//解压后它们会自动生成subversion-1.5.6 文件夹


[root@localhost tmp]#cd subversion‐1.5.6 //进入到subversion-1.5.6 目录
[root@localhost subversion‐1.5.6]#ls //查看subversion-1.5.6 内容

yum -y install expat
yum -y install expat-devel

[root@blog subversion-1.5.6]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config  --with-openssl=/usr/include/openssl --without-berkeley-db --prefix=/usr/local/svn --enable-maintainer-mode
 


[root@localhost subversion‐1.5.6]#make                     //执行make 命令进行编译
[root@localhost subversion‐1.5.6]#make install           //执行make install 命令安装
[root@localhost subversion‐1.5.6]#cd /usr/local/bin          / /转到bin 目录


[root@localhost bin]#ls //查看bin 目录下内容
[root@localhost bin]#svnserve ‐‐version //查看svn 版本信息
注意:如果显示的svn 版本信息是1.5.6,那就证明svn 安装成功,否则安装失败。
5、5、配置apache、svn
a) 此时 apache 的配置文件/usr/local/apache/conf/httpd.conf 中应该有了两个模块的
信息:
[root@localhost bin]#cat /usr/local/apache/conf/httpd.conf //显示httpd.conf 文件信息
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
2010‐4‐12
Redhat Linux安装svn 详细配置教程 作者:郭水源 4
如果没有该信息内容,请在最后一行添加。(一般情况下装好svn 后都会有,你只需检查)
 

b) 建立 svn 存储仓库
[root@localhost subversion‐1.5.6]#cd                / //转到根目录
[root@localhost /]#mkdir svn                             //新建svn 文件夹
[root@localhost /]#cd svn                             //转到svn 目录
[root@localhost svn]#mkdir project                          //新建project 文件夹
[root@localhost svn]#cd /usr/local/ bin /                        /转到bin 目录
[root@localhost bin]#ls                                   //查看bin 文件夹内容,会发现里面


有svnadmin 执行命令,下面我们用svnadmin 命令来创建svn 仓库


[root@localhost bin]#svnadmin create /svn/project/pms                 //执行svnadmin 命令,后面
 

添加create 以及创建的仓库名pms。svn 以及project 文件夹刚刚我们已经创建好。
 

c) 创建 apache 认证用户,用来对pms 仓库进行存储操作
[root@localhost bin]#cd /svn                                              //转到svn 目录
[root@localhost svn]#htpasswd ‐c passwd.conf gsy
 

注意://在svn 目录下执行该命令,-c 参数的意思是添加第一个用户,添加第二个或
者第三个等等用户就用-m 参数,passwd.conf 文件是我自己定义随便取的一个文件
名,当你执行这个命令时,它自动会在/svn 目录下生成passwd.conf 文件,gsy 是
我的用户命令。执行后系统就会自动提示你输入密码和确认密码
//创建第二个用户guoshuiyuan ,第三个用户xinxin,值得注意的是我们现在用的
参数是-m,切记!
 

[root@localhost svn]#htpasswd ‐m passwd.conf guoshuiyuan
[root@localhost svn]#htpasswd ‐m passwd.conf xinxin
d) 建立控制文件
[root@localhost svn]#touch authz.conf //新建authz.conf 文件
[root@localhost svn]#vi authz.conf //编辑authz.conf 文件
按字母i,然后在里面输入
[groups]
Admin=gsy
Develop=guoshuiyuan , xinxin
[pms:/]
@admin=rw
@develop=rw
[/]
*=rw
 

注释:Admin,Develop 表示组名;gys,guoshuiyuan 表示组成员;
[pms:/]表示在pms 仓库根目录下
@admin=rw 表示admin 组具有rw(read、write)读写权限
@develop=rw 表示admin 组具有rw(read、write)读写权限
[/]表示svn 根目录
*=rw 表示所有人都具有rw(read、write)读写权限
e) 在/usr/local/apache/conf/httpd.conf 中添加配置信息
[root@localhost svn]#cd /usr/local/apache/conf //转到conf 目录
[root@localhost conf]#ls //查看conf 文件夹内容
[root@localhost conf]#vi httpd.conf //编辑httpd.conf 文件
//按字母i ,使用小箭头↓,在文件的最后面修改和添加如下信息
修改前:
User daemon
Group daemon
修改后:
User apache
Group apache
文件最后面添加:
<Location /svn> //路径
DAV svn //命名
SVNPath /svn/project/pms //指向路径
AuthType Basic //基本验证方式
AuthName "Subversion repository" //欢迎界面命名
AuthUserFile /svn/passwd.conf //密码验证路径
AuthzSVNAccessFile /svn/authz.conf //控制文件路径
Require valid‐user //验证有效用户才能登陆
</Location>
然后按Esc 键,再输入:wq 保存 退出
注意:如果你有多个仓库就用SVNParentPath /svn/project
如果你只有一个仓库,你就用SVNPath /svn/project/pms 切记!!!
AuthUserFile /svn/passwd.conf 这个是用户密码验证,刚刚我们在上面已经添加
了这样一个文件,
AuthzSVNAccessFile /svn/authz.conf 这个是用户密码验证,也已经添加好。
 

f) 修改/svn/project 权限
//把project 文件夹的权限添加到apache 和apache 用户组
[root@localhost conf]#chown –R apache:apache /svn/project
//修改project 文件夹权限,其他用户不能访问(这一步可以不操作)
[root@localhost conf]#chmod –R 700 /svn/project
[root@blog conf]# pwd
/svn/project/pms/conf

[root@blog conf]# vi svnserve.conf

[general]
 anon-access = read
 auth-access = write
 password-db = /svn/passwd.conf
 authz-db = /svn/authz.conf
realm = pms


g) 启动 svn 服务

[root@localhost conf]#cd /usr/local/bin                   //转到bin 目录
[root@localhost bin]#ls                                          //查看bin 目录内容


//参数‐d 是指后台启动,参数‐r 是仓库路径


[root@localhost bin]#svnserve –d –r /svn/project/pms


//停止svnserve 服务
[root@localhost bin]#killall svnserve


h) 启动 apache 服务
[root@localhost bin]#cd /usr/local/apache/bin                     //转到bin 目录
[root@localhost bin]#ls                                            //查看bin 目录内容
[root@localhost bin]#./apachectl start                             //启动apache 服务
[root@localhost bin]#./apachectl restart                 //重启apache 服务
[root@localhost bin]#./apachectl stop               //停止apache 服务

I)连接动态库

[root@blog conf]# cat /etc/profile

PATH=/usr/local/svn/bin:$PATH

[root@blog conf]#source /etc/profile
注意:启动apache 服务一定要./apachectl start ,不能apachectl start ,否则运行
http://192.168.20.207/svn