linux+apache 的svn服务器端配置说明
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
linux+apache
的
svn
服务器端配置说明
首先:下载
Subversion
和
apache
的安装包,
Apache2.0.59
和subversion1.3.2. Apache是web服务器,用来通过web访问subversion。Apache可以在apache官方网站上下载,下载地址:http://httpd.apache.org/download.cgi
Subversion
稳定版
SVN1.32
:
一、准备好相关软件包
,
复制到
linux
目录下
1.subversion-1.3.2.tar.gz /* 下载 1.3.2 这个版本 */
2.httpd-2.0.59.tar.gz /* 因网上说 Apache 2.2 版本与 SVN1.3.2 不兼容 */
1.subversion-1.3.2.tar.gz /* 下载 1.3.2 这个版本 */
2.httpd-2.0.59.tar.gz /* 因网上说 Apache 2.2 版本与 SVN1.3.2 不兼容 */
二、新建一个用户:
svnroot ,
以下操作非特别说明皆为
root
用户操作
#groupadd svn
#useradd svnroot -g svn
#passwd svnroot
三、编译安装
Apache
:
//
解压
apache2
安装包
# tar xvzf httpd-2.0.59.tar.gz
//
进入解压后的目录
# cd httpd-2.0.59
//
配置
apache
安装
#
./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//
安装
# make install
//
启动
apache
服务
# /usr/local/apache2/bin/apachectl start
安装成功。
四、安装
Subversion
//
解压
SubVersion
安装包
# tar xvzf subversion-1.3.2.tar.gz
//
进入解压后的目录
# cd subversion-1.3.2
//
配置
subversion
安装
#./configure
--with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion
--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
--with-ssl --with-zlib
--enable-maintainer-mode
--enable-maintainer-mode
# make
//
安装
# make install
//
创建库文件所在的目录
(svnroot
用户进行下面的操作
)
# mkdir /home/svnroot/repository
// 进入subversion的bin目录
# cd /usr/local/subversion/bin
//创建版本库"test"
# ./svnadmin create /home/svnroot/repository/test
# cd /home/svnroot/repository/test
// 进入subversion的bin目录
# cd /usr/local/subversion/bin
//创建版本库"test"
# ./svnadmin create /home/svnroot/repository/test
# cd /home/svnroot/repository/test
//
查看
svn
是否安装成功
# /usr/local/subversion/bin/svnadmin --version
//
不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
(svnroot
用户操作结束
)
五、修改
Apache
配置文件
# vi /usr/local/apache2/conf/httpd.conf
//
找到下列语句
,
如果没有则自行添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
//
在后面添加
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/ //svn
父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //
权限配置文件
AuthType Basic //
连接类型设置
AuthName "Subversion repository " //
连接框提示
AuthUserFile /home/svnroot/repository/userfile //
用户配置文件
Require valid-user //
采用何种认证
</Location>
//
重启
apache
# /usr/local/apache2/bin/apachectl restart
//
其中userfile是通过
"htpasswd [–c] /home/svnroot/repository/userfile username password"
来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库
六、权限管理
(1)
增加用户
# htpasswd -c /home/svnroot/repository/userfile
用户名
//
第一次设置用户时使用
-c
表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd /home/svnroot/repository/userfile
用户名
(
加入新的用户
,
就不用
-c
了
)
(2)
权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admins=admin
//
这个表示某群组里的成员
tests = hmf,zym
[/]
//
这个表示在所有版本库的根目录下
@admins = rw
//admins
组都具有读写权限
* = r
//
这个表示对所有的用户都具有读权限
[test:/]
//
这表示,版本库test的根目录下的访问权限
@tests = rw
//
如果在前面加上@符号,则表示这是个群组权限设置
* = //
使其他用户不能读写
//组可以被赋予通用户一样的访问权限,使用“
at”(
@
)前缀来加以区别
//
在
/usr/local/apache2/conf/httpd.conf
文件中配置,找到文件中的这两行:
User daemon
Group daemon
//
将
daemon
改为
svnroot
,组也做相应更改
,
让
apache
进程以
svnroot
的身份运行
//
改完后是这个样子
User svnroot
Group svn
//
重启
apache
# /usr/local/apache2/bin/apachectl restart
另说明:
1、 apache进程的权限:因为所有跟版本库传输的操作都是通过
apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问版本库或者相关文件的权限也没有用,apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon # //将
daemon用户改为svnroot,让apache进程以svnroot身份运行
Group daemon //将daemon组改为svn
Group daemon //将daemon组改为svn
2、 在
/etc/profile的结尾设置一些svn启动时要做的工作
start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi
/usr/sbin/apachectl start
export SVN_EDITOR=vi
3、
/home/respository/svnroot下的文件操作权限有给svnroot.
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献4条内容
所有评论(0)