Linux 搭建SVN服务器(B/S模式)

提示:本教程SVN服务(B/S模式)采用架构 ( subversion + apache + submin )

Submin软件是第三方提供(已经停止更新),需要到官网下载 https://supermind.nl/ (官网需要翻墙才可以打开),官网下载不了可以到第三方网站下载RPM包安装即可 http://rpmfind.net/

Linux System Environment

[root@client01 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@client01 ~]# uname -r
3.10.0-862.el7.x86_64
[root@client01 ~]# uname -m
x86_64
[root@client01 ~]# echo $LANG
en_US.UTF-8

一、配置阿里云yum源和epel源
提示:阿里云yum源官网 https://developer.aliyun.com/mirror/

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache

二、关闭防火墙和SElinux
提示:BS模式的SVN使用默认端口 80

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
cat /etc/selinux/config
setenforce 0
getenforce

三、yum安装SVN软件

rpm -qa subversion       ##查看是否已经安装SVN软件,如果已安装就不用再继续安装
yum -y install subversion
svn --version

四、yum安装并启动Apache
提示:httpd配置目录 /etc/httpd/ ,启动apache后需要使用浏览器打开测试一下

yum -y install httpd
systemctl enable httpd.service
systemctl start httpd.service
systemctl status httpd.service

五、安装Apache和python对SVN支持的模块

yum -y install mod_dav_svn
yum -y install subversion-python

六、下载submin并安装
提示:建议使用window下载submin源码rpm安装包上传到linux再进行安装

[root@client01 ~]# yum -y install vim lrzsz
[root@client01 ~]# rpm -ivh submin-2.2.1.1-lp152.3.3.src.rpm
[root@client01 SOURCES]# tar xf /root/rpmbuild/SOURCES/submin-2.2.1-1.tar.gz
[root@client01 SOURCES]# cd /root/rpmbuild/SOURCES/submin-2.2.1-1
[root@client01 submin-2.2.1-1]# python setup.py install
[root@client01 ~]# submin2-admin      ###显示submin版本说明安装成功
Submin 2.2.1
[root@client01 ~]# submin2-admin /opt/submin initenv [your@email.address](mailto:your@email.address) ###初始化submin配置需要等待1分钟就会显示配置,[your@email.address](mailto:your@email.address)填写个人邮箱,/opt/submin 此SVN初始化目录不需要先创建
Submin can enable features for you automatically. Please answer which features
you want to enable. You can choose to enable: 'svn', 'git', 'trac', 'apache'
and 'nginx'.
Which features do you want to enable? [svn, git, apache, nginx]> svn,apache     #指定要开启哪些功能
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     # #指定SVN版本库目录
Please provide a hostname that can be used to reach the web interface. This
hostname will be used in communication to the user (a link in email, links
in the web interface). The hostname should be a FQDN, so instead of 'foo' it
should be 'foo.example.com'. Please correct if the default is incorrect.
Hostname? [client01]> 192.168.201.56      ##指定主机IP
The HTTP path tells Submin where the website is located relative to the root.
This is needed for proper working of the website. Submin will be accesible
from <http base>/submin, Subversion will be accessible from <http base>/svn.
If you use Trac, it will be accessible from <http base>/trac.
HTTP base? [/]>                             ##按回车即可
Submin will send emails for password resets and for commit message (if
enabled). You can set the sender email address that Submin will use. The
default might work in some places, but not all.
Email from envelope? [Submin <root@client01>]>    #按回车即可

#一定要注意SVN和GIT版本库目录要给apache用户写权限,否则会报错
[root@client01 ~]# chown apache:apache /opt/svn/

七、配置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/

八、重启Apache

yum -y install apr-util-sqlite apr-util     #需要yum安装sqlite3做数据库,否则会报错Can’t load driver file apr_dbd_sqlite3.so
systemctl restart httpd.service

九、诊断submin

submin2-admin /opt/submin/ diagnostics

十、重置submin管理员密码

cat /var/spool/mail/root #重启Apache服务会有一个邮件提示修改管理员密码
http://192.168.201.56/submin/password/admin/xfJlSA9GVTJUn5AkMlllJJPqPOXzCaBsaXYcxu7j7eRYuywz6i ##此链接地址都不一样,请使用个人安装submin生成的链接,修改admin管理员密码会提示错误,这个错误只需要开启git功能即可

image.png

image.png
submin2-admin /opt/submin git init     #执行这条命令直接按回车即可
image.png

特殊操作:(submin内置命令)

###submin命令用法
[root@test001 ~]# submin2-admin /opt/submin/ config 
Usage:
        config defaults                 - create config with defaults
        config get                      - list everything
        config get <option>             - get config value in section
        config set <option> <value>     - set config value in section
        config unset <option>           - remove option


###查看submin内置的命令
[root@test001 ~]# submin2-admin /opt/submin/ config get 
auth_type              sql
base_url_git           /git
base_url_submin        /submin
base_url_svn           /svn
base_url_trac          /trac
commit_email_from      Submin <root@client01>
database_version       11
dir_bin                static/bin
enabled_trac           no
env_path               /bin:/usr/bin:/usr/local/bin:/opt/local/bin
git_dir                git
git_ssh_host           client01
git_ssh_host_internal  localhost
git_ssh_port           22
git_user               git
http_vhost             192.168.201.56
session_salt           TdqLYausvUaCMqR.
smtp_from              Submin <root@client01>
svn_authz_file         conf/authz
svn_dir                /opt/svn
trac_dir               trac
vcs_plugins            git,svn


###submin修改主机访问的IP地址(submin迁移到别的服务器上可以这么使用)
submin2-admin /opt/submin/ config set http_vhost 192.168.201.49

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352