このドキュメントは、Red Hat Enterprise Linux (RHEL) を使用したサーバー構築手順と、構築中に発生する可能性のある問題に対するトラブルシューティング情報をまとめたものです。

Red Hat の公式ドキュメントを参考に、信頼できる技術系ウェブサイトやブログ記事、Red Hat の公式フォーラムやコミュニティサイトの情報も活用して作成しました。これにより、サーバー構築に必要な情報を網羅的に提供することを目指しています。

1. サーバー構築の準備

RHEL 8.4 サーバーを構築するための準備として、以下の要件を満たしていることを確認してください。  

  • ハードディスク容量: 40 GB 以上
  • メモリ: 4096 MB 以上
  • 仮想化ソフトウェア: VMware Workstation など

2. RHEL のインストール

2.1. 仮想マシンの起動

VMware Workstation などの仮想化ソフトウェアを使用して、RHEL 8.4 のインストールメディアから仮想マシンを起動します。

2.2. インストール設定

RHEL のインストーラーが起動したら、以下の項目を設定します。

  • 日付と時刻: 正しい日付と時刻を設定します。
  • インストールの種類: サーバーの用途に合わせて、適切なインストールの種類を選択します。
  • インストール先: サーバーをインストールするディスクを選択します。
  • ネットワークとホスト名: サーバーのホスト名とネットワーク設定を行います。
    • ホスト名: サーバーを識別するための名前を設定します。
    • ネットワーク: 静的IPアドレスまたはDHCPによるIPアドレスの取得を設定します。
  • セキュリティポリシー: セキュリティポリシーを設定します。
  • ユーザー作成: サーバーの管理者ユーザーを作成します。
    • 強力なパスワード: 推測されにくい強力なパスワードを設定します。サーバーのセキュリティを確保するために、強力なパスワードを設定することは非常に重要です。パスワードは、英数字と記号を組み合わせた、一定の長さ以上のものにすることを推奨します。また、定期的にパスワードを変更することもセキュリティ対策として有効です。

2.3. インストールの実行

設定が完了したら、インストールを開始します。インストールが完了するまで待ちます。

3. サーバーの初期設定

RHEL のインストールが完了したら、サーバーを適切に動作させるために、いくつかの初期設定を行う必要があります。

3.1. ネットワーク設定の確認

ip addr show コマンドを使用して、ネットワークインターフェースの設定を確認します。

[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c8:8d:3a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fec8:8d3a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

このコマンドを実行することで、サーバーに割り当てられている IP アドレス、ネットマスク、ゲートウェイなどの情報を確認することができます。

3.2. ファイアウォールの設定

ファイアウォールは、外部からの不正アクセスを防ぐためのセキュリティ対策として重要です。 firewall-cmd コマンドを使用して、ファイアウォールを設定します。

[root@localhost ~]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~]# firewall-cmd --reload
success

上記のコマンドは、HTTP サービスへのアクセスを許可する設定を追加し、ファイアウォールを再読み込みする例です。

3.3. SELinux の設定

SELinux (Security-Enhanced Linux) は、Linux カーネルに組み込まれたセキュリティ機能です。 setenforce コマンドを使用して、SELinux の設定を変更することができます。

[root@localhost ~]# setenforce 0

上記のコマンドは、SELinux を Permissive モードに設定する例です。Permissive モードでは、SELinux のポリシー違反が発生した場合でも、ログに記録されるだけでシステムの動作はブロックされません。

3.4. サービスの起動と確認

サーバーで必要なサービスを起動し、systemctl コマンドを使用して状態を確認します。

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2025-02-11 21:52:12 UTC; 3s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 2572 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 4623)
   Memory: 23.4M
   CGroup: /system.slice/httpd.service
           ├─2572 /usr/sbin/httpd -DFOREGROUND
           ├─2573 /usr/sbin/httpd -DFOREGROUND
           ├─2574 /usr/sbin/httpd -DFOREGROUND
           ├─2575 /usr/sbin/httpd -DFOREGROUND
           └─2576 /usr/sbin/httpd -DFOREGROUND

上記のコマンドは、Apache HTTP サーバーを起動し、その状態を確認する例です。

4. トラブルシューティング

サーバー構築中に発生する可能性のある問題と、その対処法を以下に示します。

4.1. ネットワーク接続の問題

  • エラーメッセージ: ping: www.example.com: Name or service not known
  • 対処法:
    • DNS サーバーの設定を確認します。/etc/resolv.conf ファイルに、正しい DNS サーバーの IP アドレスが設定されていることを確認します。
    • ネットワークケーブルの接続を確認します。
    • ネットワークインターフェースの設定を確認します。ip addr show コマンドで、IP アドレス、ネットマスク、ゲートウェイが正しく設定されていることを確認します。

4.2. パッケージインストールの問題

  • エラーメッセージ: Error: Unable to find a match
  • 対処法:
    • パッケージ名が正しいことを確認します。
    • リポジトリが有効になっていることを確認します。subscription-manager コマンドを使用して、リポジトリの状態を確認します。
    • yum clean all コマンドを実行して、yum キャッシュをクリアします。

4.3. サービス起動の問題

  • エラーメッセージ: Failed to start httpd.service: Unit not found.
  • 対処法:
    • サービス名が正しいことを確認します。
    • サービスの依存関係を確認します。systemctl list-dependencies httpd.service コマンドで、httpd サービスが依存しているサービスを確認します。
    • サービスの設定ファイルを確認します。/etc/httpd/conf/httpd.conf ファイルに、エラーがないか確認します。

4.4. よくあるエラーメッセージ

エラーメッセージ対処法
command not foundコマンド名が正しいことを確認します。パスが通っているか確認します。
permission deniedファイルまたはディレクトリのパーミッションを確認します。chmod コマンドを使用して、パーミッションを変更します。
connection refusedサービスが起動しているか確認します。ファイアウォールでポートがブロックされていないか確認します。

Google スプレッドシートにエクスポート

5. サーバーの動作確認

サーバー構築が完了したら、以下の手順でサーバーの動作確認を行います。  

  • Web サーバー: Web ブラウザでサーバーの IP アドレスまたはホスト名にアクセスし、Web ページが表示されることを確認します。
  • SSH 接続: SSH クライアントを使用して、サーバーに SSH 接続できることを確認します。
  • アプリケーションの動作確認: インストールしたアプリケーションが正常に動作することを確認します。
  • ユーザー Kacy-Infra-Minzoku による検証: ユーザー Kacy-Infra-Minzoku がサーバーの動作確認を実施しました。

6. まとめ

このドキュメントでは、RHEL を使用したサーバー構築手順と、構築中に発生する可能性のある問題に対するトラブルシューティング情報をまとめました。サーバー構築は、OS のインストール、ネットワーク設定、セキュリティ設定、サービスの起動など、多くの手順を踏む必要があり、それぞれの段階で注意すべき点があります。

このガイドでは、RHEL 8.4 を使用した基本的なサーバー構築手順を紹介しましたが、サーバーの用途や環境によって、必要な設定や手順は異なります。より詳細な情報や具体的な設定方法については、Red Hat の公式ドキュメントや、Red Hat フォーラム、コミュニティサイトなどを参照してください。

サーバー構築を成功させるためには、事前の計画、正確な設定、そして問題発生時の適切なトラブルシューティングが重要です。このドキュメントが、RHEL サーバー構築の参考資料として、読者の皆様のお役に立てれば幸いです。