Gitlab安装及配置

2023-05-16

主要内容:

  • 使用docker运行 gitlab;
  • 配置LDAP及邮箱;
  • 配置管理员账号;
  • 配置邮箱通知;
  • 关闭用户注册;

安装

我们使用docker来安装Gitlab,执行如下命令即可安装运行,完成后使用

export GITLAB_DATA=/data/gitlab
# 设置主机的ip域名
export HOST_IP=192.168.43.62
mkdir $GITLAB_DATA/config $GITLAB_DATA/logs $GITLAB_DATA/data
docker run --detach \
        --hostname $HOST_IP \
        --publish 443:443 --publish 80:80 --publish 22:22 \
        --name gitlab \
        --restart always \
        --volume $GITLAB_DATA/config:/etc/gitlab \
        --volume $GITLAB_DATA/logs:/var/log/gitlab \
        --volume $GITLAB_DATA/data:/var/opt/gitlab \
        gitlab/gitlab-ce:13.9.1-ce.0
  • 数据全部挂载在外部目录 GITLAB_DATA 中
  • --hostname 192.168.43.62 : 指定当前服务的IP或者域名,后续将会显示为gitlab代码仓库的克隆地址
  • --restart always : 设置服务自动重启

查看gitlab的可用版本:

  • dockerhub/gitlab-ce
  • gitlab release page

查看启动状态

启动期间可以使用 docker ps 查看状态,如STATUS中显示为starting则表示服务还在启动中,如显示为healthy则表示服务已正常启动,即可访问 http://192.168.43.62 访问Gitlab的web地址。

CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS                 PORTS                                                          NAMES
79b432f0f601        gitlab/gitlab-ce:13.0.6-ce.0   "/assets/wrapper"   2 months ago        Up 2 weeks (healthy)   0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   gitlab

也可使用 docker logs -f gitlab 来查看gitlab的服务启动日志

设置root管理员用户密码

首次打开页面后会提示设置root用户的密码,设置后务必记录好用户密码,后续将使用此用户对Gitlab进行管理

20210302163607

配置LDAP

服务启动正常后,$GITLAB_DATA/config 文件夹中即生成了gitlab的配置文件,可编辑$GITLAB_DATA/config/gitlab.rb (对应容器内部 /etc/gitlab/gitlab.rb )文件来修改gitlab配置以使用LDAP

vim /etc/gitlab/gitlab.rb

通过? 搜索LDAP,找到如下配置端,按如下方式进行修改:


### LDAP Settings
###! Docs: https://docs.gitlab.com/omnibus/settings/ldap.html
###! **Be careful not to break the indentation in the ldap_servers block. It is
###!   in yaml format and the spaces must be retained. Using tabs will not work.**

gitlab_rails['ldap_enabled'] = true

gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main:
     label: '域账号'
     host: '172.17.0.3'
     port: 389
     uid: 'sAMAccountName'
     bind_dn: 'CN=域账号读取用户,OU=colorless-域用户,DC=colorless,DC=com,DC=cn'
     password: '域账号读取用户的登录密码'
     encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
     verify_certificates: false
     smartcard_auth: false
     active_directory: true
     allow_username_or_email_login: false # 是否允许以用户名登录(邮箱也会取用户名来严重)
     lowercase_usernames: false
     block_auto_created_users: false
     base: 'OU=colorless-域用户,DC=colorless,DC=com,DC=cn'
     user_filter: ''
EOS

配置修改说明:

  • ldap_enabled 需要设置为true
  • ldap_servers 配置AD域相关信息
    • label: 随便取,会显示在gitlab的登录页面
    • host: 域控制服务器主机地址
    • port: 域控制器服务端口
    • uid: 将域用户信息中的哪个字段作为gitlab上的登录标识(一般都是sAMAccountName)
    • bind_dn: 用于访问域控制服务器的用户账号,用户账号的格式需要使用CN=xxx,OU=XXX,DC=XXXX 类似的格式
    • password: 对应的base_dn账号的密码
    • base: 用于登录时,会去base所定义的组里面去检索用户是否存在,如用户在这个范围内,才可以登录;如及用于公司一个部门的登录,可将base值配置到部门级别,则其他部分无法以域账号进行登录;

