背景
GitlabCEのテスト用サーバは、本番環境でGitLabをアップデートする前に手順の確認のために、年に数回使用している。
これとは別にWebサーバのテスト環境としても使用はしている。
GitlabCEはOS起動時に自動起動する設定となっている。(意識してそうしたのではなく、インストールしたら)
このため、Webサーバとして使う時は、Gitlabの停止 → httpdサービスの起動、の手順が必要だった。
回数から考えると、OS起動時はGitlabが停止していてくれた方が使い勝手としてはありがたいし、本番環境のことを考えると、GitLabとApacheが同時に動作することができたらありがたい。
GitlabとApacheを共存させるための設定
環境
OS:CentOS7.9
Gitlab:17.1.2
utl:http://192.168.1.4 # LAN内のテスト環境
方針
GitLabのポート8081に変更してWebサーバのテスト環境とするApacheと共存させる
設定変更
/etc/gitlab/gitlab.rbの変更と反映(reconfigure)
$ vi /etc/gitlab/gitlab.rb
-----------------
#external_url 'http://192.168.1.4'
external_url 'http://192.168.1.4:8081'
# nginx['listen_port'] = nil
nginx['listen_port'] = 8081
------------------
$ sudo gitlab-ctl reconfigure
これでOKかと思われたが、192.168.1.4:8081にアクセスしても、ブラウザには
正常に接続できませんでした
192.168.1.4:8080 のサーバーへの接続を確立できませんでした。」
と表示される
lsofコマンドで8081でlistenしているかを確認
$ sudo lsof -i :8081
$
ポート8081を開放
$ sudo firewall-cmd --add-port=8081/tcp --permanent
$ sudo firewall-cmd --reload
先にポート開放を行ったときに8081が開いているかを調べるにはfirewall-cmd --list-allコマンドで確認できる
$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eno1
sources:
services: cockpit dhcpv6-client http https ssh
ports: 8081/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
※ 参考まで
開放したポートを閉じる方法
8081ポートを開放した後、必要がなくなった場合は以下のコマンドでポートを閉じる
$ sudo firewall-cmd --remove-port=8081/tcp --permanent
$ sudo firewall-cmd --reload
発展系
将来的には本番環境では、下記のアクセス方法で共存ができることを目指す予定
GitLab
URL: http://hoge.com
アクセス内容: ポート8081で動作するGitLab
Apache
URL: http://fuga.com
アクセス内容: /home/user1/wordpressディレクトリに配置されたWordPressサイト