背景
Gitlabを運用しているサーバで、Gitlabのバージョンアップ時に以下のメッセージを読んだため、Gitlabをバージョンアップする前にインストール手順を確認しておきたかった。
Starting from version 17.7,
GitLab uses OpenSSL 3. This version of OpenSSL is a major release with notable
deprecations and changes to the default behavior of OpenSSL (for more details
see the OpenSSL 3 migration guide).
Some of the older versions of TLS and cipher suites for external integrations
may not be compatible with these changes. Therefore, it is crucial that you
assess the compatibility of your external integrations before upgrading to a
GitLab version that uses OpenSSL 3.
出典:https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/17.5.0+ce.0/doc/settings/ssl/openssl_3.md
環境
Rocky Linux8.9
GitLabはhttpで運用していて、sslは使用していない
テスト環境でまずはOpenSSL3のインストールを行ってみた
手順
$ sudo dnf upgrade openssl
$ openssl version
$ sudo dnf install epel-release
$ sudo dnf update
$ dnf search openssl <= これでOpenSSL3があることがわかった
$ sudo dnf install openssl3 openssl3-libs
$ openssl version <= これではOpenSSL1が表示される
OpenSSL 1.1.1k FIPS 25 Mar 2021
$ openssl3 version <= こちらでインストールできたことを確認
OpenSSL 3.2.2 4 Jun 2024 (Library: OpenSSL 3.2.2 4 Jun 2024)
補足
OpenSSL3と1
OpenSSL3はdnf installでインストールできますが、すでにインストールされている1.1.1が3.x.xになるのでなかった。(たとえが正しいのかわかりませんが)Python2とPython3の関係のように思えました。
今後の確認
「Starting from version 17.7,GitLab uses OpenSSL 3.」とありますが、この記事を書いた時点での最新版は17.5.1です。
17.7にバージョンを上げたときに、OpenSSL3が必須となるのかは不明です。
[2025/09/09]
17.7.7にバージョンを上げてから「gitlab-rake gitlab:env:info」を実行したところ
$ sudo gitlab-rake gitlab:env:info # バージョン確認
System information
System:
Current User: git
Using RVM: no
Ruby Version: 3.2.5
Gem Version: 3.5.23
Bundler Version:2.5.11
Rake Version: 13.0.6
Redis Version: 7.0.15
Sidekiq Version:7.2.4
Go Version: unknown <== これは問題対処の必要ある?
GitLab information
Version: 17.8.7
(以下略)
バージョンを確認した際に「Go Version: unknown」が表示されましたが、問題なしでした。
下記がChatGPTに聞いてみた結果です。
GitLab 本体は Ruby on Rails で動いており、Go は必須ではありません。
Go 言語は GitLab の一部の周辺コンポーネント(例: Gitaly、GitLab Workhorse など)で
使われていますが、Omnibus パッケージ版の GitLab では 事前にビルド済みのバイナリが同梱
されているため、システムに Go がインストールされていなくても動作します。
そのため gitlab:env:info が「Go のバージョンを確認できない → unknown」と表示することが
ありますが、実害はありません。