序言
各位好啊,我是会编程的蜗牛,作为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. Linux 禁止root远程登录解决办法

    linux中root用户是超级管理员,可以针对root用户暴力破解密码,这样很不安全,工作中我们一般禁止root用户直接远程登陆,开设一个或多个普通用户,只允许登陆普通用户,如果有需要用root用户, ...

  2. 【Manim CE】常用Mobject

    当前文档版本:v0.16.0.post0 VMobject 继承自Mobject V的意思是向量化的,vectorized mobject fill_color=None, fill_opacity= ...

  3. DIN 66025标准下G Code基础代码释义

    基础/前提 XYZ指示常规的三个轴号,PQUVW为可以增加的五个轴,ABC为可以增加的旋转轴 实例 G0 快速定位(点位运动) G1 直线运动(插补) G2 顺时针圆弧运动(插补) G3 逆时针圆弧运 ...

  4. hadoop 不在 sudoers 文件中,此事将被报告。

    问题来源: 使用sudo命令,让hadoop用户使用root身份执行命令时报错: [hadoop@mydocker ~]$ sudo date [sudo] password for hadoop: ...

  5. 引擎之旅 前传:C++代码规范

    自己以前写代码时,一个项目一个风格.单人开发的工作使得我并没有注意到代码规范性和可读性的问题.每当项目结束后,看到自己杂乱无章的代码,完全没有二次开发和重构的欲望. 写代码就应该像写诗一样优雅. by ...

  6. itoa与atoi函数

    // 自己参考并编写的itoa与atoi函数 // 支持10进制整形,支持16进制整形,支持负数 // 20220228,修复负数字符字符串会转换成正数的bug#include <stdio.h ...

  7. Bootstrap Blazor 开源UI库介绍-Table 虚拟滚动行

    今天我们来介绍一下 Bootstrap Blazor 中 Table 组件的虚拟滚动行,什么是虚拟滚动呢,我查到的解释是:只渲染可视区域的列表项,非可见区域的 完全不渲染,在滚动条滚动时动态更新列表项 ...

  8. [Python]-numpy模块-机器学习Python入门《Python机器学习手册》-01-向量、矩阵和数组

    <Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...

  9. 输入法词库解析(五)极点码表.mb

    详细代码:https://github.com/cxcn/dtool 前言 mb 是极点五笔的码表格式. 解析 偏移量 描述 0x00 版本信息 0x1B 码表介绍 0x11F 所用到的按键数 0x1 ...

  10. OKR之剑(理念篇)02—— OKR布道之旅

    作者:vivo互联网平台产品研发团队 1.我们是如何引入的 1.1.企业文化匹配 大概是在2013年底,一些创业者在硅谷深受OKR洗礼,并在自己的公司内小范围运用,以此OKR开始传入中国.而vivo初 ...