提示: 如无法确认 uid,bind_dn,base 等的值,可以咨询信息中心或者使用AD域访问查看软件(如:Apache Directory)连接到域账号控制器服务后,通过图形界面查看对应信息;

修改完毕后需要保存文件后重启gitlab服务,对于docker启动的gitlab来说,可执行如下命令重启服务:

# 其中gitlab为我们使用docker run 命令时通过--name选项指定的容器名称
docker restart gitlab 

待gitlab重启完毕后,登录界面即出现域账号登录的tab入口,点击域账号tab即可使用域账号进行登录

image-20210302161215567

配置邮箱通知

公司邮箱服务器配置:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.colorless.com.cn"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@colorless.com.cn"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "colorless.com.cn"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

163邮箱配置示例:(需在163邮箱中开启SMTP服务,可参考: CSDN-如何使用163的SMTP服务发邮件?)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "colorless@163.com"
gitlab_rails['smtp_password'] = "密码"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

关闭及管理员配置

赋予指定域账号管理员权限

在配置了域账号登录之后,先让需要设置为管理员的账号使用域账号登录一次gitlab,登录后gitlab即会为该用户创建关联的gitlab账号。

然后使用root用户登录,进入

20210302164307

将用户的访问类型切换为管理员:

20210302164354

关闭用户注册

在配置了域账号登录之后,可以关闭用户注册,即只允许拥有域账号的人员进行登录;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gitlab安装及配置 的相关文章

