赞
踩
目录
SVN的全称是Subversion,即版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。
- //安装SVN服务端
- [root@yang ~]# yum install subversion
- [root@yang ~]# cd /opt/
- //创建svn版本仓库
- [root@yang opt]# mkdir -p svn/repos
- [root@yang opt]# cd svn/
- [root@yang svn]# chmod -R 777 repos
- [root@yang svn]# cd repos/
- [root@yang svn]# svnadmin create /opt/svn/repos
- [root@yang svn]# cd /opt/svn/repos/
- [root@yang repos]# cd conf/
- [root@yang conf]# ls
- authz passwd svnserve.conf
- //配置版本库信息,用户文件和用户密码文件的路径,版本库路径
- [root@yang conf]# vi svnserve.conf
- [root@yang conf]#
- [root@yang conf]# vi authz
- [root@yang conf]# vi passwd
- //设置svn自启动
- [root@yang conf]# cat /lib/systemd/system/svnserve.service
- [Unit]
- Description=Subversion protocol daemon
- After=syslog.target network.target
-
- [Service]
- Type=forking
- EnvironmentFile=/etc/sysconfig/svnserve
- ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
-
- [Install]
- WantedBy=multi-user.target
- [root@yang conf]#
- [root@yang conf]# vi /etc/sysconfig/svnserve
- [root@yang conf]#
- [root@yang conf]# setenforce 0
- setenforce: SELinux is disabled
- [root@yang conf]# systemctl enable svnserve.service
- Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/sy stemd/system/svnserve.service.
- //启动SVN
- [root@yang conf]# systemctl start svnserve.service
- //启动SVN后测试
- [root@yang conf]# netstat -ntlp|grep 3690
- tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 5027/svnserve
//配置版本库信息
//这四行,前面的#号和空格去掉
//anon-access改成none,匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
auth-access = write //使授权用户有写权限
password-db = passwd //密码数据库的路径
//认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /opt/svn/repos
//保存退出
//创建svn组和组用户的权限
[groups]
//创建一个组,并制定两个用户
admin = root,yang
//制定根目录下的权限
[/]
//first组用户权限为读写
@admin = rw
//其他用户只有读权限
* = r
//保存退出
//创建或修改用户密码
[users]
root = 123456
yang = 123456
//保存退出
//修改svn的service配置文件
OPTIONS="-r /opt/svn/repos"
- [root@yang conf]# svn checkout svn://XXX.XXX.XXX.XXX:3690/
- Authentication realm: <svn://XXX.XXX.XXX.XXX:3690> svncode
- Password for 'root':
-
- -----------------------------------------------------------------------
- ATTENTION! Your password for authentication realm:
-
- <svn://XXX.XXX.XXX.XXX:3690> /opt/svn/repos
-
- can only be stored to disk unencrypted! You are advised to configure
- your system so that Subversion can store passwords encrypted, if
- possible. See the documentation for details.
-
- You can avoid future appearances of this warning by setting the value
- of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
- '/root/.subversion/servers'.
- -----------------------------------------------------------------------
- Store password unencrypted (yes/no)? yes
- Checked out revision 0.
安装httpd,mod_dav_svn
yum install -y httpd mod_dav_svn
检查Apache,mod_dav_svn是否安装成功
安装成功后,会有mod_dav_svn.so和mod_authz_svn.so两个文件。
- [root@yang conf]# httpd -v
- Server version: Apache/2.4.6 (CentOS)
- Server built: Nov 16 2020 16:18:20
- [root@yang conf]# find / -name mod_dav_svn.so
- /usr/lib64/httpd/modules/mod_dav_svn.so
- [root@yang conf]# find / -name mod_authz_svn.so
- /usr/lib64/httpd/modules/mod_authz_svn.so
增加配置文件/etc/httpd/conf.d/subversion.conf
- [root@yang conf]# vim /etc/httpd/conf.d/subversion.conf
- [root@yang conf]# cat /etc/httpd/conf.d/subversion.conf
- LoadModule dav_svn_module modules/mod_dav_svn.so
- LoadModule authz_svn_module modules/mod_authz_svn.so
- <Location /svn>
- DAV svn
- SVNParentPath /opt/svn/
- SVNListParentPath On
- AuthType Basic
- AuthName "Authorization SVN"
- AuthzSVNAccessFile /opt/svn/authz
- AuthUserFile /opt/svn/passwd
- Require valid-user
- </Location>
创建用户文件passwd
- [root@yang conf]# touch /opt/svn/passwd
- [root@yang conf]# htpasswd /home/data/svn/passwd root
- New password: 123456
- Re-type new password: 123456
- Adding password for user root
- [root@yang conf]#
- [root@yang conf]# cat /opt/svn/passwd
- root:$apr1$gQ3qKK9Q$ZYFb.DVPf4vLGzTsU3L0f1
创建权限文件authz
- [root@yang conf]# cp /opt/svn/repos/conf/authz /opt/svn/authz
- [root@yang conf]# cat /opt/svn/authz
配置apache对SVN库目录权限
- [root@yang conf]# chown -R apache:apache /opt/svn/repos
- [root@yang conf]# ll /opt/svn
- total 12
- -rwxr--r-- 1 root root 1127 Jul 16 21:04 authz
- -rw-r--r-- 1 root root 43 Jul 16 21:02 passwd
- drwxrwxrwx 6 apache apache 4096 Jul 18 04:33 repos
配置httpd
[root@yang conf]# vim /etc/httpd/conf/httpd.conf
修改 AllowOverride None改为AllowOverride All
启动Apache
[root@yang httpd]# service httpd start
常见httpd命令:
httpd -v #查看已经安装的httpd的版本
rpm -qa | grep httpd #查看是否已经安装了httpd
ps -ef | grep httpd #查看httpd的进程
service httpd status #查看httpd的运行状态
service httpd stop #停止httpd
service httpd start #启动httpd
service httpd start #重新启动httpd
httpd日志路径: /var/log/httpd/
- [root@yang ~]# cd /var/log/httpd/
- [root@yang httpd]# ls
- access_log error_log
http登录验证
- [root@yang conf]# svn checkout http://xxx.xxx.xxx.xxx/svn/repos/
- Authentication realm: <http://xxx.xxx.xxx.xxx:80> Authorization SVN
- Password for 'root':
-
- -----------------------------------------------------------------------
- ATTENTION! Your password for authentication realm:
-
- <http://xxx.xxx.xxx.xxx:80> Authorization SVN
-
- can only be stored to disk unencrypted! You are advised to configure
- your system so that Subversion can store passwords encrypted, if
- possible. See the documentation for details.
-
- You can avoid future appearances of this warning by setting the value
- of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
- '/root/.subversion/servers'.
- -----------------------------------------------------------------------
- Store password unencrypted (yes/no)? yes
- Checked out revision 0.
Nginx之前安装部署过,这里不再重复,只看下配置文件
- [root@test conf.d]# cat test.svn.com.conf
- server
- {
- listen 80;
- listen [::]:80;
- server_name test.svn.com;
- include safe.conf;
- access_log /web/nginx/logs/test.svn.com_access.log main;
-
- location / {
- include proxy_params;
- proxy_pass http://xxx.xxx.xxx.xxx:80;
- }
- }
浏览器访问
输入用户名密码
客户端下载地址:下载 · TortoiseSVN(https://tortoisesvn.net/downloads.zh.html)
输入用户名密码即可访问
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。