Apache 2 で SuexecUserGroup ディレクティブを使うとエラーが発生する問題

問題

Apache 2 の設定ファイルに SuexecUserGroup ディレクティブを使用するように記述し、Apache を再起動すると次のようなエラーメッセージが表示されるというもの。

username@hostname:~$ sudo service apache2 restart
* Restarting web server apache2
Syntax error on line 6 of /etc/apache2/sites-enabled/000-default:
Invalid command 'SuexecUserGroup', perhaps misspelled or defined by a module not included in the server configuration
[fail]

実行環境は以下の通りです。

  • OS : Ubuntu 10.04 (Lucid Lynx), 64-bit, Desktop 版
  • Apache : Apache 2.2, Ubuntu の apt-get にて apache2 パッケージを選択してインストール

解決方法

このエラーが発生するのは、Ubuntu の apt-get で apache2 パッケージをインストールしただけでは suexec モジュールがインストールされないためです。 よって、suexec モジュールをインストールする必要があります。 suexec モジュールは apache2-suexec パッケージで提供されています。

$ sudo apt-get install apache2-suexec

suexec モジュールをインストールした後、suexec モジュールを有効にします。 モジュールの有効化や無効化に関しては ubuntu(Debian系Linux)のApache2.2の設定管理 を参照してください。

$ sudo a2enmod suexec

最後に Apache を再起動します。

$ sudo service apache2 restart

これで SuexecUserGroup ディレクトリが使えるようになります。