1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS の EC2 上で動作する Moodle の SELinux を有効にする(その2)

Last updated at Posted at 2020-08-26

今回は、nfs ではなくて、同じサーバに moodledata を置いてみました。
SELinux を有効にして再起動すると、以下のようなよく見るエラーになりました。

Fatal error: $CFG->dataroot is not writable, admin has to fix directory permissions! Exiting.

前回 AWS の EC2 上で動作する Moodle の SELinux を有効にする でやったことのうち、file context は手動で設定することをまずはやってみる。
semanage コマンドがインストールされていなくても、以下のようにすればOK

ここで、$CFG->dataroot は、/var/www/html/moodledata であるとする。

# vim /etc/selinux/targeted/contexts/files/file_contexts.local

/var/www/html/moodle(/.*)?   system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/moodledata(/.*)?   system_u:object_r:httpd_sys_rw_content_t:s0

# restorecon -R -v /var/www/html

moodle ディレクトリも設定しているのは、プラグインをインストールできなくなるため。

なお、これは、semanage コマンドで以下を実行したのと同じである。semanage がこのファイルに記述するため。なお、semanage が使える状況では、ファイルを直接編集すると、消されてしまうので注意。
要すれば、手動で上記ファイルを編集するのはダメです。
つねに、semanage コマンドを使いましょう。
semanage コマンドのインストール方法とともに、正しいラベルの張り替え方を教えます。

# yum -y install policycoreutils-python
# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/moodle(/.*)?"
# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/moodledata(/.*)?
# restorecon -R -v /var/www/html

これもやっておく必要がある。

# setsebool -P httpd_can_network_connect 1

ページが表示された。

もし、sshd のポートを 2222 で運用しているのなら、以下をやる必要がある。

#  semanage port -a -t ssh_port_t -p tcp 2222

Apache からメールを送らせるのなら、これも必要。

# setsebool -P httpd_can_sendmail 1

(参考)
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-selinux_contexts_labeling_files-persistent_changes_semanage_fcontext

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?