Dify導入のためのLinuxサーバー準備において、SSHのセキュリティ設定と並んで重要な初期設定が「ホスト名」と「FQDN(完全修飾ドメイン名)」の設定です。
初期状態のVPSでは、v123-456-789.conoha.local のような汎用的な名前が設定されていることが多く、このままではサーバーの識別が困難です。
この記事では、Linuxサーバー(特にUbuntuなどsystemdを採用するOS)において、ホスト名とFQDNを設定する理由と具体的な手順を解説します。
1. ホスト名とFQDNとは?
ホスト名 (Hostname)
ホスト名は、ネットワーク上のコンピュータ(サーバー)を識別するための「名前(ラベル)」です。
人間がIPアドレス(例:192.168.1.8)を覚えるのは困難ですが、「dify-server」のような分かりやすい名前がついていれば、管理が非常に容易になります。
完全修飾ドメイン名 (FQDN)
FQDN (Fully Qualified Domain Name) は、インターネット上でそのサーバーを一意に特定できる完全な住所のようなものです。
FQDNは、以下の要素で構成されます。
- ホスト名:
dify-server - ドメイン名:
example.com
これらを組み合わせた dify-server.example.com がFQDNとなります。
FQDNを設定することは、メールサーバーの運用、SSL証明書の取得、その他多くのネットワークサービスにおいて必須の要件となります。
FQDNの利用用途
FQDNの利用用途としては、ネットワーク上の特定のデバイスやリソースを一意に識別するために広く利用されています。具体的には以下のような用途が含まれます。
- ウェブアドレス
ウェブサイトへのアクセスを行う際に使用されるURLは、FQDNを活用して特定のドメインへのトラフィックを適切にルーティングします。 - 電子メールアドレス
電子メールアドレスのドメイン部分はFQDNで構成されており、これによってメッセージの宛先となるサーバーを特定することができます。 - ネットワークルーティング
FQDNは、ネットワークデバイスが特定のホストやサブネットにデータパケットをルーティングする際に必要な情報を提供します。 - DNSルックアップ
FQDNは、DNSサーバーに対してクエリを実行し、ホスト名をIPアドレスに変換する際に利用されます。 - アプリケーション識別
FQDNは、特定のサーバーやドメインに接続するためのホスト識別子として、アプリケーションやサービスに使用されることがあります。
2. 現在のホスト名とIPアドレスを確認する
設定を変更する前に、現在の状態を確認します。
ホスト名の確認
hostnamectl コマンドを使用するのが最も確実です。
$ hostnamectl status
Static hostname: v123-456-789.conoha.local <-- 現在のホスト名
Icon name: computer-vm
Chassis: vm
Machine ID: ...
Boot ID: ...
Virtualization: kvm
Operating System: Ubuntu 24.04 LTS
Kernel: Linux 6.8.0-31-generic
Architecture: x86-64
...
または、hostname コマンドでも確認できます。
# ホスト名のみ
$ hostname
v123-456-789.conoha.local
# FQDN(完全修飾ドメイン名)
$ hostname -f
v123-456-789.conoha.local
# ドメイン名
$ hostname -d
conoha.local
IPアドレスの確認
サーバーのIPアドレスを確認します。
# プライベートIPやグローバルIPなど、全てのIPアドレスを表示
$ hostname -I
192.168.1.8 123.45.67.89 ...
# ネットワークインターフェースの詳細情報を表示
$ ip a
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
inet 192.168.1.8/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet 123.45.67.89/32 scope global eth0
valid_lft forever preferred_lft forever
...
3. ホスト名とFQDNを設定する (systemd方式)
CentOS 7やUbuntu 16.04以降のsystemdを採用しているOSでは、hostnamectl コマンド一つで恒久的なホスト名変更が可能です。
ここでは例として、ホスト名を「dify-dev」、FQDNを「dify-dev.example.com」に設定します。
ステップ1: hostnamectl で設定
set-hostname に FQDN を指定するのが最も簡単な方法です。
# FQDN(例: dify-dev.example.com)を設定
sudo hostnamectl set-hostname dify-dev.example.com
【補足】ホスト名だけを設定したい場合 もしFQDNではなく、単純なホスト名(例:dify-dev)だけを設定したい場合は、以下のようにします。
sudo hostnamectl set-hostname dify-dev
ステップ2:設定の反映確認
設定後、すぐにhostnamectlやhostnameコマンドで確認できます。
$ hostnamectl status
Static hostname: dify-dev.example.com <-- 変更された
...
$ cat /etc/hostname
dify-dev.example.com
# ホスト名全体
$ hostname
dify-dev.example.com
# ショートホスト名
$ hostname -s
dify-dev
# ドメイン名
$ hostname -d
example.com
# FQDN
$ hostname -f
dify-dev.example.com
このように、各コマンドでホスト名、ドメイン名、FQDNが正しく分離して表示されれば成功です。
4. (重要)/etc/hosts ファイルの設定
hostnamectl でホスト名(身元)を宣言したら、次に「自分自身のIPアドレスと、その宣言した名前(FQDN/ホスト名)は一致している」ということを、サーバー自身に教え込む必要があります。
これを行うのが /etc/hosts ファイルです。
ステップ1: /etc/hosts ファイルの編集
vi や nano エディタでファイルを開きます。
sudo vi /etc/hosts
ステップ2:IPアドレスとFQDN、ホスト名の追記
ファイルには既に 127.0.0.1 localhost などの記述があります。これらの下に、サーバーのグローバルIPアドレス(またはローカルIP)と、先ほど設定したFQDN、ホスト名を追記します。
(例:IPアドレスが 123.45.67.89 の場合)
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
123.45.67.89 dify-dev.example.com dify-dev
- IPアドレス:
123.45.67.89 - FQDN:
dify-dev.example.com(最初に書く) - ホスト名 (エイリアス):
dify-dev(空白で区切って追記)
これにより、サーバーは dify-dev.example.com という名前が自分自身(123.45.67.89)を指していることを明確に認識できます。
この設定はOSの再起動不要で、ファイルを保存した時点で即座に反映されます。
まとめ
サーバーのホスト名とFQDNの設定は、人間が管理しやすくするためだけでなく、多くのネットワークサービス(特にSSL証明書の発行やメール送信)において「信頼できるサーバーである」と証明するための大前提となります。
hostnamectl set-hostname [FQDN]で名前を宣言する。/etc/hostsで [IPアドレス] と [FQDN] を紐付ける。
この2つの設定は、Dify環境構築の初期段階で必ず完了させておきましょう。


コメント