準備
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 操作
- 新規 ボタンを押下する。
- hogehoge と入力して, 編集 ボタンを押下する。
- プレビュー ボタンを押下する。
- ページの更新 ボタンを押下する。
- 編集 ボタンを押下する。
- -- 雛形とするページ -- から SandBox を選択し, 読込 ボタンを押下する。
- ページの更新 ボタンを押下する。
- 編集 ボタンを押下する。
- 内容を全て削除して ページの更新 ボタンを押下する。
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 };
どっとはらい。