您的位置:首页 > 运维架构 > Apache

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/;   
    }   
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache svn linux subversion