GitLab の HTTP ポート番号を変更する

Software Configuration Management (SCM)

GitLab の Web インターフェイスは、既定では HTTP の標準ポート (80/tcp) でアクセスできるようにセットアップされます。

自分だけが使う GitLab の場合、標準ポートで運用する必要もないので、今回は別のポート番号に変更することにしました。


今回は、 ConoHa VPS 上で稼働している Fedora 20 にインストールしたGitLab の HTTP の待ち受けポート番号を変更します。

ポート番号を変更すると、Web インターフェイスのと Git リポジトリへ接続するのに使うのの、両方のポート番号が変更になります。

Fedora 20 に GitLab をインストールしたときのお話はこちら に記してあります。

HTTP 待ち受けポートを変更する

GitLab の HTTP 待ち受けポート番号は、設定ファイル/etc/gitlab/gitlab.rb の冒頭にあるexternal_url で行います。

たとえば次のような記載にすると、GitLab がセットアップする Web サーバーのポート番号を 10080 番に変更できます。

external_url 'http://xxx.xx.jp:10080'

設定ファイルの編集が終わったら次のコマンドを実行すると、設定が反映されて、新しいポート番号での HTTP 待ち受けが開始されます。

sudo gitlab-ctl reconfigure

HTTPS 接続の場合も同様にexternal_url で使いたいポート番号を指定します。なお、GitLab で HTTPS を使う方法についてはこちら で紹介しています。

ファイアーウォールを調整する

今回 GitLab をインストールした Fedora 20 は、標準では任意のポートへの接続を受け入れない設定になっています。

そこで、GitLab に設定したポート番号(今回の例では 10080)へのアクセスを受け入れるようにfirewalld の設定を調整します。


まず、次のファイルを/etc/firewalld/services/gitlab.xml に作成します。

<?xml version="1.0" encoding="utf-8"?>
<service>
	<short>GitLab</short>
	<description></description>
	<port protocol="tcp" port="10080"/>
</service>

そして、次のコマンドを実行します。

sudo firewall-cmd --permanent --add-service=gitlab
sudo firewall-cmd --reload

このようにすることで、gitlab.xml に記載したポートへのアクセスを受け入れるようになり、GitLab の Web インターフェイスへ新しいポート番号で接続できるようになります。