设为首页 收藏本站
查看: 786|回复: 0

[经验分享] ubuntu上搭建svn+apache服务器

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-10-11 08:50:15 | 显示全部楼层 |阅读模式
                      本次试用的linux发行版是Ubuntu 12.04.5 LTS
1
2
3
4
5
6
yaoliang@node2:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:    12.04
Codename:   precise




需要安装的环境:
apache2

subversion
libapache2-svn


1、安装svn
1
yaoliang@node2:~$ sudo apt-get install subversion




2、创建仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
yaoliang@node2:~$ sudo mkdir /srv/svn
yaoliang@node2:~$ cd /srv/svn
yaoliang@node2:/srv/svn$ sudo svnadmin create repos
yaoliang@node2:/srv/svn$ sudo tree -L 2
.
└── repos
    ├── conf
    ├── dav
    ├── db
    ├── format
    ├── hooks
    ├── locks
    └── README.txt

6 directories, 2 files




3、修改配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
yaoliang@node2:/srv/svn$ cd repos/conf/
yaoliang@node2:/srv/svn/repos/conf$ ls
authz  passwd  svnserve.conf
yaoliang@node2:/srv/svn/repos/conf$ sudo vim svnserve.conf
[general]                                    
anon-access = none                           # 匿名用户权限改为none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository


yaoliang@node2:/srv/svn/repos/conf$ sudo vim passwd
[users]
admin = admin                                # 使用明文的方式存放账号和密码


yaoliang@node2:/srv/svn/repos/conf$ sudo vim authz
[groups]                                                
admin = admin                                # 将admin用户加到admin组中
[/]
@admin = rw                                  # admin组的权限为读写
* = r                                        # 其他权限为只读




4、测试
1
2
3
yaoliang@node2:/srv/svn/repos/conf$ sudo svnserve -d -r /srv/svn
yaoliang@node2:/srv/svn/repos/conf$ sudo netstat -antp | grep svn      
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      13900/svnserve



发现3690端口已启动。

-d:以守护进程的形式运行
-r: 指明仓库所在的目录

通过TortoiseSVN查看并上传文件进行测试
wKioL1f7Rn6BoAIzAACSQC0VUPg444.jpg

5、安装apache2和libapache2-svn

1
yaoliang@node2:~$ sudo apt-get install apache2 libapache2-svn




6、配置apache2
1
2
3
4
yaoliang@node2:~$ cd /etc/apache2
yaoliang@node2:/etc/apache2$ ls
apache2.conf        conf.d   httpd.conf  mods-available  ports.conf       sites-enabled  
apache_ssl_pass.sh  envvars  magic       mods-enabled    sites-available




7、权限修改
1
2
3
4
5
yaoliang@node2:/etc/apache2$ sudo useradd svnuser
yaoliang@node2:/etc/apache2$ sudo groupadd subversion
yaoliang@node2:/etc/apache2$ sudo groupadd svnuser subversion
yaoliang@node2:/etc/apache2$ sudo chown -R root:subversion /srv/svn
yaoliang@node2:/etc/apache2$ sudo chown -R www-data.www-data /src/svn




8、修改配置文件
将mods-enabled中的dav_svn.load和dav_svn.conf全部注释掉,重写一个新的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
yaoliang@node2:/etc/apache2$ sudo vim conf.d/subversion.conf
# 导入模块
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

<Location /svn/>
    DAV svn
    SVNParentPath /srv/svn
    SVNListParentPath on
    AuthType Basic
    AuthName 'SVN Authentication'
    AuthUserFile /etc/apache2/svn.passwd
    AuthzSVNAccessFile /etc/apache2/svn.authz
    Require valid-user
</Location>




9、生成认证和密钥文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 生成密钥文件
yaoliang@node2:/etc/apache2$ sudo htpasswd -c -m svn.passwd  admin     # 首次创建加 -c
yaoliang@node2:/etc/apache2$ tail svn.passwd
admin:$apr1$ZAA6soA3$8zZ5aApEP9WAN/KajN4rw1

# 生成配置文件
yaoliang@node2:/etc/apache2$ sudo vim svn.authz
[groups]                                         
admin = admin

[/]
@admin = rw
* = r

[repos:/]
@admin = rw
* = r




10、重启apache和svn
1
2
3
yaoliang@node2:/etc/apache2$ sudo pkill svnserve
yaoliang@node2:/etc/apache2$ sudo svnserve -d -r /srv/svn
yaoliang@node2:/etc/apache2$ sudo /etc/init.d/apache2 restart




11、通过TortoiseSVN进行测试
wKiom1f7TUrzg5lOAACdlM-lqWU733.jpg

                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-284287-1-1.html 上篇帖子: 为centos系统配置转发和iptables使之成为网关 下篇帖子: Linux 磁盘的分区、格式化、检验与挂载 ubuntu 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表