【centOS】搭建公司内网git环境-GitLab 社区版(GitLab CE)

1. 安装必要的依赖

以 CentOS 7 系统为例,安装必要的依赖包:

sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix
sudo systemctl start postfix
sudo systemctl enable postfix

2. 添加 GitLab 仓库

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

3. 安装 GitLab

sudo EXTERNAL_URL="http://192.168.153.139" yum install -y gitlab-ce

在这里插入图片描述

将 http://gitlab.example.com 替换为你实际的域名或 IP 地址。
在这里插入图片描述

4. 配置和启动 GitLab

sudo gitlab-ctl reconfigure

5. 访问 GitLab

在浏览器中输入你配置的 EXTERNAL_URL,首次访问时会要求你设置管理员密码。设置完成后,使用管理员账号登录即可开始创建项目和管理用户。

在这里插入图片描述

6. 常用命令

# 重启
sudo gitlab-ctl restart 
# 服务运行状态 查看
sudo gitlab-ctl status
# 配置文件路径
less /etc/gitlab/gitlab.rb
# 可以查看配置的地址信息
# 修改外部访问 URL:如果在安装时指定的 URL 有误或者后续需要更改,可以在 gitlab.rb 文件中找到 external_url 这一行,修改为正确的 URL

在这里插入图片描述

7. 防火墙配置

开放 GitLab 使用的端口(默认是 80 端口),允许外部访问:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
# 如果使用的是 HTTPS(端口 443),还需要开放 443 端口:
bash
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

8 .配置邮件服务器

如果需要使用自定义的邮件服务器来发送通知邮件,可以在文件中添加或修改以下配置:

plaintext
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@example.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'your_email@example.com'

将上述配置中的信息替换为你实际的邮件服务器信息。
也是修改 /etc/gitlab/gitlab.rb
在这里插入图片描述

9. 登录,修改root密码

在这里插入图片描述
密码要求,大小写,数字➕字母组成
user.password = ‘Dxw2355661^’
user.password_confirmation = ‘Dxw2355661^’
user.save

在这里插入图片描述
true就是成功了!
输入exit退出控制台

浏览器登陆,就会显示成功了!
Welcome to GitLab, Administrator!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/68156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

$route 和 $router 的区别是什么?

在 Vue Router 中,$route 和 $router 是两个不同的对象,它们各自承担着不同的角色。下面是它们的主要区别: 一、$route 定义$route 是当前路由的信息对象,包含了与当前路由相关的状态和参数。它是一个只读对象。 2. 主要属性 params:动态路由参数,例如 /user/:id 中的 …

node.js 08 express的使用和热重载nodemon的安装

一.express的安装和使用 安装 npm i express 使用 //引入express const express require(express)//启动服务器 const app express()//设置get请求地址,获取请求地址信息,和发送返回的数据 app.get(/bailan,(req, res) > {//req.query可以获取到客…

Python因为网络原因安装依赖库报错

现象 在终端运行以下指令 pip install pyautogui pillow keyboard 出现报错,终端信息如下: PS D:\code\Python> pip install pyautogui pillow keyboard Collecting pyautoguiUsing cached PyAutoGUI-0.9.54.tar.gz (61 kB)Installing build depe…

面试问题记录1

问题一:性能测试步骤 性能测试步骤主要包括以下几个阶段: ‌1. 需求分析阶段‌ 明确测试目标,了解性能测试需求,包括业务列表、性能指标、测试环境、数据量等详细需求‌12。熟悉项目相关的资源,如架构设计、软硬件环…

开源 GPU 集群管理器 GPUStack 轻松拉起deepseek各版本模型

GPUStack 是一个用于运行 AI 模型的开源 GPU 集群管理器。 项目地址:gpustack/gpustack: Manage GPU clusters for running AI modelshttps://github.com/gpustack/gpustackhttps://github.com/gpustack/gpustackhttps://github.com/gpustack/gpustackhttps://githu…

ESP32开发学习记录---》GPIO

she 2025年2月5日,新年后决定开始充电提升自己,故作此记,以前没有使用过IDF开发ESP32因此新年学习一下ESP32。 ESPIDF开发环境配置网上已经有很多的资料了,我就不再赘述,我这里只是对我的学习经历的一些记录。 首先学习一个…

3-kafka服务端之控制器

文章目录 概述控制器的选举与故障恢复控制器的选举故障恢复 优雅关闭分区leader的选举 概述 在Kafka集群中会有一个或多个broker,其中有一个broker会被选举为控制器(Kafka Controler),它负责管理整个集群中所有分区和副本的状态。…

物联网的三层架构:感知层、网络层与应用层

物联网(Internet of Things, IoT)作为现代科技的重要组成部分,正在深刻改变我们的生活和工作方式。它将物理世界与数字世界无缝连接,通过智能设备、传感器和网络技术,实现数据的采集、传输和应用。物联网的架构通常分为…

