当前位置: 首页 > news >正文

Linux 安装 Git 服务器

一、安装 Git


1. 在 CentOS/RHEL 中使用以下命令:

sudo yum update -y   # 或者 `sudo dnf update -y` (在较新的系统中)
sudo yum install git -y

验证安装:git --version

2. 配置 Git 用户

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

3. 初始化裸仓库
同样在 /srv/git 目录下创建裸仓库:

sudo mkdir -p /srv/git
cd /srv/git
sudo git init --bare myproject.git
sudo chown -R <your-user>:<your-group> /srv/git/myproject.git

4. 配置 SSH 访问(同 Ubuntu 方法)


二、安装 GitLab

1. 安装必要依赖

在 CentOS 或 RHEL 上,运行以下命令:

sudo yum install -y curl policycoreutils openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd

2. 添加 GitLab 包并安装

运行以下脚本添加 GitLab 仓库并安装:

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

3. 配置 GitLab
安装后,使用以下命令完成初始化:

sudo gitlab-ctl reconfigure

默认的访问地址为 http://< your-server-ip >。


安装过程如遇到下列相关问题可以参考如下解决办法:

  1. 一直卡在这个界面,说明镜像源使用的国外 YUM 源或者网络访问比较慢。
[root@git home]# curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
Detected operating system as centos/7.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.repo?os=centos&dist=7&source=script

解决办法:设置国内镜像源,替换 GitLab 的 YUM 源,编辑 /etc/yum.repos.d/gitlab-ee.repo 文件,将所有 packages.gitlab.com 替换为以下镜像源之一:

• 清华大学镜像:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum

• 阿里云镜像:

https://mirrors.aliyun.com/gitlab-ce/yum

例如,修改后的内容:

[gitlab-ee]
name=gitlab-ee
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el$releasever
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/RPM-GPG-KEY-gitlab

清理缓存并安装

sudo yum clean all
sudo yum makecache
sudo yum install gitlab-ee -y

GitLab 的默认端口通常如下:

1.	HTTP 端口:80
2.	HTTPS 端口:443(如果启用了 HTTPS)
3.	SSH 端口(用于 Git 操作):22

通过 http://ipdi地址:端口/ 访问 GitLab 时提示登录页面,这说明 GitLab 已成功运行。在首次安装 GitLab 时,会提示你设置管理员账号和密码。如果你未设置过,默认的管理员账号和初始密码可以参考以下方法:

三、登录Gitlab可视化界面

1. 默认管理员账号

root

2. 查找初始密码

GitLab 在首次启动时,会随机生成一个管理员密码并存储在 /etc/gitlab/initial_root_password 文件中。通过以下命令查看:

sudo cat /etc/gitlab/initial_root_password

你将看到类似以下内容:

# WARNING: This value is valid only in the first 24 hours after installation!
Password: 3uqmJr4!hIhRVShMR***

注意:
• 如果你已经更改过密码,但忘记了,可以参考以下步骤进行重置。
• 该密码通常在首次启动后24小时有效,超过时间需要手动重置。

3. 重置管理员密码

如果你忘记了管理员密码,按照以下步骤重置:

步骤 1:进入 GitLab Rails 控制台,运行以下命令启动 GitLab Rails 控制台:

sudo gitlab-rails console

步骤 2:重置密码,在 Rails 控制台中输入以下命令:

user = User.find_by(username: "root")
user.password = "new_password"
user.password_confirmation = "new_password"
user.save!

将 “new_password” 替换为你希望设置的新密码。

步骤 3:退出控制台,输入 exit 退出控制台。

4. 登录验证

使用以下信息登录 GitLab:
• 用户名:root
• 密码:查找到的初始密码或重置后的新密码。

相关文章:

Linux 安装 Git 服务器

一、安装 Git 1. 在 CentOS/RHEL 中使用以下命令&#xff1a; sudo yum update -y # 或者 sudo dnf update -y (在较新的系统中) sudo yum install git -y验证安装&#xff1a;git --version 2. 配置 Git 用户 git config --global user.name "Your Name" git co…...

总结:Yarn资源管理

