SELinux有効下でhttpdから特定のディレクトリへのアクセスを許可する
SELinuxを有効にしていると、httpdがアクセスできるディレクトリに制限がかかる。それを解除するための手順メモ。
まず、semanageコマンドでhttpdからのアクセスを許可するディレクトリを登録する。
# semanage fcontext -a -t httpd_sys_content_t <対象ディレクトリ>
なお、semanageコマンドがインストールされていない場合はpolicycoreutils-pythonパッケージをインストールすればOK。
次に、そのディレクトリに対しrestoreconコマンドを実行してラベルを設定させる。
# restorecon <対象ディレクトリ>
最後にls -Zコマンドで適切にラベルが設定されているかを確認する。例えば下記の例は/foobarをhttpdからアクセス可能にしたもの。
# ls -Zd /foobar drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /foobar
あとは適切にパーミッションを設定すればOK。