Mediawikiを使ってみた感想
正直なめてました。 使ってみましたが便利です。 これ。
Mediawikiって何?
いや、知っているでしょ、君。 この単語を検索サイトに入力したんだから。
え? たまたま渡り歩いてきただけ?
嘘だよね?
だってここロボット検索からはじかれる設定になっていると思うよ?
「Mediawiki」とは、Wikipediaで利用されているwikiソフトウェアです。 phpで動いています。
Mediawikiのインストールメモ
0. 対象読者
myself(他者が読むことを想定しない)
1. 動作確認を行った環境
- FreeBSD 9.0-RELEASE
- mediawiki-1.18.0
- mysql-server-5.5.17
- mysql-client-5.5.17
- php5-5.3.8
- php-extentions (ctype, iconv, mbstring, session, xml, zlib, readline, dom, mysql)
2. インストール手順
- mysql-server-5.5.17
- php5-5.3.8
- php-extentions (ctype, iconv, mbstring, session, xml, zlib, readline, dom, mysql)
- mediawiki-1.18.0
wikiで編集したページ、アップロードしたファイルは、データベースに保存される。 編集履歴もデータベースに記録される。
それらを管理するためにMySQL を使っている。
ports でインストールする。(ports/database)
ウェブページを記述するコンピュータ言語。 コンピュータ言語(C、VB、C#他)と同様なので、半端な使うと悪用される。
実用上CGI 以外の目的でPHP を利用している話は、読んだことも、観たことも、聞いたこともない。
ports でインストールする。(ports/lang)
PHP の拡張機能セット。 C 風に言えばライブラリ
ports でインストールする。(ports/lang)
目的のWikiソフトウェア。 公式サイトの日本語文書を参照すること。 リンクは貼らない。
ports でインストールする。(ports/www)
3. 環境設定手順
最低限、設定変更する必要がある箇所を箇条書きする。 具体的な編集箇所は割愛する。
- FreeBSD
- rc.confでMySQLデーモンの起動を許可
- MySQL DBサーバを起動
- MySQL
- Wikiの記憶領域(データベースファイル)を作成
- Wikiの記憶領域へアクセスするユーザを作成
- DBのrootユーザのパスワードを設定
- php
- php.iniのregister_globals、allow_url_fopenをOff
- その他、最新のPHP に対するセキュリティ勧告を公式ページを参照して検討の上で適用
- apache
- PHP の利用を許可(LoadModule php5_module + AddType + PHPIniDir)
- ウェブへ公開するディレクトリを登録(http://hogehoge/mediawiki/)
- 上記ディレクトリに対するアクセス権を設定
- 画像ディレクトリに対するアクセス権を設定(Mediawikiのアップロードに関するセキュリティ勧告を参照)
- Mediawiki
- ブラウザからコンフィグレーションスクリプトを実行
- スクリプトのナビゲーションに従って設定
- 設定が完了したらLocalSettings.phpをダウンロード
- index.phpと同じディレクトリに上記ファイルを設置
- 上記の設定ファイルに対してオーナとアクセス権を設定(apache, 600)
- Wiki上
- トップページ左上の画像を変更(mediawiki/skins/common/images/wiki.png)
以上で大まかな設定が完了。 リソースを測定しながら稼働させ、時々ログを監視しながら、必要な設定を調整する。
4. 幾つかのメモ
- PHP は、スクリプトなので、動的に設定が適用される
- PHP は、CGI なので、Apache の設定と動作状況に影響を受ける
- Mediawikiは、PHP なので、PHP の設定に影響を受ける
- Mediawikiは、MySQL を記憶領域として使うので、その設定と稼働状況に影響を受ける
- PHP は、スクリプトであり、コンピュータ言語であり、CGI なので、ネットワーク上のセキュリティリスクが強いので大嫌い