[size=medium]1. 在网上找了很多安装svn版本库的资源,有的有很多的不同。自己按照好几个方法试着做都有点晕了。后来找到这个学习资料,发现这个是最全最好的。下面就是我找到的学习资料,希望对很多人有用。
一. 安装apr依赖库(Apache Portable Runtime
[/size] Module)
http://http://apr.apache.org/download.cgi
./configure
make
make install
http://download.chinaunix.net/download.php?id=25796&ResourceID=472
./configure --with-apr=/usr/local/apr
make
make install
二. 重新编译httpd
检查已安装的 Apache2 是否已经安装了 mod_dav .
如 果已经成功安装了Apache,使用 httpd -M 来查看有没有安装 dav_module,如果没有的话 必须附加 ‘–enable-dav’ ‘–enable-dav-fs’ 两个参数重新编译 Apache,否则即使编译通过了svn,apache也会启动不起来.
http://httpd.apache.org/download.cgi
./configure --enable-dav --enable-dav-fs
make
make install
三. 安装subversion
最新的版本 Subversion 可以在这里找到 :http://subversion.tigris.org/project_packages.html
http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
下载neon库,使svn支持webdav, https加密的链接.
下载之后放到subversion安装目录下,并重命名即可, subversion会自动监测并配置, 目前只支持 0.25.5.
;cd subversion-SVN-LAST-VERSION-DIR
cd subversion-1.4.5
wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
tar xzf neon-0.25.5.tar.gz
mv neon-0.25.5 neon
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/home/chenmin/apr-1.2.11 --with-apr-util=/home/chenmin/apr-util-1.2.10 --with-ssl
由于没有安装Berkeley DB,所以使用FSFS
make
sudo make install
四. 配置subversion和apache
拷贝svn模块到apache模块目录下
cp /data/subversion-1.4.5/subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/local/apache2/modules/
cp /data/subversion-1.4.5/subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache2/modules/
编辑httpd.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /data/svn
</Location>
运行htpasswd添加用户和密码
/usr/local/apache2/bin/htpasswd -cm /data/svn/svn-auth-file chenmin (此为第一次需要创建用户)
/usr/local/apache2/bin/htpasswd -m /data/svn/svn-auth-file admin (此为往创建的文件里添加用户)
再次编辑httpd.conf
<Location /svn>
DAV svn
SVNParentPath /home/svn (这里如果这样配置,我svn的会出问题,我配的是: SVNPath /home/svn/repos)
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/svn-auth-file
Require valid-user
AuthzSVNAccessFile /home/svn/svn-access-file
</Location>
其中svn-auth-file是认证文件,存储用户名和密码,svn-access-file是访问权限文件,规定各个目录的访问者的权限, 示例的权限分配的文件的格式如下。
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# Default access rule for ALL repositories
# Everyone can read, admins can write, Dan German is excluded.
[/]
* = r
@admin = rw
dangerman =
# Allow developers complete access to their project repos
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# Give the doc people write access to all the docs folders
[/trunk/doc]
@docs = rw
# Give trainees write access in the training repository only
[TrainingRepos:/]
@training = rw
权限配置文件中,关键的几个概念是:目标和权限,也就是为谁分配什么样的权限。读为r,写为w,如果没有权限那么什么也不写即可。
=====================================================================================
apache的编译指令
cd /usr/local/src/httpd-2.2.19
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr1/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --enable-so --enable-dav --enable-dav-fs --enable-maintainer-mode --enable-rewrite
=====================================================================================
subversion的编译指令
./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr1/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-ssl --enable-shared --prefix=/usr/local/subversion
#--enable-shared 64位系统下需要添加
=====================================================================================
需要特别注意的就是权限问题:
在conf/httpd.conf中指定了运行apache的用户和组,需要为svn所在的路径指定相应的权限,不然会出现权限(permission)问题。
====================遇到的问题=================
1. 编译subversion时出现少expat库
下载expat-2.0.0.tar.gz安装即可
2. 在安装subversion时,make没问题,make install时出现
libexpat.so.1:cannot open shared object file: No such file or directory
意思是找不到Libexpat.so.1这个文件
运行whereis libexpat.so.1
解决:vi /etc/ld.so.conf
加入libexpat.so.1的目录/usr/local/lib保存退出
运行ldconfig
3. 安装好了后,浏览器打开http://xxx/svn,登录出现不了页面,出现
<D:error><C:error><m:human-readable errcode="2">....
解决:这是httpd.conf里面的<Location svn>中svnpath只想错误没指到创建的资料库。
============================创建svn资料库======================================
svnadmin -h
============================启动svn服务器====================================
svnserve -h
往版本库里导入项目: svn import -m "new project" yourProject http://127.0.0.1:500/repos/xxx
删除版本库中某个路径下的文件 svn delete -m "delete file" file:///root/svn/repos/xxx
分享到:
相关推荐
SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤
持续集成篇--SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤
subversion-1.6.17.zip site-1.6.18.zip TortoiseSVN-1.7.5.22551-win32-svn-1.7.3.msi svnbook-1.6-zh-r3600.pdf Windows开机自动启动SVN服务.doc
svn+apache+完整图解+配套软件(Subversion+apache)
Apache2.2.22+Subversion1.5.3+TortoiseSVN1.5(apache SVN部署全套包),博客在http://blog.csdn.net/kimizhou_blog/article/details/7481959
svn+apache+trac配置 svn+apache+trac配置 svn+apache+trac配置 svn+apache+trac配置
rhel6.9下编译安装apache+subversion详细安装文档,及其所需安装包。
ubuntu linux中配置svn+apache+ssl
apache+subversion安装配置说明,SVN跨版本库迁移目录并保留提交日志
subversion+apache+svn服务器配置图解
1、独立安装subverison,使用客户端链接svn配置, 2、使用apache和svn结合,部署svn服务器
使用apache+svn搭建持续集成环境,支持https访问的SVN服务器。
CentOS 下 Apache + Subversion 实现版本控制
Linux上安装svn Apache服务器,自己一步一步实现并作成的安装手顺。
在linux下搭建svn server平台,实现版本的更新,记录版本的修改时间等等
安装Trac+SVN+Apache过程的详细记录。解决像我一样的初学者初次安装的难题,高手就表看了...
这是一遍比较完整的linux下svn+apche+ldap安装配置手册,根据本人实际安装整理后的文档,目前都算是最新版本。其中ldap使用sun的opends,个人感觉比openldap要方便,当然重点不是用什么ldap而是如何配置。 主要包括...
在Linux下配置SVN,同时允许svn客户端和web两种访问方式
xp+apache2.2+subversion1.6.17搭建版本控制服务器
CentOS 7.2 SVN+Mysql+Apache+PHP版本管理工具安装配置教程,自己实践所得成果。网上资源占不到想要的,自己配置完成后编写的文档!