liunx安装和配置svn

一下载subversion

wgethttp://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz

wgethttp://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz

svn的官方网址是http://subversion.tigris.org

上面二个压缩文件解压后会放到同一个文件下,不要另建文件夹

二安装apache

参见

三安装zlib

cd /usr/local
wget  http://zlib.net/zlib-1.2.5.tar.gz
tar -xvzf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure
make
make install
cd /usr/local
ln -s zlib-1.2.5 zlib

四安装openssl

#wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
#tar -zxvf openssl-1.0.0a.tar.gz
#cd openssl-1.0.0a
#./config
#./config -t
#make depend
#make
#make test
#make install

安装之后会在/usr/local下生成一个ssl目录

设置环境变量,在/etc/profile的PATH中增加如下内容:

PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin
export PATH

四安装svn

假设apache安装在/usr/local/apache2下

cd subversion-1.6.1
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib
make clean
make
make install

SVN服务器安装结束,确认httpd.conf文件中有以下内容(安装SVN后自动加的):

LoadModuledav_svn_modulemodules/mod_dav_svn.so

LoadModuleauthz_svn_modulemodules/mod_authz_svn.so

五配置Subversion

创建SVN仓储

假设svn仓储设在目录/usr/local/svnrepo

./svnadmin create /usr/local/svnrepo/projectName #项目名称
chown –R apache /usr/local/svnrepo(与apache的httpd.conf的用户一致)

进入/usr/local/svnrepo/projectName看看是否多了如下文件:conf/dav/db/formathooks/locks/README.txt,如果是说明Subversion安装成功了

建立认证文件

htpasswd –c /etc/.htpasswd usename

然后系统会提示输入两次用户密码,该用户名和密码会保存在.htpasswd文件中

接着在/usr/local/apache2/httpd.conf中加入(认证文件和权限文件):

<Location /repository>
DAV svn
SVNParentPath /usr/local/svnrepo
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /etc/.htpasswd
#for access
AuthzSVNAccessFile /usr/local/svnrepo/authz
#Satisfy Any
Require valid-user
</Location>

设置访问权限

# cd /usr/local/svnrepo/
vi authz.conf
#[groups]               // 这个表示群组设置
#developers = harry, sally    // 这个表示某群组里的成员

[/]      //所有仓库的根目录下
admin = rw 
[projectName:/]        //projectName仓库的根目录下的访问权限
user1 = rw     //projectName仓库user1用户具有读和写的权限
user2 = r      // projectName仓库user2用户具有读的权限
#* = r               // 这个表示对所有的用户都具有读权限      
#@ developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置

设置完成后

启动svn

svnserve-d-r/usr/local/svnrepo

再重启apache,就可以通过http://IP/repository/projectName来访问projectName仓库。

之后修改svn配置文件不用重启svn

svn

相关推荐