centos7.9 + gitlab12.3.0安装

本文在centos7.9操作系统上安装gitlab 12.3.0,gitlab官方最新的版本已经是16.6.0了,这里仍然安装12.3.0版本的原因是汉化包的最新版本是12.3.0,如果汉化包的版本和gitlab的版本不对应,会出现汉化他无法启动的现象。
1、安装依赖

yum install -y curl policycoreutils openssh-server openssh-client

2.安装邮件服务,postfix

yum install -y postfix
systemctl enable postfix
systemctl start postfix

3.添加gitlab镜像源

vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

添加以下内容

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

编辑完成后,更新一下yum源

yum update

4.查看历史版本

配置好yum源后,如果直接使用yum命令安装gitlab会默认安装最新的版本,但是在实际使用中我们经常需要安装指定版本的gitlab,还有一个更重要的原因是汉化包和gitlab的主版本不同步。

使用下面的命令可以查看当前源中gitlab的版本号

yum --showduplicates list gitlab-ce

在这里插入图片描述
5.安装指定版本

yum install -y gitlab-ce-12.3.0-ce.0.el7

6.下载对应版本的汉化包

汉化包要和对应的gitlab版本对应起来,否则会出现汉化后gitlab运行不起来的情况。

# 下载对应gitlab版本的汉化包
git clone https://gitlab.com/xhang/gitlab.git -b 12-3-stable-zh

7.替换汉化包

