序言
各位好啊,我是会编程的蜗牛,作为java开发者,在团队开发中,一般都是需要使用git及git仓库来管理我们的代码的,这非常方便。我以前在小公司的时候,基本都是一个人开发一个项目,所以也没有怎么接触过git,后来去了大一点的公司,才第一次接触。这其中使用的比较多的仓库就是gitlab,但之前都是别人帮我搭好的,最近为了研究下jenkins自动化部署,所以得先安装下git仓库,这里首选gitlab,当然在这之前,我们可能还需要安装一个centos系统,这个可以参考我之前的文章:如何用VMWARE创建一个Linux虚拟机
话不多说,直接开始安装吧。
 
安装sshd
首选,先安装下sshd依赖,执行如下命令:
yum install -y curl policycoreutils-python openssh-server
按照正常的设想,应该是等待安装完成,但却报错了,如图:
 
看样子,是centos7里面默认的yum源镜像有点问题,网上查了一下,找到了解决方法,大致的原因是yum配置文件里指向的域名识别不了;需要重新设置下DNS指向。具体可以参考下这篇文章。https://blog.csdn.net/linhua_111/article/details/103522748
解决之后,再次执行上面的命令,就可以成功安装了。
 
安装好之后,需要启用和启动sshd服务,执行命令:
 
systemctl enable sshdsystemctl start sshd
设置防火墙
打开 /etc/sysctl.conf 文件,在文件最后添加新的一行。
 
输入如下文本:
 
net.ipv4.ip_forward = 1
这样,就配置好了防火墙。这样设置的作用是,当linux主机有多个网卡时,一个网卡收到的信息就可以传递给其他网卡了,就是数据可以进行转发。
 
然后,启动防火墙:
 
systemctl enable firewalldsystemctl start firewalld
最后,将防火墙重启,使防火墙设置生效。
systemctl reload firewalld
安装postfix
由于gitlab是需要使用postfix来作为邮件发送服务的,所以,还得安装下这个服务。
直接输入命令即可安装,在确认安装环节,输入【y】即可:
yum install postfix
 
