系统要求:CentOS 7.2 64 位操作系统

更新软件包

yum update -y

安装和启动 sshd

安装 sshd:

yum install -y curl policycoreutils-python openssh-server

启用并启动 sshd:

systemctl enable sshd
systemctl start sshd

配置防火墙

打开 /etc/sysctl.conf 文件,在文件最后添加新的一行并按 Ctrl + S 保存:

net.ipv4.ip_forward = 

启用并启动防火墙:

systemctl enable firewalld
systemctl start firewalld

放通 HTTP:

firewall-cmd --permanent --add-service=http

重启防火墙(在实际使用中,可以使用 systemctl status firewalld 命令查看防火墙的状态):

systemctl reload firewalld

安装 postfix

GitLab 需要使用 postfix 来发送邮件。当然,也可以使用 SMTP 服务器,具体步骤请参考 官方教程

安装:

yum install -y postfix

打开 /etc/postfix/main.cf 文件,在第 119 行附近找到 inet_protocols = all,将 all 改为 ipv4 并按 Ctrl + S 保存:

inet_protocols = ipv4

启用并启动 postfix:

systemctl enable postfix
systemctl start postfix

配置 swap 交换分区

由于 GitLab 较为消耗资源,我们需要先创建交换分区,以降低物理内存的压力。
在实际生产环境中,如果服务器配置够高,则不必配置交换分区。

新建 2 GB 大小的交换分区:

dd if=/dev/zero of=/root/swapfile bs=1M count=

格式化为交换分区文件并启用:

mkswap /root/swapfile
swapon /root/swapfile

添加自启用。打开 /etc/fstab 文件,在文件最后添加新的一行并按 Ctrl + S 保存:

/root/swapfile swap swap defaults  

安装 GitLab

将软件源修改为国内源

由于网络环境的原因,将 repo 源修改为[清华大学:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/]

在 /etc/yum.repos.d 目录下新建 gitlab-ce.repo 文件并保存。内容如下:

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=
enabled=

安装 GitLab

刚才修改过了 yum 源,因此先重新生成缓存:

yum makecache

安装 GitLab:

yum install -y gitlab-ce

初始化 GitLab

配置 GitLab 的域名(非必需)

打开 /etc/gitlab/gitlab.rb 文件,在第 13 行附近找到 external_url 'http://gitlab.example.com',将单引号中的内容改为自己的域名(带上协议头,末尾无斜杠),并按 Ctrl + S 保存。

例如:

external_url 'http://jikexianfeng.xyz'

初始化 GitLab

特别重要!

使用如下命令初始化 GitLab:

sudo gitlab-ctl reconfigure

GitLab 安装已完成

开始使用吧!

至此,我们已经成功地在 CentOS 7 上搭建了 GitLab。 现在可以在这里(http://jikexianfeng.xyz)访问 GitLab 了。

  • 在实际生产中,建议您使用 2 核 4 GB 或更高配置的 CVM。可以查看 GitLab 官方推荐的配置和可承载人数对应表。
  • 再次提醒您,定期执行 yum update -y 以保持各软件包的最新状态。

谢谢!

基于CentOS 7 搭建 GitLab的更多相关文章

  1. 基于 CentOS 7 搭建 GitLab

    ⒈更新软件包 yum update -y ⒉安装 ssh服务并启动 yum install -y curl policycoreutils-python openssh-server systemct ...

  2. CentOS 7 搭建 GitLab

    概述 GitLab 是我在日常工作中使用的代码仓库管理系统,它带有非常友好的 Web 界面,并且功能丰富.下面将介绍我在 CentOS 7 上搭建 GitLab 的步骤,以及遇到的一些问题. 关于不同 ...

  3. 基于 CentOS 8 搭建 openLDAP 服务器

    转载请注明原文地址:基于 CentOS 8 搭建 openLDAP 服务器 环境 OS: CentOS 8.4.2105 PHP: 7.4.21 注意 CentOS 7 中可能默认提供了 openLD ...

  4. [转]Centos 7搭建Gitlab服务器超详细

    本文转自:https://blog.csdn.net/duyusean/article/details/80011540 可参考:https://about.gitlab.com/install/#c ...

  5. CentOS 下搭建Gitlab

    centos7安装部署gitlab服务器   我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreut ...

  6. Centos 7搭建Gitlab服务器超详细(转)

    一. 安装并配置必要的依赖关系 在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装s ...

  7. Centos 7搭建Gitlab服务器(一),搭配文章(二)一起使用,效果更好

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...

  8. Centos 7搭建Gitlab服务器超详细Centos 7搭建Gitlab服务器超详细(搭建成功)

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 注意:用户不 ...

  9. Centos 7搭建Gitlab服务器超详细

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...

随机推荐

  1. optional

    public class Test { public static void main(String[] args) { People people = new People(); Optional& ...

  2. Codeforces 744C Hongcow Buys a Deck of Cards 状压dp (看题解)

    Hongcow Buys a Deck of Cards 啊啊啊, 为什么我连这种垃圾dp都写不出来.. 不是应该10分钟就该秒掉的题吗.. 从dp想到暴力然后gg, 没有想到把省下的红色开成一维. ...

  3. BZOJ4990 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4990 题意概括 有上下两行长度为 n 的数字序列 A 和序列 B,都是 1 到 n 的排列,若 a ...

  4. 081 Region的预分区

    1.预分区的方式 共有四种方式 2.帮助信息 help 'create' 3.第一种方式 4.在页面上查看效果(端口号:60010) 5.第二种方式 )创建文件,并在文件中书写分区的值 )创建表 6. ...

  5. 002.Docker安装部署

    一 docker安装-CentOS系统 1.1 docker自动安装脚本 root@docker:~# wget -qO- https://get.docker.com/ | sh 或—— root@ ...

  6. chrome浏览器调试工具你会使用吗?

    浏览器调试工具使用总结 一. console使用 console.table(),可以把对象输出成表格的形式,直观的观察数据. console.dir(),可以直观观察dom元素的对象形式 二. $的 ...

  7. 论maven release的必要性

    大多数java开发的小伙伴都用过maven来对包进行管理.在自己写项目的过程中,对自己的项目也会进行groupdId,artifactId,version的配置.下面我们来对着3个配置进行简单说明. ...

  8. C#:几种数据库的大数据批量插入(转)

    在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解 ...

  9. vue+webpack 遇到的问题总结

    1.错误1:TypeError:this.init is not a function 解决:安装相关的加载器,npm install vue-loader vue-html-loader vue-s ...

  10. u3d 楼梯,圆环,椭圆,直线运动。世界坐标。点击。U3d stair, ring, ellipse, linear motion.World coordinates.Click .

    u3d 楼梯,圆环,椭圆,直线运动.世界坐标.点击. U3d stair, ring, ellipse, linear motion.World coordinates.Click . 作者:韩梦飞沙 ...