react的antd表单校验,禁止输入空格并触发校验提示

首先需要用到form组件&#xff0c;在form.item内添加rules属性&#xff0c;写正则表达式 <Form.Itemlabel"员工姓名"name"name"rules{[{ required: true, message: 员工姓名 },{ pattern: /^(?!\s*$).$/, message: 不能全是空格 },]}> <Input p…

JavaScript addEventListener事件列表

addEventListener 方法用于向指定元素添加事件监听器&#xff0c;当该对象触发指定的事件时&#xff0c;指定的回调函数就会被执行。以下是一些常见的事件类型 鼠标事件 click: 当用户点击某个对象时触发。 dblclick: 当用户双击某个对象时触发。 contextmenu&#xff1a;当…

IDEA 中集成 Maven,配置环境、创建以及导入项目

目录 在 IntelliJ IDEA 中集成 Maven 并配置环境 1. 打开 IDEA 设置 2. 定位 Maven 配置选项 3. 配置 Maven 路径 4. 应用配置 创建 Maven 项目 1. 新建项目 2. 选择项目类型 3. 配置项目信息 4. 确认 Maven 设置 5. 完成项目创建 导入 Maven 项目 1. 打开导入窗口…

神经网络常见激活函数 1-sigmoid函数

sigmoid 1 函数求导 sigmoid函数 σ ( x ) 1 1 e ( − x ) \sigma(x) \frac{1}{1e^{(-x)}} σ(x)1e(−x)1​ sigmoid函数求导 d d x σ ( x ) d d x ( 1 1 e − x ) e − x ( 1 e − x ) 2 ( 1 e − x ) − 1 ( 1 e − x ) 2 1 1 e − x − 1 ( 1 e − x ) 2 …

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>黄金矿工

目录 决策树&#xff1a;代码设计代码&#xff1a; 决策树&#xff1a; 代码设计 代码&#xff1a; class Solution {boolean[][] vis;int ret,m,n;public int getMaximumGold(int[][] grid) {m grid.length;n grid[0].length;vis new boolean[m][n]; for(int i 0; i <…

rabbitMQ消息转换器

消息转换器 Spring的消息发送代码接收的消息体是一个Object&#xff1a; 而在数据传输时&#xff0c;它会把你发送的消息序列化为字节发送给MQ&#xff0c;接收消息的时候&#xff0c;还会把字节反序列化为Java对象。 只不过&#xff0c;默认情况下Spring采用的序列化方式是J…

Java 如何覆盖第三方 jar 包中的类

目录 一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理 背景&#xff1a; 在我们日常的开发中&#xff0c;经常需要使用第三方的 jar 包&#xff0c;有时候我们会发现第三方的 jar 包中的某一个类有问题&#xff0c;或者我们需要定制化修改其中的逻辑&#xff0c…

CS 与 BS 架构的差异

在数字化的今天&#xff0c;选择软件架构模式对系统的性能、维护、安全和成本都有很大影响。BS架构和CS架构是最常见的两种模式&#xff0c;了解它们的区别和特点对开发人员和企业决策者都很重要。 CS架构最早出现&#xff0c;当时用户直接从主机获取数据。随着客户端和服务端…

HTML之table表格学习

HTML table使用 thead、tbody、tfoot均可省略&#xff1b; 浏览器解析的时候会自动套上tbody tr 行 td 列 th 标题列属性 colspan 列占用数 rowspan 行占用数 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8">…

常用抓包工具tcpdump、Fiddler、Charles、Wireshark 和 Sniffmaster 下载地址

抓包大师官网下载地址 Sniff Master Download - Free TCP and HTTPS Proxy Sniffing Tool, Supports IOS Sniffing Fiddler classic官网下载地址 Download Fiddler Web Debugging Tool for Free by Telerik Fiddler Everywhere官网下载地址 The Ultimate Web Debugging Tool …

【PostgreSQL内核学习 —— (WindowAgg(二))】

WindowAgg WindowAggState 结构体窗口聚合行为ExecInitWindowAgg 函数ExecWindowAgg 函数代码逻辑解释&#xff1a;计算窗口偏移量代码逻辑详细解释&#xff1a; 代码逻辑解释&#xff1a;窗口聚合分区初始化与行推进逻辑代码逻辑详细解释&#xff1a; 代码逻辑解释&#xff1a…

区块链项目孵化与包装设计:从概念到市场的全流程指南

区块链技术的快速发展催生了大量创新项目&#xff0c;但如何将一个区块链项目从概念孵化成市场认可的产品&#xff0c;是许多团队面临的挑战。本文将从孵化策略、包装设计和市场落地三个维度&#xff0c;为你解析区块链项目成功的关键步骤。 一、区块链项目孵化的核心要素 明确…