系统相关
首页 > 系统相关> > Ubuntu搭建开发管理Git+SVN服务器(保姆级教程)

Ubuntu搭建开发管理Git+SVN服务器(保姆级教程)

作者:互联网

搭建过程趟了很多坑,记录下来,以飨读者。

目录

一、安装apache2

二、部署SVN服务器

三、搭建Gitlab服务器

四、Gitlab的使用


一、安装apache2

sudo apt-get install apache2-dev apache2

        如果安装过程中出现问题或者发现apache2无法重启的话,可以先卸载,之后重新进行一遍安装

        卸载Apache2方法

         (1)卸载apache2相关的包

sudo apt-get --purge remove apache2

       (2) 卸载apache2-开头的所有包。

sudo apt-get --purge remove apache2-*

       (3)找到没有删除掉的配置文件,一并删除

sudo find /etc -name “apache” |xargs rm -rf
sudo rm -rf /var/www

重启apache服务

sudo /etc/init.d/apache2 restart

安装完成进行测试

在浏览器中输入 localhost,如果显示默认界面即认为apache2可用

  

 

二、部署SVN服务器

(1)下载svn服务,以及 apache2-svn链接库并安装(适用于ubuntu18.04)

sudo apt-get install subversion libapache2-mod-svn

(2)建立自己的工作目录

sudo mkdir /home/svn #此目录为SVN的根目录

(3)建立版本库

sudo svnadmin create /home/svn/test #在根目录下建立版本库,名字可自由编制

(4)授予权限给svn及其子目录,可rw(读写)

sudo chmod -R 777 /home/svn

(5)添加subversion管理用户及subversion组

sudo adduser svnuser

sudo addgroup subversion

sudo addgroup svnuser subversion

(6)为apache用到的www-data添加权限,可以http访问 文件夹目录均使用根目录

sudo chown -R root:subversion /home/svn

sudo chown -R www-data:www-data /home/svn

(7)修改test/conf内的配置文件,打开文件夹

cd /home/svn/test/conf

(8)修改仓库配置文档

sudo vim svnserve.conf

(9)修改如下几行,去掉开头的#

anon-access = none 未授权不可读写

auth-access = write

password-db = passwd

authz-db = authz

(10)通过修改passwd文档来添加用户

sudo vim passwd

(11)添加用户

[users]

admin = admin321

账号 = 密码,注意等号左右要有空格

(12)通过修改authz文档来调整分组和权限

sudo vim authz

(13)添加用户分组以及权限

[groups] #用户组

Managers = admin #管理员组 成员:admin;组名 = 成员名

[svnroot:/] 仓库根目录权限 设置

@Managers = rw #managers用户组可读写

[test:/] 自定义版本库设置

@Managers = rw #managers 用户组可读写

(14)启动SVN服务器

sudo svnserver -d -r /home/svn #路径是根目录

(15)监听3690端口,检测是否启动成功

sudo netstat -antp | grep svnserve

 

其他:

①重启svn服务

1、关闭服务

sudo killall svnserver

2、启动SVN服务器

sudo svnserver -d -r /home/svn #路径是根目录

②实现http访问

之前已经建立起了apache与svn之间的连接,并授予了相关权限

下面通过修改apache2配置文件实现浏览器通过http访问

sudo vim /etc/apache2/mods-available/dav_svn.conf

在末尾添加

<Location /svn>

DAV svn

SVNParentPath /home/svn #版本库的路径

AuthType Basic

AuthName "test svn" #仓库名字

AuthUserFile /etc/apache2/dav_svn.passwd #密钥文件

Require valid-user

</Location>

创建svn用户,路径要与上面配置文件的密钥文件一致

htpasswd -c /etc/apache2/dav_svn.passwd admin #admin是用户名

 

输入密码;    重复输入密码(尽量与svn用户名与密码一致);    第一次要有参数 -c , 之后添加用户不需要, -c会清除文件原内容,每次新增svn用户就需要进行一次上述创建用户操作

 

之后重启apache

sudo /etc/init.d/apache2 restart

在浏览器网页上输入

localhost/svn/test #localhost是本机的IP地址

输入用户密码,即可实现访问SVN服务器

 

参考博主「Mr.Stick」文章,原文链接:https://blog.csdn.net/stickmangod/article/details/85315971

三、搭建Gitlab服务器

1、环境配置

(1)关闭防火墙防火墙相关指令

1:查看防火状态

systemctl status firewalld

2:暂时关闭防火墙

systemctl stop firewalld

3:永久关闭防火墙

systemctl disable firewalld

4:重启防火墙

systemctl enable firewalld

(2)关闭SElinux

输入getenforce,查看是否为disable状态

 (3)开启邮件服务

systemctl start postfix

systemctl enable postfix

2、部署Gitlab

(1)安装Gitlab依赖包

sudo apt-get install curl openssh-server ca-certificates postfix

执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)

2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装。

首先信任 GitLab 的 GPG 公钥:

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

3.

利用root用户1(不是sudo,而是root,命令号是su root),vim打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入下面一行:

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main

4.装 gitlab-ce:

sudo apt-get update #更新软件库

sudo apt-get install gitlab-ce

5.配置gitlab

①设置登录链接

vim /etc/gitlab/gitlab.rb

修改此文件中 external_url项为

external_url 'http://本机IP地址'

vim中搜索可用 “/” +要搜索内容

②初始化Gitlab,执行命令

sudo gitlab-ctl reconfigure

首次使用时配置时间较长

③打开 sshd 服务

service sshd start

④启动gitlab

sudo gitlab-ctl start

⑤检查GitLab是否安装好并且已经正确运行,输入下面的命令

sudo gitlab-ctl status

如果得到类似下面的结果,则说明GitLab运行正常

run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s

run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s

run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s

run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s

run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s

run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s

run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s

⑥ Gitlab 设置HTTPS方式进行访问

如果想要通过https进行访问,就需要把letsencrypt自动生成证书的配置打开,这样在执行重新让配置生效命令(gitlab-ctl reconfigure)的时候会自动给域名生成免费的证书并自动在gitlab自带的nginx中加上相关的跳转配置,都是全自动的,非常方便

vim /etc/gitlab/gitlab.rb

修改如下项

letsencrypt['enable']=true

letsencrypt['contact_emails']=['xxx@126.com(本人电子邮件地址)']

⑦Gitlab添加Smtp邮件功能

vim /etc/gitlab/gitlab.rb

修改如下项


设置完成后,重启gitlab

sudo gitlab-ctl reconfigure 初始化配置

sudo gitlab-ctl stop 停止gitlab服务器

sudo gitlab-ctl start 开启gitlab服务器

按照下列方法进行邮件测试

 

然后去邮箱看是否收到邮件

 

 

 

四、Gitlab的使用

在浏览器中输入 http://本机ip:制定端口号,然后change password,并使用root用户登录即可(后续动作根据提示操作),后续可使用Gitlab服务管理进行操作

 

 

 

 

 

 

 

 

 

 

 

 

 

其他:

 Gitlab数据备份

 

 Gitlab数据恢复

 

 Over

标签:SVN,svn,Git,run,gitlab,pid,apache2,Ubuntu,sudo
来源: https://blog.csdn.net/sinat_35676815/article/details/121933481