热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7.6安装Gitlab教程及注意事项

本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。

本文参考Linux(Centos7.6)下安装Gitlab详细教程


作者以 CentOS7.6 虚拟机为例子进行搭建GitLab;
如果使用阿里云服务器的情况下,是不需要配置防火墙的,需要进入阿里云服务器的控制台,找到安全组配置,将对应的端口号进行开放或关闭即可



1、查看Linux系统版本确认gitlab需要使用的安装包类型

使用命令:cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
本系统是CentOS 7,对应官方教程地址:https://about.gitlab.com/install/#centos-7We strongly recommend downloading the Omnibus package installation since it is quicker to install, easier to upgrade, and it contains features to enhance reliability not found in other methods.
We also strongly recommend at least 4GB of free RAM to run GitLab.

在这里插入图片描述


2、安装 curl,policycoreutils-python,openssh-server服务

使用命令:

yum install -y curl policycoreutils-python openssh-server

出现以下界面,说明成功
在这里插入图片描述


3、将SSH服务设置成开机自启动

systemctl enable sshd

4、启动SSH服务

systemctl start sshd

5、开启防火墙 - 阿里云不需要,去控制台

systemctl start firewalld或者service firewalld start

6、添加http服务到firewalld

允许http服务通过, pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效

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

7、重启防火墙

(sudo) systemctl reload firewalld

8、接下来,安装Postfix以发送通知邮件,并将postfix服务设置成开机自启动

Linux centos 查看postfix已经安装 rpm -qa |grep postfix,如果安装过,则无需安装。
安装postfix:
命令:sudo yum install postfix
设置postfix自启动
命令:sudo systemctl enable postfix

9、启动Postfix

命令:sudo systemctl start postfix

可能会启动失败:Job for postfix.service failed because the control process exited with error code. See “systemctl status postfix.service” and “journalctl -xe” for details.
这是因为防火墙或者配置文件导致,无法启动的邮件服务,首先关闭防火墙,修改配置文件vim /etc/postfix/main.cf
inet_interfaces = localhost注释掉,把inet_interfaces = all的注释打开,然后就可以启动了。


可以通过命令:systemctl status postfix查看是否启动成功,下图所示标识启动成功
在这里插入图片描述


10、下载镜像

官网链接:https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/7/gitlab-ee-12.5.4-ee.0.el7.x86_64.rpm
使用命令下载镜像:

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

出现下图所示,标识reposity镜像下载成功:
在这里插入图片描述

安装镜像:

sudo yum install -y gitlab-ee-12.5.4-ee.0.el7.x86_64

出现下图所示,标识安装成功
在这里插入图片描述


11、修改gitlab配置文件指定服务器ip和自定义端口

vim /etc/gitlab/gitlab.rb

使extenal_url指向自己的ip:extenal_url=”http://ip:8888”


12、刷新配置GitLab

gitlab-ctl reconfigure

这个过程有点慢


13、重置并启动GitLab

命令:

gitlab-ctl start

启动成功如下图所示:
在这里插入图片描述


14、Gitlab常用命令:

sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;

15、关于gitlab-ee和gitlab-ce


二者是基于同样的核心代码进行开发,只是gitlab-ee功能更强大,但需要付费使用,有30天试用期。但试用期过后如果不付费,它就跟gitlab-ce功能是完全一样的,只是需要付费的功能无法再继续使用而已,所以这两个版本可以随意选择安装,但如果将来有付费的打算,直接安装gitlab-ee版本是个有远见的选择。当然,即使不付费,gitlab-ee使用上和gitlab-ce没有任何区别,所以接下来的操作我们就以安装gitlab-ee为例进行。
如果安装gitlab-ce目前不需要使用国内镜像,如果是安装gitlab-ee就需要用到国内镜像



16、修改gitlab_gitlab-ee.repo文件

把repo_gpgcheck属性为0,以及baseurl属性为清华大学的开源镜像站地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7
在这里插入图片描述
修改完成后再刷新yum源:

yum clean all
yum yum makecache

注意事项以及该文件关键 键的介绍:


  1. gitlab_gitlab-ee和gitlab_gitlab-ee-source对应的地址都要换
  2. name是仓库的名字
  3. baseurl字段是仓库的url,也就是仓库具体的访问路径,就是通过这个选项告知yum,仓库在哪。这里可以指明多个url,如果写了多个url,yum将遵循failovermethod字段进行使用
  4. enabled字段指明了该url是否启用,0为不启用,默认为1
  5. gpgcheck字段指明了是否检查rpm包的签名信息、完整性信息,0为不启用,1为启用 (注意:如果启用这个字段,也就是为1时,如果没有gpgkey时,检查很可能无法通过。我们可以在命令行中使用–
    nogpgcheck选项禁止检查gpg)
  6. repo_gpgcheck指明了是否检查元数据信息文件的签名信息与完整性,0为不启用,1为启用
  7. gpgkey=url指明了密钥文件的url路径,有了这个密钥才能检查各种完整信息。
  8. 由于gpgkey对应的地址需要FQ所以gpgcheck也需要设置为0,如果你服务器不需要FQ可以不用使用默认值1。
  9. https://mirrors.tuna.tsinghua.edu.cn是国内清华大学开源镜像站,避免yum install可能会因为网络原因导致失败。


