CentOS7中搭建GitLab踩坑实录
今晚闲来无事,尝试了下自己搭建一台git服务器,很多人可能不明白平时自己随手就可以提交代码,为什么还要自己搭建服务器呢?首先你有没有考虑过你是怎么能把代码提交上去的?如果公司突然有一天需要你来负责搭建一台git服务器,你要怎么办?git的功能十分强大,只搭建服务器已经是最简单的工作了,后面还得考虑权限如何设置,如何利用git进行CICD……
一、安装虚拟机Linux
现实开发中,服务器基本都是Linux系统,很少有Windows,而本人服务器系统版本为:Centos 7 64位 。
服务器选择:
- 本地虚拟机 「推荐使用, 自己装系统,比较繁琐,只要电脑内存足够,可更具需要调整内存,穷人必备」
- 云主机 「GitLab 至少要 3G 以上内存, 很占用内存,emmmm~ 不便宜」
安装的过程就不多啰嗦了,安装好了以后需要设置几个非常重要的配置:
1.先在VMware Workstation进入编辑按钮设置,选择虚拟网络编辑器
2.然后选择NAT模式

3.选择虚拟机,点击设置

4、进入虚拟机,进入到网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将ONBOOT=no 设置成为ONBOOT=yes,同时将ip地址设置为固定ip,防止每次重启后改变
#添加如下配置 ONBOOT="yes"
IPADDR=192.168.253.5
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=8.8.8.8
DNS2=114.114.114.114
PEERDNS=no
5、然后重启网卡
service network restart
踩坑点:此时,虚拟机就设置完毕,但是如果你发现你的虚拟机依旧无法访问网络,那么就要设置本地机器网络为固定ip,操作如下:
(1)找到本地网络适配器中,虚拟机所对应的NAT网络,

(2)右击--属性--ipv4属性,选择使用下面的ip地址,此处的ip设置一定不要和虚拟机的ip地址一样,否则无法访问网络哦,切记切记!!!
网关要和ip在同一个网段

上述设置完毕以后,你的虚拟机的就设置好了,也可以访问网络了!
二、安装Xshell工具
安装这个工具本身没什么问题,有问题的大家可以自行百度,问题在于本人犯的一个错误就是控制面板那里设置的ip地址和centOS的ipAddress(即用ifconfig -a查出来的ip地址)设置成一样了,导致一直都没有连接成功,这个大家一定要避坑,否则连接不上。
三、安装gitlab
安装gitlab有几种方式:docker的方式安装,另一种就是直接安装在Linux,两种方式各有利弊,docker的话就不用管端口冲突之类的问题,所以我选择直接安装到Linux,因为我的这台机器只用来做git。
一般都是使用如下命令:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
1.但是由于我的机器上无法解析该地址(如果无法解析,可以试试安装一下证书:yum install -y ca-certificates),所以我选择在本地下载git后上传到Linux,就是在本地浏览器直接访问:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
下载好了以后,使用winscp直接吧下载好的gitlab Linux安装文件上传到虚拟机上去
2.在Xshell上用命令进入到保存gitlab文件的文件夹内,我的在usr/local/gitlab 文件夹中
#进入到gitlab的安装目录
cd usr/local/gitlab
#执行如下命令安装ssh
yum -y install curl policycoreutils openssh-server openssh-clients
3.出现Complete即安装完成
4.执行如下命令进行gitlab的安装
rpm -i gitlab-ce-12.2.1-ce.0.el7.x86_64.rpm #出现如下界面需等待

安装成功!!!

5.执行如下命令,打开配置文件,并将地址修改为你的虚拟机地址
vi /etc/gitlab/gitlab.rb

重点来了:由于在上文中防火墙已开启,则需要把相应的端口8600放开。
firewall-cmd --zone=public --add-port=8600/tcp --permanent
1.使gitlab的配置文件生效,这一步时间较长,耐心等待
sudo gitlab-ctl reconfigure
2.重启gitlab
sudo gitlab-ctl restart
此时,在浏览器中输入gitlab的ip和端口号,无法访问!!!!
重中之重:
#linux系统开放8600端口
cd /etc/sysconfig ls -l
没有查看到iptables文件,但存在ip6tables-config和iptables-config,本文中的linux为CentOS 7.6 ,CentOS 7默认没有了iptables文件

安装iptables-services
yum install iptables-services
启动iptables
systemctl enable iptables systemctl start iptables
在iptables中配置开放8600端口
vim /etc/sysconfig/iptables
把这句话添加配置文件中:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8600 -j ACCEPT