随机推荐

  • 分数取模(费马小定理)

    费马小定理 若p是质数 xff0c 且p与a互质 xff0c 有等式 a p 1 p 61 61 1 p 那么我们在这上面变一下型 俩边同除a a p 2 p 61 61 a 1 p 那么我们再在俩边同乘b b a p 2 p 61 61
  • Verilog中两种位宽声明方式在赋值和例化时的思考

    文章目录 一 赋值二 例化1 大端 gt 大端 xff0c 小端 gt 小端2 大端 gt 小端 xff0c 小端 gt 大端 总结 近来在学习VHDL时发现其有TO和DOWNTO两种声明位宽的方式 xff0c 不同方式在赋值操作时存在差异
  • ROS学习笔记(2)创建ROS工作空间

    一 创建一工作空间 1 新建一个文件夹 xff0c 路径中应当没有中文 2 在文件夹中新建一个文件夹名字叫src xff0c 在ros工作空间中src文件夹是必须的 3 在文件夹中右键打开终端 xff0c 如果不是右键打开终端 xff0c
  • linux下freeswitch安装详细教程

    前言 xff1a 本次安装freeswitch为1 6 0版本 xff0c 其他版本可能出现异常 百度智能语音MRCP搭建教程参照 xff1a freeswitch呼叫中心之百度MRCP语音合成识别环境搭建 十年一梦惊觉醒的博客 CSDN博
  • Ubuntu切换lightdm后不能修改分辨率,强行修改xorg.conf重启后只能进入tty模式

    目录 出现问题 如题 问题背景 探索过程 解决办法 查看日志 出现问题 如题 问题背景 描述 因为需要使用向日葵远程控制 xff0c 发现win10不能远程控制ubuntu 百度后提示 造成的原因有如下 xff1a 1 桌面环境是否开启 x
  • pip3 指定国内源

    pip3 install index url https pypi douban com simple Image
  • 【linux】 profile和bashrc, ~/.profile ,~/.bashrc

    影响范围 1 profile和bashrc 影响范围加载 etc profile etc profile d 系统 xff08 对所有用户起作用 xff09 系统登录后 profile用户启动bash shell etc bash bash
  • sqlitespy怎么打开.db数据库文件

    百度搜索SQLiteSpy xff0c 下载 双击打开SQLiteSpy 点File Open DataBase 找到要打开的 db数据库文件 xff0c 点打开 这样数据库就打开了 xff0c 可以看到左侧表 右键点击一个表 Show D
  • OSI/ISO详解

    前段时间学习的需要 xff0c 在论坛泡了几天 xff0c 加上自己的看法 xff0c 总结出了这个详解 当然其中很多是从论坛里面搬运过来 xff0c 所以如有错误之处 xff0c 还望各位积极指正 一 OSI模型概述 xff1a 1概念
  • 使用wsl命令迁移WSL。

    1 打开CMD xff0c 查看所有WSL 执行 xff1a wsl l all v 显示 xff1a Windows Subsystem for Linux Distributions Ubuntu 20 04 Default 2 导出W
  • 使用脚本重启WSL(ubuntu)。

    1 创建 重启脚本文件 bat cmd 编辑脚本 xff0c 输入 xff1a net stop LxssManager net start LxssManager 保存关闭 2 运行脚本 脚本运行需要管理员权限 解决方法 xff1a xf
  • C# winform treeview GDI+流程连线 流程图 树形流程图

    C winform treeview GDI 43 流程连线 流程图 树形流程图 TreeView Paint的方法呈现效果 xff0c 具体如下 1 点击连线按钮开始准备连线 2 点击第一个连线的起始节点 3 再点击第二个连线的结束节点
  • 使用STM32寄存器点亮LED流水灯

    目录 一 什么是寄存器GPIO 二 使用寄存器点亮LED灯1 建立工程模板1 1 建立相关文件1 2 建立工程1 3 配置环境 2 配置GPIO端口2 1 配置时钟使能2 2 初始化结构体2 3 配置输入输出模式 3 主要函数3 1 led
  • frp内网穿透—将kali代理在公网中进行渗透测试

    文章目录 前言Frp简介准备工具实现内网穿透frp服务端配置frp客户端配置 测试HTTP服务测试ssh服务测试反弹shell测试 注意 前言 由于工作常需要用到kali xff0c 但是公网服务器并没有安装kali镜像 xff0c 本地只
  • 最小二乘法解的矩阵形式推导

    最小二乘法解的矩阵形式推导 首先 xff0c 什么是最小二乘 xff1f 维基百科给出了一个定义 xff0c 戳这里 在我看来 xff0c 最小二乘法是一种数据拟合方法 我们从矩阵的角度来理解 xff1a 首先我们给出一个矩阵中的定义 xf
  • pytesseract识别数字

    针对工程需求精度不够 xff0c 目前只能识别率为86 左右 用tesseract的深度学习可能会好一点 xff0c 没搞懂怎么用 xff1f 单张图片 import cv2 import numpy as np import matplo
  • Arduino利用NTPClient库获取网络时间,显示时间与实时时间不同步

    网络时间协议 xff08 Network Time Protocol xff0c NTP xff09 是用来使计算机时间同步化的一种协议 xff0c 它可以 使计算机对其服务器或时钟源 xff08 如石英钟 xff0c GPS等等 做同步化
  • 【C++】链表反转逆序|建立、删除、修改、插入|linux内核链表与普通链表

    目录 C 43 43 实现链表逆序 链表的建立 删除 修改 插入 linux内核链表与普通链表 C 43 43 实现链表逆序 实现链表逆序 xff0c 首先要有一个链表 xff0c 下面是链表的结构体 xff1a typedef struc
  • https 自签名SSL证书

    介绍 TLS或称传输层安全性 xff0c 及其前身SSL xff08 代表安全套接字层 xff09 是用于将正常流量包装在受保护的加密包装中的Web协议 使用这种技术 xff0c 服务器可以在服务器和客户端之间安全地发送流量 xff0c 而
  • Gitlab安装及配置

    主要内容 xff1a 使用docker运行 gitlab xff1b 配置LDAP及邮箱 xff1b 配置管理员账号 xff1b 配置邮箱通知 xff1b 关闭用户注册 xff1b 安装 我们使用docker来安装Gitlab xff0c