Ubuntu下SubVersion(SVN) 与Apache 服务安装设置

本文详细介绍了在Ubuntu 10.04系统中如何安装Subversion(SVN)和Apache,并配置SVN服务,包括创建版本库、添加用户及权限设置。同时,文章还提及了在Apache下配置SVN的步骤,如修改dav_svn.conf配置文件,创建用户及密码文件。此外,文中解决了Apache启动时的符号查找错误问题以及导入默认忽略文件的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:使用ubuntu10.04版本系统,其他版本某些问题可能不会出现。

进行版本控制,主要是为了:让版本软件记住文件和目录的每一次变化,方便代码合并与回滚。
添加Apache这是为了:通过远端来访问自己的版本库,如主机为LInux客户机为windows,那么你在windows端就可以通过

TortoiseSVN来访问你的版本库,只需在代码检出库URL处,输入你的主机访问http地址即可。


一、SVN与Apache等相关包安装
1.安装包
$ sudo apt-get install subversion

$ sudo apt-get install apache2

$ sudo apt-get install libapache2-svn


2.添加svn管理用户及subversion组
$ sudo addgroup subversion

添加 www-data到subversion组。
$ sudo usermod -G subversion -a www-data 

可以使用下面方式查看成员:

$ cat /etc/group|grep subversion

3.创建项目目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chmod -R g+rws myproject

$ sudo chown -R www-data:subversion myproject

4.创建SVN文件仓库
$ sudo svnadmin create /home/svn/myproject

导入文件提示无权限,请再次执行下面命令

$ sudo chown -R www-data:subversion myproject



5.访问方式及项目导入:
$ svn co file:///home/svn/fitness
或者
$ svn co file://localhost/home/svn/fitness
* 注意:
如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
//--
下面的命令用于将项目导入到SVN 文件仓库:
$ svn import -m "New import" ~/home/in-project file:///home/svn/src/myproject

一定要注明导入信息!!!
//--------------------------//


6.启动SVN服务
svnserve -d -r /home/svn
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://192.168.12.118/fitness

这时SVN安装就完成了.
局域网访问方式:
例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness


-----------------------------------------------------------------------

二、HTTP:// [apache]
1.安装包 [已安装subversion]
$ sudo apt-get install libapache2-svn

创建版本仓库:
sudo svnadmin create /目录地址
目录地址必须存在,这个就是保存版本仓库的地方,不同的版本仓库创建不同的文件夹即可,比如:
sudo svnadmin create /home/svn/project
本来/home/svn/project这个目录下什么都没有,执行下面的命令之后再去看一下,多出一些文件和文件夹,我们需要操作的是conf这个文件夹,这个文件夹下有一个文件,叫做passwd,用来存放用户名和密码。
然后把这个版本仓库目录授权给apache读写:
sudo chown -R www-data:www-data /目录地址
然后来到打开apache配置文件:
sudo gedit /etc/apache2/mods-available/dav_svn.conf

加入如下内容:
<Location /project>
DAV svn
SVNPath /home/svn/project
AuthType Basic
AuthName “myproject subversion repository”
AuthUserFile /home/svn/project/conf/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>

location说的是访问地址,比如上述地址,访问的时候就是
http://127.0.0.1/project
其中有两行被注释掉了,以保证每次都需要用户名密码。
最后一步就是创建访问用户了,建议将用户名密码文件存放在当前版本仓库下conf文件夹下,这样版本仓库多的时候无至于太乱。
因为conf文件夹下已经存在passwd文件了,所以直接添加用户:
sudo htpasswd -c /home/svn/project/conf/passwd test
然后输入两遍密码,laoyang这个用户就创建好了。
打开/home/svn/project/conf/passwd这个文件,会开到形如如下形式的文本:
test:WEd.83H.gealA //后面是加密后的密码。
创建以后,再次需要往别的版本仓库添加这个用户,直接把这一行复制过去就可以了。
重启apache就可以了。
sudo /etc/init.d/apache2 restart

问题:

1.提示:/usr/sbin/apache2: symbol lookup error: /usr/sbin/apache2: undefined symbol: apr_os_uuid_get

/usr/lib$ sudo ln -sf libapr-1.so.0.3.8 libapr-1.so.0

/usr/lib$ sudo ln -sf libaprutil-1.so.0.3.9 libaprutil-1.so.0

如果没有执行权限,别忘了加权限。


2.向版本库导入被默认忽略的.so .a文件
通过终端打开配置文件: open ~/.subversion/config,找到global-ignores关键字,去掉相应的匹配条件即可。

注:一定要去掉前面的#符号,并顶格!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值