SVN+Apche+Nginx+IF.svnadmin管理

Posted 我为什么这么强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN+Apche+Nginx+IF.svnadmin管理相关的知识,希望对你有一定的参考价值。

SVN安装和配置

1)安装svn模块和svnversion
[root@Svn ~]# yum install mod_dav_svn subversion
2)创建SVN库目录
[root@Svn ~]# mkdir -p /data/project/svn
3)创建SVN配置文件目录
[root@Svn ~]# mkdir -p /etc/subversion
4)配置svn配置文件信息
[root@Svn ~]# touch /etc/subversion/{authz,passwd,svnserve.conf}
5)authz、passwd、svnserve.conf配置信息如下
[root@Svn ~]# cat /etc/subversion/authz
[aliases]
[groups]
[/]
[root@Svn ~]# cat /etc/subversion/passwd  #passwd文件留空
[root@Svn ~]# cat /etc/subversion/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /etc/subversion/passwd
authz-db = /etc/subversion/authz
realm = /www/svndata 
[sasl]
6)启动SVN
[root@Svn ~]# svnserve -d -r /data/project/svn
7)查看SVN进程是否正常运行
[root@Svn ~]# ps -ef|grep svn
root      10597      1  0 15:45 ?        00:00:00 svnserve -d -r /data/project/svn
root      11347  10561  0 16:51 pts/0    00:00:00 grep --color=auto svn

Apache安装和配置

1)安装httpd
[root@Svn ~]# yum install httpd -y
2)修改配置文件
[root@Svn ~]# vim /etc/httpd/conf/httpd.conf
Listen 1080   #修改httpd监听端口为1080
.....         #中间省略,下面内容可以添加到文件末尾处
LoadModule dav_svn_module    modules/mod_dav_svn.so      #加载svn模块
LoadModule authz_svn_module  modules/mod_authz_svn.so    #加载svn认证模块
<Location /svn>                           #svn跳转
DAV svn
SVNParentPath /data/project/svn
SVNListParentPath on
AuthType Basic                            #Basic认证方式
AuthName "Authorization SVN OF TEST"      #用户登录弹窗表单的信息
AuthzSVNAccessFile /etc/subversion/authz  #用户权限限制文件
AuthUserFile /etc/subversion/passwd       #Svn的用户名和密码文件
Require valid-user                        #禁止匿名登录
</Location>
3)检测http配置文件语法是否正确,信息末尾显示Syntax OK表示正常
[root@Svn ~]# apachectl configtest
.....
Syntax OK
4)启动httpd
[root@Svn ~]# systemctl start httpd
5)查看进程是否运行起来了
[root@Svn ~]# ps -ef|grep httpd
root      11384      1  0 16:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    11388  11384  0 16:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    11389  11384  0 16:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    11390  11384  0 16:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    11391  11384  0 16:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    11392  11384  0 16:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root      11472  10561  0 17:06 pts/0    00:00:00 grep --color=auto httpd

Nginx安装和配置

1)安装nginx,可以自行选择二进制安装
[root@Svn ~]# yum install nginx -y
2)修改Nginx配置文件,在80端口下添加如下Location
[root@Svn ~]# vim /etc/nginx/nginx.conf
....
    location /svn{
        proxy_pass http://localhost:1080/svn;
    }
    location /svnadmin {                                          
        proxy_pass http://localhost:1080/svnadmin;
    }
3)检测配置文件语法是否正确
[root@Svn ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4)启动Nginx服务
[root@Svn ~]# systemctl start nginx
5)查看进程是否运行起来了
[root@Svn ~]# ps -ef|grep nginx
root       8235      1  0 13:58 ?        00:00:00 nginx: master process nginx
nginx      8236   8235  0 13:58 ?        00:00:00 nginx: worker process
root      11509  10561  0 17:11 pts/0    00:00:00 grep --color=auto nginx

 安装IF.svnadmin

1)安装php
[root@Svn ~]# yum install php -y
2)下载IF.svnadmin软件包
[root@Svn ~]# wget -O /var/www/html/svnadmin.zip http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download
3)解压并改名
[root@Svn ~]# cd /var/www/html
[root@Svn /var/www/html]# unzip -o svnadmin.zip
[root@Svn /var/www/html]# mv iF.SVNAdmin-stable-1.6.2 svnadmin
4)修改所有的目录权限
[root@Svn /var/www/html]# chown -R apache:apache /data/project/svn /var/www/html /etc/subversion
[root@Svn /var/www/html]# chmod -R 766 /data/project/svn /var/www/html /etc/subversion

 通过浏览器登录http://192.168.11.220/svnadmin/login.php   默认管理员账户密码: admin / admin

 

 

 #首次登录需要配置相关文件的路径信息,配置完记得保存

Subversion 授权文件:/etc/subversion/authz                               #定义授权文件位置,要与Apche中的配置文件路径相同

用户身份验证文件 (SVNUserFile):/etc/subversion/passwd        #定义用户身份验证文件,要与Apche中的配置文件路径相同

代码仓库的父目录 (SVNParentPath):/data/project/svn               #定义代码仓库的父目录,注意后面不要多写 /

\'svn.exe\' 或 \'svn\'可执行文件:/usr/bin/svn                                    #svn命令的所在位置,可以通过which svn查找

\'svnadmin.exe\' 或 \'svnadmin\' 可执行文件:/usr/bin/svnadmin     #svnadmin命令所在位置,可以通过which svnadmin

 

#创建全新的SVN仓库

#创建新的用户

#将新的代码仓库与用户或组关联起来,并分配权限

 

 

 

 

#Windows创建一个全新的空目录并通过Tortoise软件,连接SVN仓库

#软件下载页面:https://tortoisesvn.net/downloads.html

#右击空目录,点击SVN Checkout...    设置Svn URL和仓库名字http://192.168.11.220/svn/test

#输入刚才授予test仓库的用户/密码

 

 

以上是关于SVN+Apche+Nginx+IF.svnadmin管理的主要内容,如果未能解决你的问题,请参考以下文章

svn+nginx

awstats分析nginx日志文件

关于svn的安装(Linux+nginx+svn)

Centos6.6用yum快速安装LA(N)MP

通过jenkins构建发布普通网站(jenkins+nginx+svn)

svn 使用 nginx 提交失败:找不到路径