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

CentOS7上安装与完全卸载GitLab的详细指南

本文详细介绍了如何在CentOS7及其衍生发行版(如RedHat,Oracle,ScientificLinux7)上安装和完全卸载GitLab。包括安装必要的依赖关系、配置防火墙、安装GitLab软件包以及常见问题的解决方法。

安装 GitLab

1. 安装并配置必要的依赖关系

在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上,以下命令还会在系统防火墙中打开 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

接下来,安装 Postfix 以发送通知邮件。如果您想使用其他解决方案发送电子邮件,请跳过此步骤并在安装 GitLab 后配置外部 SMTP 服务器。(如果不发送邮件,这一步可以跳过)

2. 添加 GitLab 软件包存储库并安装软件包

GitLab 提供两种版本:社区版(CE)和企业版(EE)。我们在这里安装社区版(CE),它是免费的。

首先,添加 GitLab 软件包存储库:

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

接下来,安装 GitLab 软件包。将 `http://gitlab.example.com` 更改为您的 GitLab 实例的 URL。安装将自动在该 URL 处配置并启动 GitLab。安装后,HTTPS 需要额外的配置。

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

3. 浏览到主机名并登录

首次访问时,您将被重定向到密码重置屏幕。提供初始管理员账户的密码,您将被重定向回登录屏幕。使用默认账户的用户名 `root` 登录。

4. 安装过程中问题处理

执行到 `sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce` 这个步骤时,可能会卡住。

解决方案:

  1. 等待一段时间(10分钟)。
  2. 按住 CTRL+C 强制结束。
  3. 运行:`sudo systemctl restart gitlab-runsvdir`。
  4. 再次执行:`sudo gitlab-ctl reconfigure`。

如果访问时报 502 错误

可能性之一是 unicorn 服务与 tomcat 端口冲突。可以通过配置 unicorn 使用不同的端口来解决。

vi /etc/gitlab/gitlab.rb
unicorn['port'] = 9090

然后重启配置并稍等一会儿,再次访问即可。

安装/启动 postfix 时报错

[root@~]# 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.

解决方法:修改 `/etc/postfix/main.cf` 的设置。

inet_protocols = ipv4
inet_interfaces = all

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  # 查看日志

完全卸载 GitLab

1. 停止 GitLab

sudo gitlab-ctl stop

2. 卸载 GitLab(注意区分 CE 和 EE 版本)

sudo rpm -e gitlab-ce

3. 查看 GitLab 进程

ps -ef | grep gitlab
kill -9 [进程ID]

4. 删除 GitLab 文件

find / -name *gitlab* | xargs rm -rf
find / -name gitlab | xargs rm -rf
rm -rf /root/gitlab*

通过以上步骤,您可以彻底卸载 GitLab。


推荐阅读
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍如何通过设置SSH密钥来获取连接GitHub远程仓库的权限,包括生成密钥、添加到GitHub账户以及验证连接等步骤。 ... [详细]
author-avatar
我是80初
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有