17、安装过程可能出现问题和修复方法:


问题1:1502 Whoops, GitLab is taking too much time to respond


解决方案:
修改默认端口:需要放开/etc/gitlab/gitlab.rb文件里面nginx[‘listen_port’]和unicorn[‘port’]注释并设置端口,两个端口不能相同.具体原因笔者暂时也搞不懂,没用过nginx。

nginx['listen_port'] = 1001
unicorn['port'] = 1002
可能是端口占用问题,unicorn

刷新gitlab配置和启动

gitlab-ctl reconfigure
gitlab-ctl restart

问题2:出现ruby_block[supervise_redis_sleep] action run停留很久


在卸载gitlab然后再次安装执行 gitlab-ctlreconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!

解决方案:
1、按住CTRL+C强制结束;
2、运行:sudo systemctl restart gitlab-runsvdir;
3、再次执行:sudo gitlab-ctl reconfigure

18、修改gitlab的配置文件:/etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.qq.com"gitlab_rails['smtp_port'] = 465gitlab_rails['smtp_user_name'] = "******@qq.com"gitlab_rails['smtp_password'] = "授权码"gitlab_rails['smtp_domain'] = "smtp.qq.com"gitlab_rails['smtp_authentication'] = "login"gitlab_rails['smtp_enable_starttls_auto'] = truegitlab_rails['smtp_tls'] = truegitlab_rails['gitlab_email_from'] = '******@qq.com'重启生效:gitlab-ctl reconfigure执行 gitlab-rails console进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

19、进入Gitlab控制台

输入

gitlab-rails console production

进入gitlab控制台,只有进入到控制台之后,才可以输入gitlab的查询语句,才会被解析
查找用户信息:

user = User.where(id:1).first

重置密码:输入

user.password='密码'

密码位置填写您新的密码即可。然后再输入user.save!保存用户对象


20、Centos 7 下Gitlab 自启动设置

禁止 Gitlab 开机自启动:

systemctl disable gitlab-runsvdir.service

启用 Gitlab 开机自启动:

systemctl enable gitlab-runsvdir.service

配上搭建成功的图
在这里插入图片描述


推荐阅读
  • 如何在任意浏览器中轻松安装并使用VSCode——Codeserver简易指南
    code-server 是一款强大的工具,允许用户在任何服务器上部署 VSCode,并通过浏览器进行访问和使用。这一解决方案不仅简化了开发环境的搭建过程,还提供了高度灵活的工作方式。用户只需访问 GitHub 上的官方仓库(GitHub-coder/code-server),即可获取详细的安装和配置指南,快速启动并运行 code-server。无论是个人开发者还是团队协作,code-server 都能提供高效、便捷的代码编辑体验。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 如何安装和使用 WinSCP 与 PuTTY:连接 Linux 系统的专业工具指南
    本指南详细介绍了如何在Windows环境中安装和使用WinSCP与PuTTY,以实现与Linux系统的安全连接。WinSCP是一款开源的图形化SFTP客户端,支持SSH和SCP协议,主要用于在本地和远程计算机之间安全地传输文件。用户可以通过官方下载页面获取最新版本的WinSCP和PuTTY,按照简单的步骤完成安装,并利用这些工具进行高效的文件管理和远程操作。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文深入解析了 Kubernetes 控制平面(特别是 API 服务器)与集群节点之间的通信机制,并对其通信路径进行了详细分类。旨在帮助用户更好地理解和定制其安装配置,从而增强网络安全性,确保集群的稳定运行。 ... [详细]
  • 在 Ubuntu 22.04 LTS 系统中安装 HPLIP 的详细步骤与注意事项
    HPLIP 是 HP 官方提供的软件套件,旨在支持多种 HP 打印机型号,如 Deskjet、Officejet、Photosmart、PSC、Business Inkjet 和 LaserJet 等。本文详细介绍了在 Ubuntu 22.04 LTS 系统中安装 HPLIP 的步骤,并提供了重要的注意事项,确保用户能够顺利配置和使用 HP 打印设备。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
author-avatar
石隆雅雯79
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有