原文 https://blog.csdn.net/zhaoyanjun6/article/details/79144175

非Unix操作系统(Windows)

GitLab是专为Unix操作系统开发的。 GitLab 不可 运行在Windows操作系统上,而且我们近期也没有考虑支持Windows。 你可以在Linux虚拟机上或者Docker上来安装GitLab。

硬件需求

安装使用 GitLab 需要至少 4GB 可用内存, 由于操作系统和其他正在运行的应用也会使用内存, 所以安装 GitLab 前一定要注意当前服务器至少有 4GB 的可用内存. 少于 4GB 内存会导致在reconfigure 的时候出现各种诡异的问题, 而且在使用过程中也经常会出现 500 错误.

具体细节要求,可以查看 Gitlab 中文文档

GitLab 安装

官方的安装教程:https://about.gitlab.com/installation/#centos-7

我开始学安装的时候,从网上找了很多教程,发现很多教程都是有问题的。有的教程是互相抄的,明明是错的,还复制粘贴,发现很多人写博客都不负责。我写博客就一个原则,写出的东西必须要自己验证过。

所以经验就是安装最好还是按照官方的教程来。

进入官方安装教程,我们发现 Gitlab 提供了很多不同的版本,如下

我的阿里云系统是 CentOS7 , 所以我直接选择 CentOS7 。然后下面就会出现安装的命令。

第一步

在系统防火墙中打开HTTP和SSH访问,依次运行下面的命令,命令如下所示:

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

注意在执行第四条命令的时候,如下所示:

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

可能会报说 FirewallD is not running , 如下所示:

这个错误的意思是防火墙服务没有运行,要解决这个问题也很简单,就是把防火墙服务运行起来,启动防火墙命令如下:

//运行防火墙服务
systemctl start firewalld.service

第二步

安装Postfix 邮件通知服务,其实这一步是可以省略的,在 Gitlab 安装完成后还可以配置。安装命令如下:

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

依次运行这些命令就可以了,没有坑。

第三步

安装 Gitlab 软件包,这个才是真正的主角。

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

这一步就是下载并安装 Gitlab 软件包,耐心等待就好。

第四步

配置 Gitlab 访问的域名,配置命令如下:

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

上面命令的 http://gitlab.example.com 需要换成自己域名,如果你的云服务器没有绑定域名,可以用 公网ip 代替,比如 http://47.94.230.26 , 这个 域名/ip 以后可以在浏览器中访问 Gitlab 服务。运行上面的命令就会下载并安装一些服务,耐心等待就好。

下载完成后会自动安装,直至安装完成。下载的时间取决你云服务器的宽带速度,我是 1 M 带宽,下载完花了 10 分钟 , 安装花了 5 分钟,耐心等待便是。安装完成后,会出现如下的日志信息。 

到这里就表示 GitLab 已经安装完成了。http://47.94.230.26 这个域名/ip 可以使用了, gitlab 的版本号是:gitlab-ee , 10.4.0 版本。

第五步

下面我们在浏览器中访问 http://47.94.230.26 , 就会看到入戏的画面。

需要设置初始密码,这里我们就用 zhaoyanjun 做密码, 连续输入两遍,然后点击下面的按钮。密码设置完成后,就会跳转到登录界面, 登录用户名默认是 root , 密码就是刚才设置的 zhaoyanjun 。 

登录完成后,就可以看到如下的界面。

至此,Gitlab 已经安装完成了。

修改 ip

gitlab 本身采用 80 端口,如安装前服务器有占用 80,安装完访问会报错。需更改gitlab 的默认端口,比如我们将 Gitlab 的默认端口改为 8082 。

第一步

打开阿里云服务器防火墙的 8082 端口

//打开防火墙服务
systemctl start firewalld //开启防火墙 8082 端口
firewall-cmd --zone=public --add-port=8082/tcp --permanent //重启防火墙服务,让配置生效
systemctl restart firewalld

第二步

修改 Gitlab 默认端口配置 
打开 /etc/gitlab/gitlab.rb 文件,找到 external_url 字段,如下图所示: 
 
把 http://47.94.230.26 改为 http://47.94.230.26:8082 

然后执行 gitlab-ctl reconfigure 让配置立即生效。 
在浏览器中访问 http://47.94.230.26:8082 , 就可以看到 Gitlab 的页面了。

其他命令

//启动
sudo gitlab-ctl star //停止
sudo gitlab-ctl stop //重启
sudo gitlab-ctl restart //使更改配置生效
sudo gitlab-ctl reconfigure

个人微信号:zhaoyanjun125 , 欢迎关注

