svn和submin安装

Easter79
• 阅读 1028

阿里云centos安装svn和submin

概述

没有找到可以让团队方便使用的云盘,暂时搭建一个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)

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

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

    yum install subversion-python
    

三、安装submin

https://wenku.baidu.com/view/2398efa9e43a580216fc700abb68a98271feacff.html

可以参照 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,执行以下命令   也可以修改httpd.conf文件,把用户和用户组修改成当前的用户

 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. 访问系统进入登录界面

  2. 点击forgot your password

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

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

七、新建仓库sharing

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

  2. 进入新建页面

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

八、授权

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

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

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

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

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

  1. 使用浏览器访问svn地址测试
  2. 来源: https://www.cnblogs.com/zhangqigao/archive/2016/08/02/5729491.html
  3. a
  4. a
  5. a
  6. a
  7. a
  8. submin2-admin /home/submin-data/ config set smtp_hostname smtp.163.com
  9. 119 submin2-admin /home/submin-data/ config set smtp_port 25
  10. 120 submin2-admin /home/submin-data/ config set smtp_username svnadmin
  11. 121 submin2-admin /home/submin-data/ config set smtp_username qq8301@163.com
  12. 122 submin2-admin /home/submin-data/ config set smtp_password 5201314..
  13. 123 submin2-admin /home/submin-data/ config set smtp_from "svnqq8301@163.com"
  14. 124 submin2-admin /home/submin-data/ config set commit_email_from "svnqq8301@163.com"
  15. 125 submin2-admin /opt/submin/ diagnostics
  16. 126 submin2-admin /home/submin-data/ diagnostics
  17. 127 submin2-admin /home/submin-data/ config set vcs_plugins svn
  18. 128 submin2-admin /home/submin-data/ diagnostics
  19. 129 cat /etc/httpd/conf.d/subversion.conf
  20. 130 cat /etc/httpd/conf/httpd.conf
  21. 131 cd /etc/httpd/conf.d
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k