2010年2月28日日曜日

PukiWikiのインストール

pukiwikiはPHPで出来ているため、PHPをインストールする必要があります。

■PHPのインストール
PHPをインストールするためには、Flexとlibxml2 が必要です。
まずはこれらをインストールしてしまいましょう!
$ yum -y install flex libxml2-devel


PHPの最新版を取得し、インストールして行きます。
$ cd /opt/local/src/
$ wget http://www.php.net/get/php-5.3.1.tar.gz/from/jp.php.net/mirror
$ tar zxvf php-5.3.1.tar.gz
$ cd php-5.3.1
$ ./configure --prefix=/opt/local/php --enable-mbstring --with-apxs2=/opt/local/apache/bin/apxs
$ make
$ make install


Apacheのhttpd.confに下記設定が追加されていることを確認する。追加されていなかったら追加してください。
LoadModule php5_module modules/libphp5.so


index.phpをDirectoryIndexに登録します。
すでにindex.htmlという記述があるので、その後に"index.php"を追記してください
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>


続いて、*.php,*.phtmlをPHPファイルとして認識させるために
"IfModule mime_module"内に下記記述を追記してください
<IfModule mime_module>
・・・・
AddType application/x-httpd-php .php .phtml
</IfModule>


これで、PHPの設定が終わったのでApacheの設定ファイルのテストをしてみましょう!
$ ./bin/apachectl configtest
httpd: Syntax error on line 100 of /opt/local/apache/conf/httpd.conf: Cannot load /opt/local/apache/modules/libphp5.so into server: /opt/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

きっと、このようなエラーメッセージがでるはずです。
(でなければ、インストールが終わっているので飛ばしてください)
このエラーはSELinuxが邪魔をしているのため出ています。
特にSELinuxは使わないのであれば、下記設定を行い再起動すれば解決できます。
$ vi /etc/sysconfig/selinux
SELINUX=enforcing

SELINUX=disabled
$ reboot


サーバが起動したらApacheを起動しましょう!
$ cd /opt/local/apache
$ ./bin/apachectl configtest
Syntax OK
$ ./bin/apachectl start


■pukiwikiのインストール
pukiwikiホームページよりutf-8バージョンの最新をダウンロード。
$ cd /opt/local/apache/htdocs
$ wget "http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fpukiwiki%2F12957%2Fpukiwiki-1.4.7_notb_utf8.zip"
$ unzip pukiwiki-1.4.7_notb_utf8.zip
$ mv pukiwiki-1.4.7_notb_utf8 wiki

これで下記URLにてpukiwikiのページが表示されるはずです。
http://192.168.1.xx/wiki/

もし表示できなかった場合は、pukiwiki関連のファイル、ディレクトリのパーミッションを正しく設定してください。

pukiwikiの詳しい設定は
pukiwikiのインストール手順ページで確認してください

■Basic認証
pukiwikiを公開すると、誰でも編集できてしまいます。
pukiwikiの認証を使ってもいいのですが、今回はApacheのBasic認証を使用してみましょう!
$ mkdir -p /opt/local/apache/conf/basic/
$ cd /opt/local/apache/bin
// ./htpasswd -c パスワードファイル 認証ID
$ ./htpasswd -c /opt/local/apache/conf/basic/wiki_auth aa
New password:
Re-type new password:
Adding password for user aa

これで認証用の設定ファイルの作成が完了しました!

では、Apacheの設定をします!
下記記述をApacheのhttpd.confの一番最後にでも追加してください。
<Directory "/opt/local/apache/htdocs/wiki">
AuthType Basic
AuthName "aa"
AuthUserFile /opt/local/apache/conf/basic/wiki_auth
Require user aa
</Directory>


追記したら、Apacheを再起動しましょう!
$ ./apachectl configtest
Syntax OK
$ ./apachectl restart


それでは、wikiのページにアクセスしてみてください!
きっと、認証を求められるハズです!

0 件のコメント:

コメントを投稿