一、介绍 本文梳理下Yarn的资源分配计算逻辑。 二、配置 - 资源限制 1、配置NodeManager可分配的资源池的总量 <property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value> </property> 作用对象:节点管理器(No…...

Python学习34天

import random class Game: peo0 rob0 # # def __init__(self,peo,rob): # self.peopeo # self.robrob def Play(self): """ 石头剪刀布游戏&#xff0c;0代表石头&#xff0c;1代见到&#xff0c;2代表石头 …...

深入浅出 WebSocket:构建实时数据大屏的高级实践

简介 请参考下方&#xff0c;学习入门操作 基于 Flask 和 Socket.IO 的 WebSocket 实时数据更新实现 在当今数字化时代&#xff0c;实时性是衡量互联网应用的重要指标之一。无论是股票交易、在线游戏&#xff0c;还是实时监控大屏&#xff0c;WebSocket 已成为实现高效、双向…...

三开关VUE组件

一、使用效果 <template><QqThreeSwitch v-model"value" /><!-- <SqThreeSwitch v-model"value" :options"[test1, test2, test3]"><template #left-action><div style"display: flex"><IconMoon…...

SpringCloud+SpringCloudAlibaba学习笔记

SpringCloud 服务注册中心 eureka ap 高可用 分布式容错 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency><groupId…...

牛客小白月赛105(A~E)

文章目录 A lz的吃饭问题思路code B lz的数字问题思路code C lz的蛋挞问题思路code D lz的染色问题思路code E lz的括号问题思路code 总结 牛客小白月赛105 A lz的吃饭问题 思路 签到题&#xff0c;比较大小即可 code void solve(){int a,b,c,d;cin >> a >> b…...

OSPF协议整理

OSPF&#xff08;Open Shortest Path First&#xff09;即开放式最短路径优先协议&#xff0c;是一种广泛应用于大型网络中的链路状态路由协议。 OSPF 的基本概念 OSPF 是基于链路状态算法的内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于在一个自治系统&#xff…...

Java中的多线程

文章目录 Java中的多线程一、引言二、多线程的创建和启动1、继承Thread类2、实现Runnable接口 三、线程的常用方法1、currentThread()和getName()2、sleep()和yield()3、join() 四、线程优先级五、使用示例六、总结 Java中的多线程 一、引言 在Java中&#xff0c;多线程编程是…...

什么是聚簇索引、非聚簇索引、回表查询

其实聚集索引也叫聚簇索引&#xff0c;二级索引也叫非聚簇索引&#xff0c;大家不要认为这是不同的两个知识点。 定义 先看一下数据库的索引介绍。 聚簇索引 1. 如果存在主键&#xff08;一般都存在&#xff09;&#xff0c;主键索引就是聚簇索引。 2. 如果不存在&#xff0c;…...

探索 Spring 框架核心组件:构建强大 Java 应用的基石

Spring框架作为Java企业级开发的首选框架之一&#xff0c;其强大的功能和灵活的架构深受开发者喜爱。Spring框架的核心组件共同构建了一个高效、可扩展的应用程序开发平台。本文将深入探讨Spring框架的核心组件&#xff0c;揭示它们如何在Spring框架中发挥关键作用。 一、Bean…...

Android 13 Aosp 默认允许应用动态权限

图库 frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java 修改 public void grantDefaultPermissions(int userId) {DelayingPackageManagerCache pm new DelayingPackageManagerCache();grantPermissionsToSysCompon…...

【C++知识总结1】c++第一篇,简单了解一下命名空间是什么

一、C的由来 C语言是一种结构化和模块化的编程语言&#xff0c;它对于处理较小规模的程序非常适用。然而&#xff0c;当面临需要高度抽象和建模的复杂问题&#xff0c;以及规模较大的程序时&#xff0c;C语言就显得不那么合适了。为了应对这种挑战&#xff0c;并在解决软件危机…...

从0开始深度学习(32)——循环神经网络的从零开始实现

本章将从零开始&#xff0c;基于循环神经网络实现字符级语言模型&#xff08;不是单词级&#xff09; 首先我们把从0开始深度学习&#xff08;30&#xff09;——语言模型和数据集中的load_corpus_time_machine()函数进行引用&#xff0c;用于导入数据&#xff1a; train_iter…...

GitLab使用操作v1.0

1.前置条件 Gitlab 项目地址&#xff1a;http://******/req Gitlab账户信息&#xff1a;例如 001/******自己的分支名称&#xff1a;例如 001-master&#xff08;注&#xff1a;master只有项目创建者有权限更新&#xff0c;我们只能更新自己分支&#xff0c;然后创建合并请求&…...

cuda conda yolov11 环境搭建

优雅的 yolo v11 标注工具 AutoLabel Conda环境直接识别训练 nvidia-smi 检查CUDA版本 下载nvidia cudnn对应的版本 将cuDNN压缩包内对应的文件复制到本地bin、include、lib的文件夹中 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6 miniConda快速开始-安装 执行…...

解决SpringBoot连接Websocket报:请求路径 404 No static resource websocket.

问题发现 最近在工作中用到了WebSocket进行前后端的消息通信&#xff0c;后端代码编写完后&#xff0c;测试一下是否连接成功&#xff0c;发现报No static resource websocket.&#xff0c;看这个错貌似将接口变成了静态资源来访问了&#xff0c;第一时间觉得是端点没有注册成…...

element-plus的组件数据配置化封装 - table

目录 一、封装的table、table-column组件以及相关ts类型的定义 1、ATable组件的封装 - index.ts 2、ATableColumn组件的封装 - ATableColumn.ts 3、ATable、ATableColumn类型 - interface.ts 二、ATable、ATableColumn组件的使用 三、相关属性、方法的使用以及相关说明 1. C…...

【二维动态规划:交错字符串】

介绍 编程语言&#xff1a;Java 本篇介绍一道比较经典的二维动态规划题。 交错字符串 主要说明几点&#xff1a; 为什么双指针解不了&#xff1f;为什么是二维动态规划&#xff1f;根据题意分析处转移方程。严格位置依赖和空间压缩优化。 题目介绍 题意有点抽象&#xff0c…...

goframe开发一个企业网站 MongoDB 完整工具包18

1. MongoDB 工具包完整实现 (mongodb.go) package mongodbimport ("context""fmt""time""github.com/gogf/gf/v2/frame/g""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options" )va…...

ThinkPad装Win10企业版后,手把手教你用PowerShell搞定Lenovo Vantage(附依赖包下载)

ThinkPad安装Win10企业版后手动部署Lenovo Vantage的完整指南 当你在ThinkPad上安装了纯净的Windows 10企业版系统后&#xff0c;可能会发现无法通过常规方式安装Lenovo Vantage这款官方管理工具。本文将详细介绍如何通过PowerShell命令手动安装Lenovo Vantage及其所有必需的依…...

Qwen3.5-4B-Claude-Opus实战案例:用推理链输出提升技术沟通准确性

Qwen3.5-4B-Claude-Opus实战案例&#xff1a;用推理链输出提升技术沟通准确性 1. 模型介绍与核心能力 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个基于Qwen3.5-4B的推理蒸馏模型&#xff0c;专门针对结构化分析、分步骤回答以及代码与逻辑类问题的处理能力进…...

深度解析DiffSinger:基于扩散模型的AI歌声合成技术革命

深度解析DiffSinger&#xff1a;基于扩散模型的AI歌声合成技术革命 【免费下载链接】DiffSinger 项目地址: https://gitcode.com/gh_mirrors/dif/DiffSinger 在当今AI音乐创作领域&#xff0c;DiffSinger歌声合成技术正引领着一场声音生成的技术革命。这个由OpenVPI维护…...

鸿蒙Next通讯录实战:用ArkUI 3.0手把手教你打造新建联系人页面(附完整代码)

鸿蒙Next通讯录实战&#xff1a;用ArkUI 3.0构建企业级新建联系人页面 在移动应用开发领域&#xff0c;通讯录功能一直是检验开发者UI构建和数据管理能力的经典场景。鸿蒙Next作为新一代分布式操作系统&#xff0c;其ArkUI 3.0框架为开发者提供了声明式UI编程范式&#xff0c;让…...

macOS高效录屏工具实战指南:从入门到专业的QuickRecorder应用技巧

macOS高效录屏工具实战指南&#xff1a;从入门到专业的QuickRecorder应用技巧 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com…...

Java 从入门到精通(八):抽象类和接口到底怎么选?看懂之后,面向对象才算真的入门

Java 从入门到精通&#xff08;八&#xff09;&#xff1a;抽象类和接口到底怎么选&#xff1f;看懂之后&#xff0c;面向对象才算真的入门 学到封装、继承、多态之后&#xff0c;很多人会有一种“好像差不多懂了”的感觉。 会定义类&#xff0c;会 new 对象&#xff0c;也知道…...

OpenClaw技能商店:基于nanobot开发并分享自定义模块

OpenClaw技能商店&#xff1a;基于nanobot开发并分享自定义模块 1. 为什么要开发OpenClaw技能 去年夏天&#xff0c;我发现自己每天要花大量时间处理重复性的文件整理工作——下载各种技术文档&#xff0c;按日期和项目分类存储&#xff0c;再手动生成目录索引。当我第三次在…...

AgentCPM深度研报助手10分钟快速部署教程:基于CSDN星图GPU平台

AgentCPM深度研报助手10分钟快速部署教程&#xff1a;基于CSDN星图GPU平台 你是不是也遇到过这种情况&#xff1f;面对海量的行业报告、公司财报&#xff0c;想快速提炼核心观点&#xff0c;却感觉无从下手&#xff0c;或者需要花费大量时间手动整理。现在&#xff0c;有了AI助…...

第4章 编码规范-4.1 命名规范

在Python中&#xff0c;变量、常量、模块、包、函数、类、对象、属性、方法和异常类都具有一定的命名规范。但是&#xff0c;这些命名规范都是通用性规范&#xff0c;而不是强制性规范&#xff0c;所以具体的命名规范还需要以开发项目的要求为主。&#xff08;1&#xff09;变量…...

3步精通哔哩下载姬:零基础掌握B站视频高效下载与管理全攻略

3步精通哔哩下载姬&#xff1a;零基础掌握B站视频高效下载与管理全攻略 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&…...