很多朋友初次接触Subversion时不是很理解subversion和apache的关系。
subversion服务器是不需要apache的,但是可以使用apache,视具体情况来选择。
1、如果只要通过file://或svn://来访问,则不需要apache,只安装svn即可,使用svnserve来作为服务。
2、如果你要建立一个可以通过http://或https://来访问的版本库服务器,则你需要使用apache。
首先准备好相关的安装包
我没有使用的相关包:
Apr : apr-1.5.1.tar.gz 和 apr-util-1.5.4.tar.gz (下载地址 https://apr.apache.org/download.cgi)
Apache : httpd-2.2.25.tar.gz
Sqlite: sqlite-autoconf-3080002.tar.gz
我使用的相关包:
Zlib: zlib-1.2.8.tar.gz(原先装nginx装过一个版本,已经存在所以不确定是否必须)
Subversion: subversion-1.6.5和 subversion-deps-1.6.5.tar.gz
下载地址:
wget http://subversion.tigris.org/downloads/subversion-1.6.5.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.5.tar.gz
前者是svn1.6.5 的源文件,后者是编译时可能需要用到的包
上传到home目录,解压
[color=red]tar -zxvf subversion-1.6.5.tar.gz
tar -zxvf subversion-deps-1.6.5.tar.gz[/color]
解压两个文件会在同一个文件夹subversion-1.6.5
[color=red]tar -zvxf apr-1.5.1.tar.gz
cd /home/subversion-1.6.5
./configure --prefix=/usr/local/svn[/color]
出现下面错误:找不到opensslv.h
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
解决:更新下源-安装
[color=red]sudo apt-get update
sudo apt-get install libssl-dev
sudo apt-get install openssl
find / -name opensslv.h[/color]
会显示/usr/include/openssl/opensslv.h
[color=red]./configure --prefix=/usr/local/svn --without-berkeley-db --with-openssl=/usr/include/openssl[/color]
如果最后出现WARNING,我们直接忽略即可。因为不使用BDB存储。
[color=red]make[/color]
[color=red]make install[/color]
安装完成,查看版本
[color=red]/usr/local/svn/bin/svnserve --version[/color]
配置svn----------------------------
创建版本库:假设在linux根目录下,命名为svnroot
[color=red]cd /usr/local/svn/bin
./svnadmin create /svnroot[/color]
添加用户passwd(新增用户第一步)
[color=red]
cd /svnroot/conf/
vi passwd
[users]
admin=123[/color]
修改策略authz(新增用户第二步)
[color=red]
vi authz
[groups]
[/]
admin= rw[/color]
修改svnserve.conf文件,让用户和策略配置升效
[color=red]vi /svnroot/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svnroot/conf/passwd
authz-db = /svnroot/conf/authz[/color]
启动服务器
[color=red]cd /usr/local/svn/bin
./svnserve -d -r /svnroot/[/color]
停止
[color=red]ps -aux|grep svnserve
kill -9 ID号[/color]
subversion服务器是不需要apache的,但是可以使用apache,视具体情况来选择。
1、如果只要通过file://或svn://来访问,则不需要apache,只安装svn即可,使用svnserve来作为服务。
2、如果你要建立一个可以通过http://或https://来访问的版本库服务器,则你需要使用apache。
首先准备好相关的安装包
我没有使用的相关包:
Apr : apr-1.5.1.tar.gz 和 apr-util-1.5.4.tar.gz (下载地址 https://apr.apache.org/download.cgi)
Apache : httpd-2.2.25.tar.gz
Sqlite: sqlite-autoconf-3080002.tar.gz
我使用的相关包:
Zlib: zlib-1.2.8.tar.gz(原先装nginx装过一个版本,已经存在所以不确定是否必须)
Subversion: subversion-1.6.5和 subversion-deps-1.6.5.tar.gz
下载地址:
wget http://subversion.tigris.org/downloads/subversion-1.6.5.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.5.tar.gz
前者是svn1.6.5 的源文件,后者是编译时可能需要用到的包
上传到home目录,解压
[color=red]tar -zxvf subversion-1.6.5.tar.gz
tar -zxvf subversion-deps-1.6.5.tar.gz[/color]
解压两个文件会在同一个文件夹subversion-1.6.5
[color=red]tar -zvxf apr-1.5.1.tar.gz
cd /home/subversion-1.6.5
./configure --prefix=/usr/local/svn[/color]
出现下面错误:找不到opensslv.h
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
解决:更新下源-安装
[color=red]sudo apt-get update
sudo apt-get install libssl-dev
sudo apt-get install openssl
find / -name opensslv.h[/color]
会显示/usr/include/openssl/opensslv.h
[color=red]./configure --prefix=/usr/local/svn --without-berkeley-db --with-openssl=/usr/include/openssl[/color]
如果最后出现WARNING,我们直接忽略即可。因为不使用BDB存储。
[color=red]make[/color]
[color=red]make install[/color]
安装完成,查看版本
[color=red]/usr/local/svn/bin/svnserve --version[/color]
配置svn----------------------------
创建版本库:假设在linux根目录下,命名为svnroot
[color=red]cd /usr/local/svn/bin
./svnadmin create /svnroot[/color]
添加用户passwd(新增用户第一步)
[color=red]
cd /svnroot/conf/
vi passwd
[users]
admin=123[/color]
修改策略authz(新增用户第二步)
[color=red]
vi authz
[groups]
[/]
admin= rw[/color]
修改svnserve.conf文件,让用户和策略配置升效
[color=red]vi /svnroot/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svnroot/conf/passwd
authz-db = /svnroot/conf/authz[/color]
启动服务器
[color=red]cd /usr/local/svn/bin
./svnserve -d -r /svnroot/[/color]
停止
[color=red]ps -aux|grep svnserve
kill -9 ID号[/color]