转 CentOS 初体验十四:阿里云安装Gitlab的更多相关文章

  1. CentOS 初体验十四:阿里云安装Gitlab

    网址:https://about.gitlab.com/install/#centos-7 https://blog.csdn.net/zhaoyanjun6/article/details/7914 ...

  2. 阿里云安装Nginx+vue项目部署

    阿里云安装Nginx+vue项目部署 nginx安装包下载 http://nginx.org/en/download.html nginx安装 首先先安装PCRE pcre-devel 和Zlib,因 ...

  3. 阿里云安装mysql后查看不到初始密码的解决办法

    在阿里云安装mysql后用grep 'A temporary password' /var/log/mysqld.log命令查看MySQL初始密码,毛线都没有看到,然后直接到/var/log/mysq ...

  4. [Linux]阿里云免费试用体验(在阿里云的ubuntu上部署个人服务)

    作为一个IT界的人,一般都希望有一个独立的博客,或者一部独立的机器.所以我一直在找机会,拥有一台自己可以独立控制的机器,自己想干嘛干嘛.当然这在虚拟机或者自己的PC上面也可以实现,但是这跟一台一直开着 ...

  5. CentOS配置本地yum源/阿里云yum源/163yuan源,并配置yum源的优先级

    一.用Centos镜像搭建本地yum源 由于安装centos后的默认yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的yum源替换成aliyun的yum源或者 ...

  6. CentOS修改yum源为阿里云

    yum的工具,自动去下载某个yum仓库的 rpm软件包,并且自动搜索软件下载软件依赖,如同pip3,npm等包管理工具 yum载linux中的 yum仓库是 /etc/yum.repos.d 并且在这 ...

  7. centos配置ADSL拨号 配置阿里云的yum源

    如果系统yum源有问题可以更改yum源配置阿里云的yum源1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo(没有 wget命令可 ...

  8. centos(Linux)系统阿里云ECS搭建 jdk,tomcat和MySQL环境,并部署web程序

    之前我对这个东西一无所知,攻击力为0,谢谢各个论坛上面的兄弟们的帮助. 过程: 首先ssh远程登陆: ssh root@你的公网ip ,输入密码 1,jdk我用的版本是jdk-7u80-linux-x ...

  9. CentOS mysql硬盘满了挂载阿里云硬盘

    前提,昨天晚上导入数据库到本地时候发现硬盘满了,出了,好多错,这边在目录下新建了一个/mysql这样的数据库目录,再将/etc/my.cnf 下的datadir 指向到/mysql下,就可以了 阿里云 ...

随机推荐

  1. 在asp.net core中使用NLog

    第一步:nuget  引入  NLog.Web.AspNetCore 4.5+ 第二步:放入nlog.config <?xml version="1.0" encoding= ...

  2. RedisHelper Redis帮助类

    using StackExchange.Redis; using System; using System.Collections.Generic; using System.IO; using Sy ...

  3. servlet的session的生命周期

    谈到javaweb首先想到的就是servlet,说道servlet就会想到servlet的生命周期 说道servlet的生命周期 就绕不过servlet的三个方法init service destro ...

  4. java算法 -- 基数排序

    基数排序(英语:Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较.由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排 ...

  5. Java面试底层原理

    面试发现经常有些重复的面试问题,自己也应该学会记录下来,最好自己能做成笔记,在下一次面的时候说得有条不紊,深入具体,面试官想必也很开心.以下是我个人总结,请参考: HashSet底层原理:(问了大几率 ...

  6. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器同步输出http-flv协议流是怎么实现的?

    http-flv是什么 http-flv是以http为传输协议,flv媒体格式为内容的方式实时下载flv音视频帧.为什么选择flv格式而非mp4?原因是mp4必须要有moov box或者moof bo ...

  7. oracle 添加字段

    alter table 表名 add 新增字段名(类型+长度); #添加字段 alter table asset_orders add remark varchar2(255); #查看 descri ...

  8. 密钥密码体系CA,CSC,CV

    密钥密码体系CA,CD,CSC,CV 片内操作系统 (cos) 密码学(Cryptography) 非接触式智能卡Contactless Smart Card, CSC 密钥名词 名词 英文说明 中文 ...

  9. C#中标准的IDispose模式

    C#实现IDispose接口   .net的GC机制有两个问题:首先GC并不能释放所有资源,它更不能释放非托管资源.其次,GC也不是实时的,所有GC存在不确定性.为了解决这个问题donet提供了析构函 ...

  10. maven设置阿里云仓库

    到maven安装目录的conf下setting.xml文件 找到mirrors标签中添加 <mirror> <id>nexus-aliyun</id> <mi ...