Linux+Apache+SVN搭建SVN服务器(CentOS)
2015-12-24 09:45
543 查看
1.安装软件包
# yum install mod_dav_svn
# yum install subversion
2.找到http的配置文件,添加
<Location /svn>----------->这个/svn很重要,名字随意
DAV svn
# SVNParentPath /data/svn --------->原来有这行,但是没有用
SVNPath /data/svn ------->这行原来没有,我自己加进去的,这个目录就是svn版本库目录
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "svn for matu" ----------->导出的时候在对话框里显示
AuthUserFile /data/passwd.conf ----------->密码文件的位置,文件名随意
AuthzSVNAccessFile /data/authz.conf ----------->权限文件,文件名随意
Require valid-user
# </LimitExcept>
</Location>
3、建立版本库
mkdir /data/svn -p
svnadmin create /data/svn
Chown apache:apache /data/svn -R
Chmod 777 /data/svn -R ---->权限问题还有待研究
ls /data/svn -l
创建成功的话会有以下内容
drwxrwxrwx. 2 apache apache 4096 3月 13 17:26 conf
drwxr-xr-x 3 apache apache 4096 3月 14 10:12 dav
drwxrwsrwx. 6 apache apache 4096 3月 14 14:37 db
-rwxrwxrwx. 1 apache apache 2 3月 14 00:53 format
drwxrwxrwx. 2 apache apache 4096 3月 14 00:53 hooks
drwxrwxrwx. 2 apache apache 4096 3月 14 00:53 locks
-rwxrwxrwx. 1 apache apache 229 3月 14 00:53 README.txt
4、添加用户,分配权限
给用户添加密码:
htpasswd -c /data/passwd.conf username ---->位置跟配置文件里的一样,别搞错,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了。
打开权限文件:
vim /data/authz.conf ---->这个文件可以参考/data/svn/conf/authz文件写
在下面添加组,名字随意
[groups]
all = admin,zhangsan,lisi
design = zhangsan
admin = admin
phone = lisi
分配权限
[/] ---->这个根目录是指/data/svn
@all = r ----->组名前面加@
admin = rw ----->r读,w写
[svn:/design] ---->svn是指配置文件location标签里的svn,design是指版本库下面的一个文件夹,可以用管理员admin在客户端创建,同理其他文件夹也一样
@design = rw
lisi = r
5、找到Nginx的配置文件进行配置即可
配置站点:
server {
listen 80;
server_name test.cn;
location ~ \.(ico|xsl|css)$ {
root /data/webroot/svnhtml;
}
location /svn {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/svn/;
}
}
# yum install mod_dav_svn
# yum install subversion
2.找到http的配置文件,添加
<Location /svn>----------->这个/svn很重要,名字随意
DAV svn
# SVNParentPath /data/svn --------->原来有这行,但是没有用
SVNPath /data/svn ------->这行原来没有,我自己加进去的,这个目录就是svn版本库目录
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "svn for matu" ----------->导出的时候在对话框里显示
AuthUserFile /data/passwd.conf ----------->密码文件的位置,文件名随意
AuthzSVNAccessFile /data/authz.conf ----------->权限文件,文件名随意
Require valid-user
# </LimitExcept>
</Location>
3、建立版本库
mkdir /data/svn -p
svnadmin create /data/svn
Chown apache:apache /data/svn -R
Chmod 777 /data/svn -R ---->权限问题还有待研究
ls /data/svn -l
创建成功的话会有以下内容
drwxrwxrwx. 2 apache apache 4096 3月 13 17:26 conf
drwxr-xr-x 3 apache apache 4096 3月 14 10:12 dav
drwxrwsrwx. 6 apache apache 4096 3月 14 14:37 db
-rwxrwxrwx. 1 apache apache 2 3月 14 00:53 format
drwxrwxrwx. 2 apache apache 4096 3月 14 00:53 hooks
drwxrwxrwx. 2 apache apache 4096 3月 14 00:53 locks
-rwxrwxrwx. 1 apache apache 229 3月 14 00:53 README.txt
4、添加用户,分配权限
给用户添加密码:
htpasswd -c /data/passwd.conf username ---->位置跟配置文件里的一样,别搞错,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了。
打开权限文件:
vim /data/authz.conf ---->这个文件可以参考/data/svn/conf/authz文件写
在下面添加组,名字随意
[groups]
all = admin,zhangsan,lisi
design = zhangsan
admin = admin
phone = lisi
分配权限
[/] ---->这个根目录是指/data/svn
@all = r ----->组名前面加@
admin = rw ----->r读,w写
[svn:/design] ---->svn是指配置文件location标签里的svn,design是指版本库下面的一个文件夹,可以用管理员admin在客户端创建,同理其他文件夹也一样
@design = rw
lisi = r
5、找到Nginx的配置文件进行配置即可
配置站点:
server {
listen 80;
server_name test.cn;
location ~ \.(ico|xsl|css)$ {
root /data/webroot/svnhtml;
}
location /svn {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/svn/;
}
}
相关文章推荐
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- About SVN
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)
- 基于 Linux 集群环境上 GPFS 的问题诊断