记一次 CentOs6 搭建 gitlab

前两天实验室服务器上的 gitlab 感染了挖矿病毒了,跑起来之后 CPU 直接干到 100%。在用入侵检测工具 chkrootkit 检查无异常后,考虑卸载重装。

1. gItlab 的卸载

为了卸载 gitlab,首先要确保相关进程不在运行状态(废话,CPU 都爆表了肯定先把他 kill 掉了)。运行以下命令停止 gitlab 服务。

gitlab-ctl stop

接下来,卸载 gitlab。由于当初 gitlab 不是我安装的,所以我不清楚当初学长安装的是 gitlab-ce 还是 gitlab-ee,所以只能挨个试验一下。

sudo rpm -e gitlab-ce  // 找不到 package
sudo rpm -e gitlab-ee  // 卸载成功

此时要处理掉残留的运行中的进程,查找一下:

ps -ef | grep gitlab

根据进程号,杀掉所有运行中的 gitlab 相关的进程。

kill -9 进程号PID

这时,再来处理残余文件,删除与 gitlab 相关的文件:

find / -name gitlab | xargs rm -rf

卸载完成后,重启主机。

reboot

重启机器后,gitlab 就已经完全被我们干掉了。接下来,开始重新安装。

2. 安装 gitlab

首先,进入 gitlab 的官网(要梯子),查看不同操作系统下 gitlab 的安装教程。 图片:

在这里插入图片描述

这里可以看到,对于不同的操作系统,有不同的安装指南。接下来查看本机的操作系统。

 cat /etc/issue

输入以上命令,的确是吐了,这台机子竟然还是上古版本的 CentO 6.10。按道理来讲,在流程上 CentOS 6 和 7 应该都差不多,只是执行的命令上(CentOS 6 不支持 systemctl,可以用 service 代替)会有所出入。于是,点开安装指导,开始安装。

(1)yum 换源

首先,查看 yum 源是否合适。进入到 CentOS-Base.repo 文件中,

vi /etc/yum.repos.d/CentOS-Base.repo

查看 [base] 代码段是否配置了合适的国内源。

[base]
name=CentOS-6.10 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

如果更改了此文件,则还需要更新 nss。

yum -y update nss

(2)gitlab 的安装

STEP1:在系统防火墙上开启允许ssh和http访问。

yum install -y curl policycoreutils-python openssh-server cronie
lokkit -s http -s ssh

STEP2:安装postfix来支持gitlab发送邮件

yum install -y postfix
service postfix start
chkconfig postfix on

STEP3:安装gitlab

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


EXTERNAL_URL="http://[server:port]" yum -y install gitlab-ee

(3)修改 gitlab 存储数据的位置

在安装 gitlab 时,默认的仓库存储路径在 /var/opt/gitlab/git-data 目录下,仓库存储在子目录 repositories 里面,可以通过修改 /etc/gitlab/gitlab.rb 文件中 git_data_dirs 参数来自定义父目录。

【注:/etc/gitlab/gitlab.rb 是 gitlab 配置的核心文件,所有有关域名、存储都与此相关】

首先,创建 /data/gitlab/git-data 目录作为仓库存储目录。

mkdir /data/gitlab/git-data

进入到核心配置文件中,做出如下修改:

vi /etc/gitlab/gitlab.rb

# 文件里
git_data_dirs({
  "default" => {
    "path" => "/data/gitlab/git-data"
  }
})

重启配置,使其生效。

gitlab-ctl reconfigure

此时,gitlab 就已经搭建好了,接下来,破解 gitlab 企业版。

3. 破解 gitlab 企业版

在这里放一份学长提供的许可证,下载之后按照下文进行替换即可,方便下载:腾讯微云

(1)使用许可证

用 license_key.pub 文件替换 /opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub。

(2)修改等级

进入许可证配置文件:

vi /opt/gitlab/embedded/service/gitlab-rails/ee/app/models/license.rb

# 在文件里
将
restricted_attr(:plan).presence || STARTER_PLAN
修改为 
restricted_attr(:plan).presence || ULTIMATE_PLAN

gitlab-ctl reconfigure  # 重启配置

(3)上传许可证

进入到部署好的 gitlab 上传许可证界面(http://[server:port]/admin/license

(4)重启 gitlab

gitlab-ctl restart

4. 与通过 gitlab4j API 与项目后端对接时的相关配置

(1)创建空白组和空白模板项目

首先先建一个组,名称为:code_template_group(名称可以修改,不收限制),可见性权限为 internal,记录好这个组的 id,填写到项目后端配置文件的 template-group 中。

进入 gitlab 的 admin/application_settings/templates,选择 Custom project templates,选择刚才建立的组。确定后,该组下的所有项目都会自动成为模板项目,可以由后面创建项目时选择。

进入 code_template_group 组内,创建项目,名称为:empty_project(名称可以修改,不收限制),可见性为 internal,勾选 Initialize repository with a README。创建完成后记录下项目 id,填写到2中提到的配置里的 empty-project-id 中。

进入项目设置-repository,选择protected branch,在Allow merge和Allow push里修改角色为Developers+Mainters,以便允许团队成员提交代码。

(2)关闭注册功能

在 Admin Area > settings > general中的Sign-up Restriction 中取消 Sign-up enabled的勾选并保存。

(3)初始化 token

进入 root 的个人设置页面,点击侧边栏 access token 按钮,勾选全部 api 后生成 token(注意不要设置 Expires at 截止日期),记好 token 值,并设置在项目的配置文件(application.yml,或者用 config 服务器对应的服务配置下)。

配置路径为:

gitlab:
  config:
    empty-project-id: [空白项目模板id]
    host-url: http://[server:port]
    personal-access-token: [token]
    template-group: [模板组的id]

5. 遇到的常见问题

(1)HTTPS 证书无效

简单点,用 http。

(2)报 422 错误

同步本地和服务器时间,或者清除浏览器缓存。

(3)报 502 错误

一般为端口号占用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7.9搭建GitLab服务器的步骤如下: 1. 更新系统:首先,使用命令“sudo yum update”来更新系统软件包。 2. 安装必要的依赖:执行以下命令安装Git和其他必要的依赖项: ``` sudo yum install curl policycoreutils openssh-server openssh-clients perl sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld ``` 3. 添加GitLab软件源:使用以下命令添加GitLab的官方软件源: ``` curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash ``` 4. 安装GitLab:运行以下命令安装GitLab Community Edition(CE)或Enterprise Edition(EE): - 安装GitLab CE: ``` sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce ``` - 安装GitLab EE(需要许可证): ``` sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee ``` 这里将`http://gitlab.example.com`替换为您的服务器的公共IP地址或域名。 5. 配置GitLab:编辑GitLab配置文件`/etc/gitlab/gitlab.rb`,根据需要设置外部URL和其他配置参数。例如,要使用HTTPS,可以取消注释并设置相应的证书和密钥路径。 6. 重新配置GitLab:运行以下命令重新配置GitLab: ``` sudo gitlab-ctl reconfigure ``` 7. 启动GitLab:执行以下命令启动GitLab: ``` sudo gitlab-ctl start ``` 8. 访问GitLab:使用浏览器访问服务器的公共IP地址或域名,在地址栏中输入之前设置的外部URL。 通过完成上述步骤,您应该能够在CentOS 7.9上成功搭建GitLab服务器。根据需要,您还可以配置其他功能,如用户管理、项目管理、权限设置等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值