CentOS7.x 搭建 GitLab 教程
今天闲来无事,想起之前买了一个阿里云 ECS,一直闲置着没用,一时兴起就想搭个自己的 GitLab 玩玩,GitLab 官网也提供了安装教程,很简单,照着步骤一步步基本没什么问题,可能安装的过程中有一些坑需要自己去解决。
1.安装 GitLab
打开 GitLab 官网 https://www.gitlab.com.cn/installation/#centos-7
根据自己的系统选择,我们选择 CentOS7
首先,安装并配置必要的依赖关系,确保打开防火墙的 SSH 和 HTTP 的访问,如果没有,需要您输入下面命令打开
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
接下来安装 Postfix 发送邮件通知服务,或者如果您想使用其他方式(SMTP)来发送电子邮件,请跳过此步骤,并在安装了 GitLab 之后配置一个外部SMTP服务器。
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 包,将 “http://gitlab.example.com” 更改为您想要访问 GitLab 的URL,安装将自动配置并在使用该 URL 来访问 GitLab,HTTPS 需要安装完成后来配置。
温馨提示:此处如果设置为域名访问,如果域名没有备案就会出现无法访问,如果不想备案网站域名,那么此处直接配置为服务器的公网 IP 即可。
因为我配置的是域名,因为我的域名没有备案,所以我访问的时候提示我备案域名,如下图:
配置完成后就开始下载并安装,过程大概会持续一个小时左右,视服务器具体带宽而定。
如果 GitLab 已经安装完成,并且你已经配置了域名想要修改配置变成 ip,按如下步骤执行命令:
vim /etc/gitlab/gitlab.rb
找到 external_url 设置为你的 IP + 端口即可,注意这里设置的端口不能被占用,默认是 8080 端口,如果 8080 已经使用,请自定义其它端口,并在防火墙设置开放相对应的端口。
然后重置并启动 GitLab 执行:
gitlab-ctl reconfigure
gitlab-ctl restart
然后执行:
gitlab-ctl status
查看 GitLab 运行状态是否正常
访问 GitLab 页面:
输入你配置的ip或者域名来访问 GitLab,如果没有什么异常,会出现如下页面
第一次访问会提示修改密码,你需要按提示修改即可,默认账户名是 root
至此,GitLab 的安装就算完啦。
2.配置 postfix 邮件服务
发邮件系统我们用 Postfix,SMTP 系统默认是开启的,我们先设置关闭 SMTP,开启 Postfix
关闭 SMTP:
vim /etc/gitlab/gitlab.rb
找到 #gitlab_rails['smtp_enable'] = true
改为 gitlab_rails['smtp_enable'] = false
修改后执行
gitlab-ctl reconfigure
另一种是关闭 Postfix,设置开启 SMTP,相关教程请参考官网
https://doc.gitlab.cc/omnibus/settings/smtp.html
此处以配置 163 邮箱为例:
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.163.com”
gitlab_rails[‘smtp_port’] = 25
gitlab_rails[‘smtp_user_name’] = “xxx@163.com”
gitlab_rails[‘smtp_password’] = “xxx”
gitlab_rails[‘smtp_domain’] = “163.com”
gitlab_rails[‘smtp_authentication’] = :login
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘gitlab_email_from’] = “xxx@163.com”
user[“git_user_email”] = “xxx@163.com”
登录到 GitLab 并添加一个 GitLab 账户,并添加设置用户的邮箱地址,测试是否可以收到邮件通知,如果创建完成,设置的邮箱收到邮件说明邮件服务没有问题,注意如果没有收到邮件,有时候邮箱会拦截邮件,你在垃圾邮件中看看是否邮件被拦截,如果被拦截,你可以将此邮件添加到白名单中。
3.其他异常情况处理
另外,如果 访问 GitLab 时的速度非常慢,或者报 502 错误,如下图
可能是你的服务器配置太低,GitLab 官方建议装 GitLab 的服务器的配置最低要求为:CPU 2核心 + 4GB可用内存(RAM + Swap)。 如果服务器配置过低,可能导致您访问 GitLab的速度过慢,甚至会出现无响应等状况。
提示 FirewallD is not running 说明防火墙未开启,
执行 systemctl status firewalld
如果出现 Active: inactive (dead) 表示防火墙未开启。
开启防火墙 systemctl start firewalld
再次查看防火墙状态,如果出现 Active: active (running) 表示防火墙开启成功。
欢迎关注我的微信公众号:
CentOS7.x 搭建 GitLab 教程的更多相关文章
- git操作:在CentOS7上面搭建GitLab服务器
在这篇文章中将要讲解如何在CentOS7上面搭建本地的GitLab服务器. 一.安装并配置必要的依赖关系 首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).w ...
- centos7 中搭建gitlab
1.在virtual box中新建一个虚拟机 2.gitlab ce(community版本)地址:https://about.gitlab.com/installation/#centos-7?ve ...
- CentOS7.4搭建GitLab
1.查看服务器环境 uname -a 2.下载安装包 [1]找到相应的最新版本的下载路径 网址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/e ...
- 在CentOS7上面搭建GitLab服务器
首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).wegt,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装SSH协议 安装命令:sud ...
- centOS7.2下 搭建gitlab使用git为团队管理代码
最近更换了阿里云服务器 使用centOS7.2,目前配置1核2G,搭建gitlab有点吃力,另外如果1核1g就不要搭建了,推荐配置是2核4G以上 下面来简单记录整个搭建过程 注意: 本次实验OS为c ...
- Linux系统搭建GitLab---阿里云Centos7搭建Gitlab踩坑
一.简介 GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装. 它拥有与GitHub类似的功能,能 ...
- CentOS7 搭建gitlab服务器
本文介绍如何在CentOS7.2上搭建Gitlab服务器,并简单介绍如何使用. Preface 使用的是CentOS7.2的操作系统,安装当前最新版Gitlab服务器,下载地址:清华大学开源软件镜像站 ...
- centos7搭建gitlab仓库
在有一些企业里会搭建属于自己的代码仓库,只能内网访问,所以说今天在centos7中搭建了一个gitlab仓库,大家也可以搭建一个玩一玩.呵呵 1.首先安装依赖软件包和开启ssh服务: sudo yum ...
- 虚拟机CentOS7安装docker并搭建Gitlab私服
一.下载安装虚拟机和CentOS7系统 这些流程比较简单不会有什么坑,这里不再阐述 二.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验 ...
随机推荐
- Java第五次作业--面向对象高级特性(抽象类与接口)
Java第五次作业--面向对象高级特性(抽象类与接口) (一)学习总结 1.在上周完成的思维导图基础上,补充本周的学习内容,对Java面向对象编程的知识点做一个全面的总结. 2.汽车租赁公司,出租汽车 ...
- Centos7:yum安装MySQL5.7后如何设置root密码
Centos下安装软件的方式很简单,只需要通过yum install xxx命令即可.第一步当然检查是否有mysql的yum源,命令:yum list|grep mysql-community[主要还 ...
- asp.net core系列 68 Filter管道过滤器
一.概述 本篇详细了解一下asp.net core filters,filter叫"筛选器"也叫"过滤器",是请求处理管道中的特定阶段之前或之后运行代码.fil ...
- 提升布局性能____Making ListView Scrolling Smooth
listview是一个比较重要的UI组件,一切影响UI的操作,比如适配器从磁盘.网络或者数据库中加载数据的操作,最好都放在子线程中完成.子线程可以使用thread,不过那样比较老土,官方推荐使用Asy ...
- 一文带你了解git
git简介 什么是git? git是当今世界上最先进的分布式的版本控制系统. 版本控制系统分集中式的和分布式的,集中式的主要代表有CVS.SVN,而Git是分布式版本控制系统的佼佼者. 那什么是集中式 ...
- linux作业控制和文件系统
一.作业控制 [root@tianyun ~]# sleep 2000运行一个程序,当前终端无法输入. 1 直接运行后台程序.暂停一个前台程序.[root@tianyun ~]# sleep 300 ...
- random,time,sys,os
import random print(random.random()) #(0,1)大于0且小于1之间的小数 print(random.randint(1,3)) #大于等于1且小于等于3之间的整数 ...
- luogu题解 P5020 【货币系统 】
思路 判断钱数是否可以转化为其他钱数的和 与楼下不同,我没有用sort.而是用了一个数组来特判. 思路其实只是简单dp. 详见代码. #include<cstdio> using name ...
- <<Modern CMake>> 翻译 1. CMake 介绍
<<Modern CMake>> 翻译 1. CMake 介绍 人们喜欢讨厌构建系统. 仅仅观看 CppCon17 上的演讲,就可以看到开发人员因为构建系统而闹笑话的例子. 这 ...
- js里的Document对象介绍
activeElement 返回代表文档中dangqianhuodejiaodianyuansudeduixaing body 返回代表文档中body元素 ...