安装完成之后,打开/etc/postfix/main.cf 文件,找到inet_protocols = all,将 all 改为 ipv4。
然后,启动postfix,输入命令:
systemctl enable postfix systemctl start postfix
安装gitlab
终于到了安装gitlab的时刻了。
首先,由于网络原因,我们需要更改下镜像源地址。在/etc/yum.repos.d 目录下新建 gitlab-ce.repo 文件,并在里面输入如下内容:
[gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1
 
然后保存文件,这样把该镜像源的地址设置成了清华大学的,下载的时候会比较快。
 
保存好之后,需要重新生成环境,执行如下命令:
yum makecache
 
但是,这里,我又遇到了一个问题,如图:
 
发生这个问题的原因比较明显,就是我的系统上,/var这个挂载点空间不足,本身是由于我这个挂载点空间就不大,然后安装gitlab又比较耗费空间,所以,就报错了。无奈,又网上搜了一圈。
最终找到了将根目录下的空间分配一部分给其他挂载点的方法,成功解决这个问题。大家如果也遇到这个问题,可以参考这篇文章,写得比较详细了。https://www.linuxidc.com/Linux/2019-04/158346.htm
 
然后,我们就可以正式安装gitlab了,执行如下命令:
yum install -y gitlab-ce
 
 
这个安装起来时间较长,需要耐心等待一下,大概10分钟左右。
当看到这个画面的时候,就说明gitlab已经基本安装好了。
 
运行gitlab
 
首先,我们需要配置一下GitLab的域名,当然这个不是必须的,但建议配置下,不然到时候访问gitlab的时候,名字不太好记。
打开/etc/gitlab/gitlab.rb文件,找到external_url 这个选项,改成改机器的ip或者域名,如图:
 
 
然后,就是初始化gitlab,这是必须的,时间也比较长,耐心等待下吧。
输入命令:
 
gitlab-ctl reconfigure
当出现如图的画面时,就已经配置完成了。
 
这里说明下常用的命令:
 
sudo gitlab-ctl reconfiguresudo gitlab-ctl stopsudo gitlab-ctl start
分别是初始化gitlab,关闭gitlab,启动gitlab。现在我们启动下gitlab。但这时,问题又出现了。出现了502界面,并不是我们想要的登录界面。
 
我网上又找了很多种解决办法,有说8080端口被占用的,但我这边是用80端口的,所以不是这个问题。也有说可能启动较慢,需要等待一段时间,可是我大概等了10几分钟了,也还是502,所以也不是这个问题。
最后,看到说可能是内存不够,这个倒是有可能的,我在设置虚拟机的时候,把内存好像只设置成了1GB,网上说最好大于2GB,所以又将虚拟机的内存改大了,改成了4GB。我这里用的是VMWare虚拟机,这个更改的操作,也可以参考我上面讲的我之前的那篇文章,这里就不展开讲了。
登录gitlab
千呼万唤始出来了。终于到了登录的时刻了,但是问题来了,账号是root,那么密码是多少呢?
 
有同学可能会说,直接注册一个账号不就得了,这样应该也可以,就是点击界面下面的注册选项。
不过我这里还是希望先用root账号登录,毕竟可能能看到的比较全面。密码的话,后面找了下,是在我们的某个文件里面了。而且是有时间限制的,到了时间,这个密码就被抹去了。我是在日志信息里找到的这个文件,如图
 
然后,我们打开这个文件,直接取出密码即可,也没有什么加密解密的操作。
 
最后,终于可以使用root和这个密码去登录了,看看登录后的效果。
 
 
总结
今天安装这个gitlab,虽然中间遇到了很多问题,但好在最后都一一解决了,有问题就得多查查别人怎么解决的,当然也需要我们自己的细致观察和严谨思考。后面有时间再写下如何使用gitlab创建一个仓库及一些常用配置吧。
推荐阅读 点击标题可跳转
 

如何在CentOS7上搭建自己的GitLab仓库的更多相关文章

  1. [原创]在Centos7上搭建私有的Gitlab服务器

    前言 Git作为后起之秀,在版本控制领域占据了头把交椅.Github作为托管式的代码仓库,从代码安全性和网络传输等各个方面考虑,对于个人和公司来讲,具有一定的局限性.Gitlab提供的不同版本的安装包 ...

  2. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  3. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

  4. 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享

    如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...

  5. 如何在Centos7上安装zookeeper 多实例

    一.如何在Centos7上安装zookeeper 多实例 cd /usr/local/src/ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zoo ...

  6. 如何在CentOS7上改变网络接口名

    如何在CentOS7上改变网络接口名 传统上,Linux的网络接口被枚举为eth[0123...],但这些名称并不一定符合实际的硬件插槽,PCI位置,USB接口数量等,这引入了一个不可预知的命名问题( ...

  7. centos7上搭建开源系统jforum

    centos7上搭建好tomcat,mysql; 将 jforum-2.6.2.war放到tomcat目录的webapps下: 启动tomcat,./startup.sh ,查看webapp下jfor ...

  8. 如何在 macOS 上搭建 PHP 开发环境

    如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...

  9. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

随机推荐

  1. 报错:①Tog goal specified requires a project to execute but there is no POM in this directory......②说类HelloWorld是公共的, 应在名为 HelloWorld.java 的文件中声明 public class HelloWorld......

    在运行Maven的命令时,在DOS窗口里面必须把目录切换到项目的根部,要不然命令是找不到目的地. 下图是错误示范,项目在Demo02这个目录里,就必须将目录切换到Demo02下,否则DOS窗口只有飘红 ...

  2. Spire.Cloud 私有化部署教程(三) - Windows 系统

    本教程主要介绍如何在 Windows 系统上实现 Spire.Cloud 私有化部署. 详细步骤如下: 一.安装依赖 我们的私有部署的依赖有 Nodejs.MySQL.Redis 和 RabbitMQ ...

  3. KingbaseES rownum 与 limit 的 执行计划区别

    数据准备 --创建基础数据表100W行 create table test07 as select * from (select generate_series(1, 1000000) id, (ra ...

  4. 如何查找并简单分析core文件

    当系统发生coredump时,通常需要通过分析core文件来定位问题所在,但实际工作中,有时却发现core 文件找不到,或者core文件被删除了. 一.core文件没有生成 KINGBASE core ...

  5. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(21)-如何使用Fiddler生成Jmeter脚本-上篇

    1.简介 通过跟随宏哥的脚步学习宏哥的Jmeter系列文章,.我们知道Jmeter本身可以录制脚本,也可以通过BadBoy,BlazeMeter等工具进行录制,其实Fiddler也可以录制Jmter脚 ...

  6. Minio设置永久下载链接

    目前了解到的有如下两种方法 建议采用第二种办法 第一种方法:设置Access Policy为public 不论文件是否已经操作过分享动作,只要存储桶中有这个文件就能通过如下形式直接访问: http:/ ...

  7. 胎压监测系统(DWS)

    胎压监测系统(DWS)通过监测和比较行驶时各车轮和轮胎的滚动半径和旋转特性,以确定是否一个或多个轮胎明显充气不足,而非直接测量各轮胎的压力. 系统监测到异常时指示灯将点亮,且仪表上出现信息. 必须校准 ...

  8. KubeOperator界面,集群详情中的存储,存储提供商

    点击"添加",假设选择的类型是rook-ceph,表示的是在这个k8s集群里创建rook-ceph集群,而不是显示已经存在的集群 意味着可以使用这种办法在k8s集群里创建rook- ...

  9. 使用docker方式安装wordpress

    mkdir -p /home/my_wordpress cd my_wordpress/ vim docker-compose.yml version: '3.3' services: db: ima ...

  10. 关于MongoDB副本集和分片集群有关用户和权限的说明分析

    1.MongoDB副本集 可以先创建超管用户,然后再关闭服务,创建密钥文件,修改配置文件,启动服务,使用超管用户登录验证,然后创建普通用户 2.MongoDB分片集群 先关闭服务,创建密钥文件,修改配 ...