### 1 安装
~~~
yum -y install subversion
~~~
### 2 检查SVN是否安装成功
~~~
svnserve --version
~~~
### 3 建立SVN版本库
~~~
mkdir /www/svn/svnrepos 创建一个文件夹
~~~
### 4 创建SVN版本库
~~~
svnadmin create /www/svn/svnrepos/xxxx (xxxx)为目录(项目或版本库)名称,后面checkout项目时会用到。
~~~
### 5 查看该文件夹目录结构 tree /www/svn/svnrepos/xxx (没有tree命令 先安装 yum install -y tree)
├── conf
│ ├── authz
│ ├── passwd
│ └── svnserve.conf
├── db
│ ├── current
│ ├── format
│ ├── fsfs.conf
│ ├── fs-type
│ ├── min-unpacked-rev
│ ├── revprops
│ │ └── 0
│ │ └── 0
│ ├── revs
│ │ └── 0
│ │ └── 0
│ ├── transactions
│ ├── txn-current
│ ├── txn-current-lock
│ ├── txn-protorevs
│ ├── uuid
│ └── write-lock
├── format
├── hooks
│ ├── post-commit.tmpl
│ ├── post-lock.tmpl
│ ├── post-revprop-change.tmpl
│ ├── post-unlock.tmpl
│ ├── pre-commit.tmpl
│ ├── pre-lock.tmpl
│ ├── pre-revprop-change.tmpl
│ ├── pre-unlock.tmpl
│ └── start-commit.tmpl
├── locks
│ ├── db.lock
│ └── db-logs.lock
└── README.txt
### 6 目录说明
~~~
conf:SVN版本库配置文件(帐号密码权限等)
conf/authz:负责账号权限的管理,控制账号是否读写权限
conf/passwd:负责账号和密码的用户名单管理
conf/svnserve.conf:svn服务器配置文件
db:版本库数据存储
locks:跟踪目录的访问者
~~~
### 7 配置文件修改
~~~
cd /www/svn/svnrepos/xxxx/conf
vi authz
清除原有内容 添加以下内容
[aliases]
[groups]
[repository:/baz/fuzi/bz]
@admin = rw
* = r
[\]
jiangguowu = rw
* = r
~~~
### 8 修改passwd 文件配置
~~~
清除所有内容 添加以下内容
[users]
jiangguowu = 123456
~~~
### 9 修改svn配置文件 vi svnserve.conf
~~~
同理 清除所有内容 添加以下内容
[general]
anon-access = read
auth-access = write
password-db = passwd
~~~
### 10 开启防火墙
多数情况下,配置完SVN后 无法访问通常是防火墙为配置 3690 端口(SVN默认端口)
~~~
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
或者(系统未安装INPUT命令 或者 centOS7 firewall 已经代替 iptables)
sudo firewall-cmd --permanent --add-service=telnet
sudo firewall-cmd --permanent --add-port=3690/tcp
sudo firewall-cmd --reload
centOS 7 防火墙开启 关闭 与 查看状态
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld
~~~
### 11 启动svn服务
~~~
svnserve -d -r /var/svn/svnrepos (/var/svn/svnrepos 为当初svn版本库根目录)
启动成功后 ps aux | grep svn 可以查看svn进程
~~~
### 12 检出项目
~~~
进入windows 检出项目 地址栏输入 svn://项目ip:3690/xxxx
项目ip可以通过 ip addr 或者 ifconfig 查看 inet
xxxx 为当初建立的SVN版本库 可以从上文 xxxx寻找
~~~
### 13 以上成功的话说明svn服务端搭建成功
以下是利用钩子文件上传代码
~~~
cd /www/svn/svnrepos/xxxx/hooks/
cp poset-commit.tmpl post-commit 或者是重命名 mv poset-commit.tmpl post-commit
vi post-commit 修改为以下内容
REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
/usr/bin/svn checkout file:///www/svn/svnrepos/xxx/ /www/wwwroot/www.xxx.io/
/usr/bin/svn update --username jiangguowu --password 123456 /www/wwwroot/www.xxx.io
chown -R www.www /www/wwwroot/www.xxx.io # 权限组修改
chmod -R 750 /www/wwwroot/www.xxx.io #权限修改
exit 0
~~~
### 14 重启svn 服务
- php ping 地址
- python调用php脚本和sh调用php脚本
- php随机字符串
- redis操作
- 公共页面文件
- 登录
- 文章
- 文章管理
- 文章分类
- 图片
- 图片分类
- 图片管理
- 配置文件
- ueditor配置远程上传
- django
- 安装
- jinja2模板标签
- 虚拟机
- centos宝塔面板安装
- mysql主从搭建
- 虚拟机安装centos7
- 2
- 主从复制
- uni-app
- 更新
- 直播简单代码
- 搞笑的注释代码
- jwt
- centos以太坊环境搭建
- thinkphp5.1下的redis使用
- redis的安装
- tp5.1中使用
- tp5.1下载酷狗音乐
- 跨域
- tp5.1导出数据库到excel
- 钩子和行为
- 支付宝
- 申请支付宝app接入
- 视频播放
- 模块安装
- 推流配置
- pc端网页代码
- srs
- 后台布局
- 基础布局文件
- 左边
- 头部
- css特效代码
- 图片旋转
- 图片放大
- 顶部
- 列表页
- 更新数据表单页
- 模型获取器
- 上传图片
- mysql
- 一些常用
- 远程授权
- 数据库常用命令
- 忘记密码
- webpack
- 一些乱七八糟的东西
- linux后台运行脚本过大处理办法
- sublime插件
- linux svn安装
- 工具
- 查看进程
- 获取微信公众号文章
- 爬取微信公众号文章
- 清空nohup
- 服务器上跨域配置
- sql语句生成orm模型写法的工具
- centos换阿里源
- linux一些日志操作
- zsh