LoginSignup
0
1

More than 5 years have passed since last update.

SELinux が有効な CentOS 6 で PukiWiki

Posted at

準備

FrontPage - PukiWiki-official
https://pukiwiki.osdn.jp/
- pukiwiki-1.5.1_utf8.zip をダウンロードし, ホームディレクトリに転送しておく。

パッケージインストール

$ sudo yum install httpd php unzip policycoreutils-python

PukiWiki 設置

$ cd /var/www/cgi-bin; pwd
$ sudo unzip ~/pukiwiki-1.5.1_utf8.zip
$ sudo mv -iv pukiwiki-1.5.1_utf8 pukiwiki
$ sudo chown -Rv apache:apache pukiwiki
$ sudo run_init /etc/init.d/httpd condrestart

http://<FQDN>/cgi-bin/pukiwiki/index.php にアクセスしても,
SELinux が効いているため正常に表示されない。

Runtime error
Error message :

Directory is not found or not writable (DATA_DIR)
Directory is not found or not writable (DIFF_DIR)
Directory is not found or not writable (BACKUP_DIR)
Directory is not found or not writable (CACHE_DIR)

SELinux 無効化

$ sudo setenforce 0

PukiWiki 操作

  1. 新規 ボタンを押下する。
  2. hogehoge と入力して, 編集 ボタンを押下する。
  3. プレビュー ボタンを押下する。
  4. ページの更新 ボタンを押下する。
  5. 編集 ボタンを押下する。
  6. -- 雛形とするページ -- から SandBox を選択し, 読込 ボタンを押下する。
  7. ページの更新 ボタンを押下する。
  8. 編集 ボタンを押下する。
  9. 内容を全て削除して ページの更新 ボタンを押下する。

SELinux モジュール作成, インストール

$ cd; pwd
$ sudo audit2allow -a -M pukiwiki
$ sudo semodule -i pukiwiki.pp
$ sudo setenforce 1

これで PukiWiki が一通り操作できる…かもしれない。

ちなみに今回作成されたモジュールは以下の通り。

$ sed -e '/^ *$/d' -e '/^ *#/d' pukiwiki.te
module pukiwiki 1.0;
require {
        type httpd_t;
        type httpd_sys_script_exec_t;
        class dir { write remove_name add_name };
        class file { rename write setattr create unlink append };
}
allow httpd_t httpd_sys_script_exec_t:dir { write remove_name add_name };
allow httpd_t httpd_sys_script_exec_t:file { rename write setattr create unlink append };

どっとはらい。

0
1
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
0
1