当前位置: 首页 > 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…...

Local AI MusicGen教育应用:帮助学生理解音乐情绪表达方式

Local AI MusicGen教育应用&#xff1a;帮助学生理解音乐情绪表达方式 1. 引言&#xff1a;当AI成为音乐老师 想象一下&#xff0c;你是一位音乐老师&#xff0c;正在给学生讲解“悲伤”这种情绪在音乐中是如何表达的。传统的教学方式可能是播放一段肖邦的夜曲&#xff0c;或…...

手把手教你用R玩转MSigDB:从数据库下载、基因集构建到GSEA/GSVA完整流程

手把手教你用R玩转MSigDB&#xff1a;从数据库下载、基因集构建到GSEA/GSVA完整流程 如果你正在寻找一个权威的基因集数据库来支持你的转录组功能分析&#xff0c;MSigDB&#xff08;Molecular Signatures Database&#xff09;无疑是首选。作为Broad研究所维护的核心资源&…...

颠覆传统系统管理的轻量级工具:NSudo如何重新定义权限操作

颠覆传统系统管理的轻量级工具&#xff1a;NSudo如何重新定义权限操作 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo …...

当孩子冲动行为影响学习,如何借助哈洛韦尔医生的情绪管理技巧?

如何有效应对孩子情绪管理困难&#xff0c;促进学习进步 面对孩子的情绪管理困难&#xff0c;家长和教育者可以采用一些实用的策略来帮助他们更好地表达情绪和应对挑战。首先&#xff0c;建立一个安全的环境非常重要&#xff0c;让孩子感到可以自由表达自己的情感而不必担心负面…...

基于春联生成模型的Python爬虫数据采集与内容生成系统

基于春联生成模型的Python爬虫数据采集与内容生成系统 用技术传承文化&#xff0c;让AI助力创作 1. 项目背景与价值 春节是中国人最重要的传统节日&#xff0c;而春联则是春节文化中不可或缺的一部分。每年春节&#xff0c;家家户户都会贴上新的春联&#xff0c;表达对新年的美…...

VeighNa量化框架实战:如何免费获取TuShare金融数据(附完整接入代码)

VeighNa量化框架实战&#xff1a;零成本高效获取TuShare金融数据的完整指南 在量化交易领域&#xff0c;数据获取往往是第一个需要跨越的门槛。对于个人开发者和小型团队而言&#xff0c;如何在预算有限的情况下获取高质量的金融数据&#xff0c;成为决定项目成败的关键因素之一…...

从GigE Vision到千兆UDP:FPGA图像采集系统的灵活升级与10G MAC预留设计

从GigE Vision到千兆UDP&#xff1a;FPGA图像采集系统的灵活升级与10G MAC预留设计 在工业视觉和机器视觉领域&#xff0c;图像采集系统的带宽需求正以惊人的速度增长。随着4K、8K高分辨率相机的普及&#xff0c;以及多相机同步采集场景的增多&#xff0c;传统的千兆以太网接口…...

从单体到微服务:用Ruoyi-Vue-Plus框架快速搭建多租户后台系统(含AI模块开发避坑指南)

从单体到微服务&#xff1a;Ruoyi-Vue-Plus框架的多租户实战与AI模块开发精要 当企业级应用需要同时服务多个客户群体时&#xff0c;如何确保数据隔离与系统性能的平衡成为架构设计的核心挑战。Ruoyi-Vue-Plus作为一款基于Spring Boot的快速开发框架&#xff0c;其多租户实现机…...

Qt实战:用QTreeWidget打造班级管理系统(含右键菜单完整源码)

Qt实战&#xff1a;用QTreeWidget构建高交互班级管理系统 在Qt框架中&#xff0c;QTreeWidget作为展示层级数据的利器&#xff0c;特别适合教育管理系统的开发需求。不同于简单的列表控件&#xff0c;树形结构能直观呈现班级、年级、学生等多级关系&#xff0c;配合右键菜单可实…...

实用教程!用fft npainting lama镜像批量处理图片水印

实用教程&#xff01;用fft npainting lama镜像批量处理图片水印 1. 引言 1.1 为什么需要批量水印处理 在日常工作中&#xff0c;我们经常遇到需要处理大量带有水印图片的情况。无论是电商平台的商品图、社交媒体上的素材&#xff0c;还是企业内部文档&#xff0c;水印的存在…...