2.5. root 権限なしでコマンドラインから Apache HTTP Server を実行

RHEL 上のアーカイブファイルから JBCS Apache HTTP サーバーをインストールする場合、root 権限のないユーザーとしてコマンドラインから Apache HTTP サーバーを起動できます。この場合、apache ユーザーなどの非 root ユーザーアカウントを使用できます。

手順

  1. Apache HTTP Server のすべてのインスタンスを停止します。

    pkill httpd
  2. HTTPD_HOME/conf/httpd.conf ファイルで、http リッスンポートを 1024 より大きい値に設定します。

    Listen 2080
    ServerName <hostname>:2080
  3. HTTPD_HOME/conf.d/ssl.conf ファイルで、https リッスンポートを 1024 より大きい値に設定します。

    Listen 2443
  4. logs ディレクトリーの所有権を変更します。

    chown -R apache:apache HTTPD_HOME/logs/
  5. run ディレクトリーの所有権を変更します。

    chown -R apache:apache HTTPD_HOME/var/run/
  6. httpd が、root ユーザーと apache ユーザーではなく、apache ユーザーでのみ実行されていることを確認します。

    $ ps -eo euser,egroup,comm | grep httpd

    このコマンドは、次のタイプの出力を生成します。

    apache   apache   httpd
    apache   apache   httpd
    apache   apache   httpd
    ...
    重要

    apache ユーザーのファイルパーミッションを制限し、SELinux を有効化します。これにより、以下のようなシナリオを防ぐことができます。

    • Web サイト利用者によるファイルやディレクトリーへの不正アクセスや改変
    • Apache HTTP Server 設定ファイルへの不要な変更