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
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf