概述

没有找到可以让团队方便使用的云盘,暂时搭建一个svn凑合用一下

svn有三种安装方式

安装方式 服务程序 服务协议 用户和密码 授权 系统配置
svn独立安装 svnserve svn passwd文件(明文密码) authz文件 svnserve.conf文件
apache+svn安装 httpd http WebDAV htpasswd命令(密文密码) authz文件 httpd.conf文件
apache+svn+submin httpd+ pythonCGI http WebDAV WebUI(sqlite3) WebUI(authz文件) submin2-admin命令

一、安装apache

  1. 检查apache是否安装

    rpm -qa|grep httpd
  2. 使用yum安装apache

    yum -y install httpd
  3. 记住安装的版本号

    httpd.x86_64 0:2.4.6-31.el7.centos
  4. 启动apache测试apache是否可用
    注意:在centos7中使用systemctl替换了service

    systemctl start httpd.service
    systemctl status httpd.service

  浏览器输入IP查看是否能显示以下页面

  5. apache安装路径
         /etc/httpd

二、安装SVN

  1. 检查svn是否安装

    rpm -qa|grep subversion

    阿里云已经安装了svn,如果没有安装使用 yum install subversion 命令安装

  2. 使用命令查看版本

    svnserve --version

    记住版本号svnserve,版本 1.7.14 (r1542130)

  1. 安装apache对svn的支持模块

    yum install mod_dav_svn
    
    #安装完成后apache的modules目录下会多两个文件
    mod_authz_svn.so
    mod_dav_svn.so
  2. 安装python对svn的支持

    yum install subversion-python

三、安装submin

可以参照 https://ssl.supermind.nl/collab/projects/submin/browser/INSTALL

  1. submin依赖

    1. If you want subversion, you also need apache. If only git is needed, you can also install nginx.
    2. Python 2.x Python 2.7 preferred, but 2.6 should work,使用python —version查看python 版本
    3. Subversion
  2. 下载最新版本 http://supermind.nl/submin/current/submin-2.2.1-1.tar.gz

  3. 上传到服务器 sftp

  4. 解压文件

    tar -xzvf submin-2.2.1-1.tar.gz
  5. 安装

    cd submin-2.2.1-1/
    python setup.py install
  6. 验证安装
    执行 submin2-admin 成功显示当前版本

  7. 配置submin

    submin2-admin /opt/submin/ initenv your@email.address

    邮箱很重要, submin会将管理员设置初始口令的链接发到这邮箱中
    /opt/submin这个目录不要提前建,安装命令的向导一步步设置就可以了,说明很清楚.
    这一步需要注意

Please provide a location for the Subversion repositories. For new Subversion
repositories, the default setting is ok. If the path is not absolute, it will
be relative to the submin environment. If you want to use an existing
repository, please provide the full pathname to the Subversion parent
directory (ie. /var/lib/svn).
Path to the repository? [svn]>

  这个目录我设置的时 /opt/svn,注意这个目录apache一定要有写权限,否则会报以下错误

E165002 /opt/svn is an existing repository

  因为submin是用apache用户启动的,最简单的方式是将该目录所有者设置为apache,执行以下命令

 chown apache:apache  /opt/svn/
  1. 配置apache
    生成配置文件

    submin2-admin /opt/submin/ apacheconf create all

    建立软链接配置apache,注意Apache版本

    ln -s /opt/submin/conf/apache-2.4-webui-cgi.conf /etc/httpd/conf.d/
    ln -s /opt/submin/conf/apache-2.4-svn.conf /etc/httpd/conf.d/
  2. 重启apache

    systemctl restart httpd.service

    报错 Can’t load driver file apr_dbd_sqlite3.so
    submin2默认需要sqlite3做数据库

    yum -y install apr-util-sqlite apr-util

    再次重启OK

四、邮箱设置

  1. 配置 submin时,需要配置管理员邮箱
  2. /usr/lib/python2.7/site-packages/submin/email/fallback.py

    def sendmail(sender, receiver, message):
    msg_e = message.encode('utf-8')
    try:
    smtp.send(sender, receiver, msg_e)
    except SendEmailError:
    # this can still raise SendEmailError
    local.send(sender, receiver, msg_e)

    优先使用stmp发邮件。 异常时使用本地的sendmail,配置smtp

       submin2-admin /opt/submin  config set smtp_hostname  smtp.exmail.qq.com
    submin2-admin /opt/submin config set smtp_port 25
    submin2-admin /opt/submin config set smtp_username svn@xxxxx.com
    submin2-admin /opt/submin config set smtp_password xxxxxx
    submin2-admin /opt/submin config set smtp_from "svn <svn@xxxx.com>"
    submin2-admin /opt/submin config set commit_email_from "svn <svn@xxxx.com>"

五、诊断submin

执行以下命令
submin2-admin /opt/submin/ diagnostics
如果有问题参照说明修改对应错误
我设置出现了以下问题:

To disable, run the following command: submin2-admin /opt/submin config set vcs_plugins svn

如果不禁用git,以后的操作都会报git没有设置的错误

六、管理员重置密码

  1. 访问系统进入登录界面

  1. 点击forgot your password

输入admin,点击重置,以下命令配置的邮箱将会受到密码重置邮件

submin2-admin /opt/submin/ initenv your@email.address
  1. 点击重置邮件进入系统,点击admin菜单进入用户设置界面,修改密码

七、新建仓库sharing

  1. 点击左侧菜单右下角的新建仓库按钮

  1. 进入新建页面


输入名称,选择svn创建仓库

八、授权

  1. 点击左侧菜单最下面中间两个人的按钮,新建组

  2. 点击左侧菜单最下面的左侧一个人的按钮,新建用户

  3. 新建完成用户后,用户会收到密码重置邮件,同时系统进入修改用户信息页面,可以将用户添加到developer组

  4. 设置权限,点击左侧需要授权的仓库按钮

针对特定的路径设置组或用户并设置对应的读写权限,这里我给developer设置root的读写权限

  1. 使用浏览器访问svn地址测试

阿里云centos安装svn和submin的更多相关文章

  1. 阿里云(centos)下svn 服务器搭建

    安装说明 系统环境:阿里云centos安装方式:yum install subversion 检查已安装版本 #检查是否安装了低版本的SVN[root@localhost /]# rpm -qa su ...

  2. 阿里云centos安装oracle

    目录 阿里云centos安装oracle 阿里云默认没有swap分区,oracle安装需要 安装Oracle所需的依赖包 创建用户和组 关闭SELINUX(阿里云缺省关闭) 开始安装 使用" ...

  3. 阿里云centos 安装和配置 DokuWiki

    安装 1) 添加虚拟主机:由于我的 阿里云CentOs服务器 安装了oneinstack的一键部署PHP.JAVA.Nginx等环境,所以域名配置很方便,照着文档一步一步做就可以了 cd /root/ ...

  4. 阿里云centos安装ftp与svn过程

    1.下载xshell或者secureCRT 2.登录centos或者服务器 3.安装vsftpd [root@xxx]# yum install vsftpd //安装vsftpd [root@xxx ...

  5. 阿里云 CentOS 安装JDK

    初用阿里云,使用centOS linux64操作系统 . 自己上传jdk文件总是安装失败,原因估计是因为我的网络不好,导致文件损坏. 解决办法,直接在linux命令行模式下,到官网下载 jdk,命令如 ...

  6. 阿里云centos安装docker-engine实践

    近日在阿里云ECS服务器(centos系统)中安装docker,参考官方指南 https://docs.docker.com/engine/installation/linux/centos/  大概 ...

  7. 关于阿里云centos7安装svn,客服端无法链接的问题

    阿里云的centos7的版本中,通过yum安装了subversion之后,svn客服端无法链接svn服务器. 首先确定服务器的安全组策略中的3690端口是否打开 然后确定svnserve配置是否正确, ...

  8. 阿里云 centos 安装apache和php

    mysql使用阿里云的rds httpd服务 1. 安装apr和apr-util 2. 安装 httpd apache.org,apr.apache.org 安装命令: ./configure --p ...

  9. 阿里云CentOS安装PostgreSQL

    在PostgreSQL官方文档:https://www.postgresql.org/download/linux/redhat/ 有选项和说明 1.检查有没安装:rpg -ga | grep pos ...

随机推荐

  1. DOM 节点的克隆与删除

    无奈的开头 关于DOM节点操作,如果仅仅是根据标准API来操作,那是最简单不过的了.但是现实中却哪有这么容易的问题让我们解决,其实不仅仅是节点的克隆与删除,节点的添加也是如此,而且添加节点需要考虑的情 ...

  2. spring整合hibernate的详细步骤

    Spring整合hibernate需要整合些什么? 由IOC容器来生成hibernate的sessionFactory. 让hibernate使用spring的声明式事务 整合步骤: 加入hibern ...

  3. 【JVM】JVM系列之Class文件(三)

    一.前言 随着我们学习的不断深入,我相信读者对class文件很感兴趣,class文件是用户编写程序与虚拟机之前的桥梁,程序通过编译形成class文件,class文件之后会载入虚拟机,被虚拟机执行,下面 ...

  4. Android 程序打包及签名

    为什么要签名??? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的. 由于开发商可能通过使用相同的Package Name来 ...

  5. java枚举类型学习

    用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举.参考:java编程思想. Update: 枚举可以当做数据字典来存储,通常只要一个字段即instance本身,toString ...

  6. Linux打包与压缩及tar命令详解

    打包和压缩   在linux中,打包和压缩可以说是两个不同的概念,弄清这两个概念对于我们理解复杂的文件后缀有非常大的帮助 打包 将若干个文件和目录打包在一起变成一个大的文件,这时只是简单的打包,所以一 ...

  7. [无聊的事-连载之连开100个VS] 折腾你的骚机吧,骚年们!!!

    [无聊的事-连载之连开100个VS] 折腾你的骚机吧,骚年们!!! 只有8G内存的,用这个:打开你的CMD命令提示符如果只装了Visual Studio 2010,用这条命令,打开50个VSfor / ...

  8. HTML5模仿逼真地球自转

    查看效果:http://hovertree.com/texiao/html5/8.htm 给我一个支点,我就可以撬动地球 阿基米德 下载 http://hovertree.com/down/h/ear ...

  9. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

    在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

  10. 【Win10开发】自定义标题栏

    UWP 现在已经可以自定义标题栏了,毕竟看灰色时间长了也会厌烦,开发者们还是希望能够将自己的UI做的更加漂亮,更加与众不同.那么废话不多说,我们开始吧! 首先要了解ApplicationViewTit ...