重启防火墙
service iptables restartj
结束!!!!
到此gitlab就搭建完毕了,浏览器中输入:http://192.168.253.5:8600

CentOS7中搭建GitLab踩坑实录的更多相关文章
- Linux系统搭建GitLab---阿里云Centos7搭建Gitlab踩坑
一.简介 GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装. 它拥有与GitHub类似的功能,能 ...
- centos7 中搭建gitlab
1.在virtual box中新建一个虚拟机 2.gitlab ce(community版本)地址:https://about.gitlab.com/installation/#centos-7?ve ...
- 后端路由项目由 gulp 改为 webpack 的踩坑实录
前言 公司有个后端路由的项目是用 gulp 作为前端自动化构建工具,最近学习了一下 webpack,深感其强大,一狠心将其改成了 webpack 构建,以下是踩坑实录. gulp 先来说说原来的架构. ...
- JAVA实用案例之文件导出(JasperReport踩坑实录)
写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- ffmpeg 踩坑实录 添加实时水印(二)
一.背景介绍 最近领导要求做一个视频录制的相关项目.其中,需要对视频文件进行添加 实时时间水印.于是,我想到了使用之前的ffmpeg来做. 二.ffmpeg实际操作 首先把需要添加水印的视频文件,上传 ...
- JasperReport报表导出踩坑实录
写在最前面 翻了翻博客,因为太忙,已经好久没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小De ...
- centos7中搭建ftp服务
博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的 ...
- centos 7( linux )下搭建elasticsearch踩坑记
原文:https://blog.csdn.net/an88411980/article/details/83150380 概述 公司最近在做全文检索的项目,发现elasticsearch踩了不少 ...
- nginx搭建网站踩坑经历
为了更好的阅读体验,请访问我的个人博客 前言 早上刷抖音刷到一个只需要三步的nginx搭建教程(视频地址),觉得有些离谱,跟着复现了一遍,果然很多地方不严谨并且省略了大量步骤,对于很多不了解linux ...
随机推荐
- Git Clone一个GitHub仓库时,发生报错
1.问题 1.使用HTTP方式:Git: fatal: unable to access ' https://github. com/Light-City/CPlusPlusThings. git/' ...
- C++中vector容器详解
参考链接:https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html 一.什么是vector? 向量(Vector)是一个封装了 ...
- [转帖]资料整理——Oracle版本历史(很全面)(Releases and versions of Oracle Database)
资料来源: https://en.wikipedia.org/wiki/Oracle_Database Oracle Database Version Initial Release Version ...
- [转帖]Mnesia reports that this RabbitMQ cluster has experienced a network partition.
一 问题描述 双节点RabbitMQ集群发生了脑裂,节点日志报错: [error] <0.6318.0> Mnesia(rabbit@pc2): ** ERROR ** mnesia_ev ...
- [转帖]如何在 Linux 中使用ss命令监控网络连接
https://zhuanlan.zhihu.com/p/99421574 ss命令是用于在Linux系统上显示与网络套接字相关的信息的工具. 该工具显示netstat命令的更多详细信息,该命令用于显 ...
- 【转帖】26.Java本地方法的理解(native方法)
目录 1.什么是本地方法? 2. 为什么要使用Native method? 1.什么是本地方法? 本地方法就是java代码里面写的native方法,它没有方法体.是为了调用C/C++代码而写的.在JN ...
- [转帖]paramiko简介
https://www.cnblogs.com/qiujichu/p/12048763.html 一.什么是paramiko 要想明白什么是paramiko,要先明白ssh协议. 二.什么是ssh协议 ...
- [转帖]比 Python 快 35000 倍!LLVM&Swift 之父宣布全新编程语言 Mojo:编程被颠覆了
https://www.infoq.cn/article/GFfVLVpkIGOcKYB85Opb "Mojo 可能是近几十年来最大的编程语言进步." 近日,由 LLVM 和 Sw ...
- [转帖]exportfs命令
https://www.cnblogs.com/xzlive/p/9766388.html exportfs命令:功能说明 :NFS共享管理语法格式exportfs [必要参数][选择参数][目录]功 ...
- SpringBoot中Bean的条件装配
目录 概述 Profile Conditional ConditionalOn ConditionalOnProperty 概述 众所周知,SpringBoot最腻害的地方就是容器,开发人员的日常工作 ...