cp -rf gitlab/* /opt/gitlab/embedded/service/gitlab-rails/

💁‍♂ 在使用cp命令时,centos7默认是有提示确认的,在复制多个文件时这样做非常的不方便,通过下面的命令,关闭cp命令的提示确认信息。

编辑bashrc文件

vim /root/.bashrc

将cp=‘cp -i’ 修改成cp=‘cp’,或者把这一行干脆删除掉。

在这里插入图片描述
使用source /root/.bashrc命令,让修改立即生效。

完成上面的操作后,重新configure gitlab

gitlab-ctl reconfigure

重新configure需要一段时间,只要不报错这个过程就OK了。
在这里插入图片描述
接下来重启gitlab

gitlab-ctl restart

在这里插入图片描述
如果你的centos7 开启的防火墙,而你需要在非本机访问gitlab时,需要使用以下命令打开防火墙的80端口。

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

8.测试

在浏览器中输入gitlab服务器的地址,就能看到gitlab的界面了,第一次启动时会要求你修改root的密码,修改完成后就可以使用root/<你修改的密码>进行登录了。
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

基于Hadoop的异构网络协同过滤推荐算法设计

基于Hadoop的异构网络协同过滤推荐算法设计 基于Hadoop的异构网络协同过滤推荐算法设计 Design of Heterogeneous Network Collaborative Filtering Recommendation Algorithm based on Hadoop 目录 目录 2 摘要 3 关键词 4 第一章 引言 4 1.1 研究背景 4 1.2 研究意义 5 1.3 国…

Python 图形用户界面详解(GUI,Tkinter)

文章目录 1 概述1.1 TK&#xff1a;窗口1.2 官方文档 2 组件2.1 Label&#xff1a;标签2.2 Button&#xff1a;按钮2.3 Entry&#xff1a;输入2.4 Text&#xff1a;文本2.5 Radiobutton&#xff1a;单选框2.6 Checkbutton&#xff1a;复选框2.7 Canvas&#xff1a;画布2.10 Men…

深拷贝 浅拷贝 递归

浅拷贝指的是创建一个新对象&#xff0c;其中包含原始对象的引用&#xff08;指针&#xff09;&#xff0c;并没有真正将原始对象的数据复制到新对象中&#xff0c;因此新对象与原始对象共享部分或全部数据。 深拷贝指的是创建一个新对象&#xff0c;并递归地将原始对象的数据…

Shell条件变量练习

1.算数运算命令有哪几种&#xff1f; (1) "(( ))"用于整数运算的常用运算符&#xff0c;效率很高 [rootshell scripts]# echo $((24*5**2/8)) #(( ))2452814 14 (2) "$[ ] "用于整数运算 [rootshell scripts]# echo $[24*5**2/8] #[ ]也可以运…

目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】特征点检测与匹配

目录 前言 算法原理 一、图像特征介绍 二、特征检测子 三、特征描述子

Python缺失值处理实现

在数据处理相关工作中&#xff0c;读取的数据中常常会有缺失值的情况&#xff0c;为顺利进行后续的操作&#xff0c;需要首先对缺失值进行处理&#xff0c;处理的方式一般为删除或填充&#xff0c;Python中提供了专门的工具包&#xff0c;可以方便地进行实现。读取操作可以由pa…

WebGL技术框架及功能

WebGL&#xff08;Web Graphics Library&#xff09;是一种用于在Web浏览器中渲染交互式3D和2D图形的JavaScript API。它允许在不需要插件的情况下&#xff0c;在支持WebGL的浏览器中直接运行高性能的图形渲染。WebGL没有一个固定的技术框架&#xff0c;而是基于JavaScript API…

【Vue】绝了!这生命周期流程真...

hello&#xff0c;我是小索奇&#xff0c;精心制作的Vue系列持续发放&#xff0c;涵盖大量的经验和示例&#xff0c;如果对您有用&#xff0c;可以点赞收藏哈~ 生命周期 Vue.js 组件生命周期&#xff1a; 生命周期函数&#xff08;钩子&#xff09;就是给我们提供了一些特定的…

SpringBoot整合MongoDB: 构建高效的数据存储应用

文章目录 1. 引言2. MongoDB简介3. 准备工作4. SpringBoot中配置MongoDB5. 创建MongoDB实体类6. 使用Spring Data MongoDB进行数据操作7. 编写Service层8. 控制器层9. 测试10. 拓展10.1. 复杂查询10.2. 数据分页10.3. 索引优化 11. 总结 &#x1f389;SpringBoot整合MongoDB: 构…

Django回顾2

目录 一.HTTP 1.URL介绍 2.格式&#xff1a; 3.补充&#xff1a; 二.web框架 1.什么是框架 2.什么是web框架 3.wsgi协议 基于wsgi协议的web服务器&#xff1a; 4.协议是怎么规定的 三.Django 1.MVC与MTV模型&#xff08;所有框架其实都遵循MVC架构&#xff09; 2.…

Linux(gRPC):Ubuntu22.04安装gRPC

gRPC是谷歌出品的语言无关的RPC框架,使用其可以实现高效的RPC调用。 安装方法可以参照: Quick start | C++ | gRPC Ubuntu22.04上实际的安装方式如下: 1.安装新于v3.13版本的cmake 2.安装辅助工具 sudo apt install -y build-essential autoconf libtool pkg-config 3.设…

NOI / 1.7编程基础之字符串 31:字符串p型编码

描述 给定一个完全由数字字符&#xff08;0,1,2,…,9&#xff09;构成的字符串str&#xff0c;请写出str的p型编码串。例如&#xff1a;字符串122344111可被描述为"1个1、2个2、1个3、2个4、3个1"&#xff0c;因此我们说122344111的p型编码串为1122132431&#xff1…

别太担心,人类只是把一小部分理性和感性放到了AI里

尽管人工智能&#xff08;AI&#xff09;在许多方面已经取得了重大进展&#xff0c;但它仍然无法完全复制人类的理性和感性。AI目前主要侧重于处理逻辑和分析任务&#xff0c;而人类则具有更复杂的思维能力和情感经验。 人类已经成功地将一些可以数据化和程序化的理性和感性特征…

企业级开发链表思路

项目结构 头文件代码 头文件代码LinkList.h #ifndef LINKLIST_H #define LINKLIST_H #include <stdio.h> #include <stdlib.h> #include <iostream> // 链表小节点 typedef struct LINKBODE {struct LINKBODE* next;}LinkNode; // 遍历的函数指针 typedef …

人工智能|机器学习——感知器算法原理与python实现

感知器算法是一种可以直接得到线性判别函数的线性分类方法&#xff0c;它是基于样本线性可分的要求下使用的。 一、线性可分与线性不可分 为了方便讨论&#xff0c;我们蒋样本增加了以为常数&#xff0c;得到增广样向量 y&#xff08;1;;;...;&#xff09;,则n个样本的集合为&a…

基于ChatGPT等大模型快速爬虫提取网页内容

本文将介绍一种基于ChatGPT等大模型快速爬虫提取网页内容的方法。传统的爬虫方法需要花费较大精力分析页面的html元素&#xff0c;而这种方法只需要两步就可以完成。下面将从使用步骤、方法扩展和示例程序三部分进行介绍。RdFast智能创作机器人小程序预计本周2023-11-30之前集成…

机器学习之决策树及随机森林

决策树 概念 决策树(Decision Tree)是一种常见的机器学习算法,用于分类和回归任务。它是一种树状结构,其中每个内部节点表示一个特征或属性,每个分支代表一个决策规则,而每个叶节点表示一个输出标签或值。 构建决策树过程 构建决策树的过程通常涉及以下步骤: 数据准…

PTA存档简单题之《函数中return的可以是式子》

本题要求实现一个计算非负整数阶乘的简单函数&#xff0c;并利用该函数求 1!2!3!...n! 的值。 函数接口定义&#xff1a; double fact( int n ); double factsum( int n ); 函数fact应返回n的阶乘&#xff0c;建议用递归实现。函数factsum应返回 1!2!...n! 的值。题目保证输…

零信任安全:远程浏览器隔离(RBI)的重要性

引言 在当今数字化时代&#xff0c;网络安全已成为个人和企业关注的焦点。随着网络攻击和恶意软件的不断增加&#xff0c;远程浏览器隔离(RBI)SAAS系统变得至关重要。本文将深入探讨远程浏览器隔离系统的重要性&#xff0c;以及它如何帮助用户保护其网络免受恶意软件和网络攻击…

Python与GPU编程快速入门(二)

Python与GPU编程快速入门 文章目录 Python与GPU编程快速入门2、将GPU与CuPy结合使用2.1 CuPy介绍2.2 Python中的卷积2.3 使用SciPy在CPU上进行卷积2.4 使用CuPy在GPU上进行卷积2.5 测量性能2.6 验证2.7 在 GPU 上执行 NumPy 例程本文将详细介绍如何在Python中使用CUDA,从而使用…