一、工具准备
Apache Web服务器:
httpd-2.2.4.tar.bz2
Subversion源码包及依赖包:
subversion-1.4.3.tar.bz2,
subversion-deps-1.4.3.tar.bz2
(下面假设apache和svn源码都解压到了/home/tmp下)
二、安装Apache
Apache的安装就根平时安装Apache没什么两样,都记得要打开dav模块和动态模块选项。安装安装命令如下:
引用
tar xfj httpd-2.2.4.tar.bz2
cd httpd-2.2.4
./buildconf
./configure --enable-dav --enable-so
make
make install
三、安装Subversion
SVN的安装一定要注意:
* SVN 依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。
* 如果apache不是安装在默认路径,configure必須加上--with-apxs选项,如:./configure --with-apxs=/home/apache2/bin/apxs
安装命令如下:
引用
tar xfj subversion-1.4.3.tar.bz2
tar xfj subversion-deps-1.4.3.tar.bz2
# subversion-deps的文件也会解压到subversion-1.4.3目录中
cd subversion-1.4.3
rm -rf apr
rm -rf apr-util
ln -s /home/tmp/httpd-2.2.4/srclib/apr apr
ln -s /home/tmp/httpd-2.2.4/srclib/apr-util apr-util
./configure && make && make install
安装完成后,查看是否存在文件$APACHE_HOME/modules/mod_dav_svn.so(默认 /usr/local/apache2/modules/mod_dav_svn.so)。另外,如果该机器上以前是装过旧版本的SVN,要把 "/usr/local/lib/libsvn*"文件都删除。
四、在apache中配置svn
创建SVN库:
引用
cd /home/svn
svnadmin create repo1
在Apache 的配置文件httpd.conf中加入以下代码,Apache中就可以配置好一个虚拟主机svn.mydomain.net,并把该域名下的根路径配置给 Subversion。通过AuthzSVNAccessFile和AuthUserFile指令分别配置SVN用户的用户名和密码文件。
引用
<virtualhost *:80>
DocumentRoot /home/svn/htdocs
<directory>
Options Includes
AllowOverride All
Order allow,deny
Allow from all
</directory>
<location>
DAV svn
SVNParentPath /home/svn/svnroot
AuthzSVNAccessFile /home/svn/svnroot/conf/accessfile
Require valid-user
AuthType Basic
AuthName "Subversion System"
AuthUserFile /home/svn/svnroot/conf/passwdfile
</location>
ServerName svn.mydomain.net
DirectoryIndex index.html
</virtualhost>
创建文件/home/svn/svnroot/conf/accessfile:
引用
[groups]
user = jarod
anonymous = guest
[/]
* = r
@user = rw
@anonymous = r
再用htpasswd命令创建/home/svn/svnroot/conf/passwdfile文件:
引用
htpasswd -c /home/svn/svnroot/conf/passwdfile jarod
# 这时会提示输入密码
最后把/home/svn目录的拥有者设为启动apache服务的用户,apache-2.2默认会由daemon用户启动:
引用
chown daemon.daemon -R /home/svn
chmod 777 /home/svn -R
大功告成,通过浏览器或SVN客户端测试http://svn.mydomain.net/repo1
这时在/home/svn/svnroot下添加的新SVN库也将自动使用相同的权限配置
分享到:
相关推荐
总之,成功架设和设置CollabNet SubversionEdge在Linux上涉及多个步骤,包括安装依赖、配置环境、创建用户、安装软件、配置服务以及调整网络规则。每个环节都需要细致操作,确保所有组件正确无误地运行,才能实现...
在Linux系统中架设配置SVN(Subversion)服务器,主要涉及到Apache服务器和Subversion的集成。Apache HTTP Server是常用的Web服务器,而Subversion则是一个版本控制系统,常用于协同开发和代码管理。以下是一个详细...
在Linux系统中架设Apache SVN服务器是一个涉及到多个步骤的过程,主要涵盖了Apache HTTP Server与Subversion(SVN)的安装和配置。以下是对整个过程的详细解释: 1. 首先,我们需要安装基础的依赖库,包括APR...
【Linux下Apache+SVN配置详解】 Apache HTTP Server(通常简称为Apache)是世界上最流行的Web服务器软件之一,而Subversion(简称SVN)则是一种版本控制系统,用于管理软件项目的源代码和其他文件。Apache与SVN结合...
Trac是一个基于Web的项目管理工具,它与版本控制系统(如Git或Subversion)集成,提供了一个直观的界面供用户查看代码变更、提交历史以及管理问题报告。 Trac的安装步骤: 1. 获取Trac的RPM包,或者从源代码编译...
1. **安装Subversion**:使用命令行工具,根据R1D所使用的Linux发行版安装SVN服务器软件,通常使用`apt-get install subversion`(如果是Debian/Ubuntu)或`yum install subversion`(如果是CentOS/RHEL)。...
服务器部署可以通过转移仓库目录、小型安装、生成SSH公钥、架设服务器、提供公共访问和网页界面、权限管理、Git进程和托管服务等方式进行。 GitWeb是一种网页界面,可以查看Git仓库的界面;Gitosis是一个权限管理...
Git托管服务,如GitHub,提供了一系列功能,包括建立账户、建立新仓库、从Subversion中导入项目、合作、项目页面和派生(forking)项目。 分布式Git是Git的高级使用,涉及分布式工作流程,包括集中式工作流、集成...
集中化的版本控制系统将数据集中存储在一台服务器上,团队成员再从这台服务器上获取数据、提交更改,常见的集中化版本控制工具有CVS、Subversion等。与这两种系统相比,分布式版本控制系统中,每个用户都拥有完整的...
而在Git托管服务方面,GitHub是大家最为熟知的一个平台,如何在GitHub上建立账户、建立新仓库、导入项目,以及如何合作、管理项目页面、派生(forking)项目等都是重要知识点。 分布式Git涉及的分布式工作流程,...
Git是一种开源的分布式版本控制系统,最初由Linus Torvalds在2005年创建,用于Linux内核开发。Git被设计为一种能够处理各种大小的项目,并且能够应对任何类型的文件。它强调速度、数据完整性和对非线性开发的支持。 ...
Git托管服务章节着重介绍了GitHub,包括建立账户、建立新仓库、从Subversion中导入项目、开始合作、项目页面、派生(forking)项目,以及GitHub的小节。 分布式Git部分,则是围绕分布式工作流程展开,包括集中式...
接着讲述了在服务器上部署Git的过程,包括将纯目录转移到服务器、小型安装、生成SSH公钥、架设服务器、公共访问、网页界面GitWeb、权限管理器Gitosis、Git进程和Git托管服务。其中Git托管服务部分详细讲解了GitHub的...
- **Git托管服务**:如GitHub、GitLab等,提供了在线的Git仓库托管服务,方便团队协作。 综上所述,《ProGit》不仅是一本学习Git的好书,也是每一个程序员必备的手册。通过掌握书中所介绍的核心概念和技术,开发者...
3.1 在Linux 下安装和使用 Git/ 22 3.1.1 包管理器方式安装/ 22 3.1.2 从源代码进行安装/ 23 3.1.3 从Git版本库进行安装/ 23 3.1.4 命令补齐/ 25 3.1.5 中文支持/ 25 3.2 在Mac OS X 下安装和使用 Git/ 26 3.2.1 以...
- **架设服务器**:包括安装必要的软件和服务。 - **公共访问**:配置服务器以允许外部用户访问。 - **GitWeb**:一个基于PHP的网页前端,用于浏览Git仓库的内容。 - **Gitosis**:用于管理多个Git仓库的工具。 - **...