■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
$ 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>
DirectoryIndex index.html index.php
</IfModule>
続いて、*.php,*.phtmlをPHPファイルとして認識させるために
"IfModule mime_module"内に下記記述を追記してください
<IfModule mime_module>
・・・・
AddType application/x-httpd-php .php .phtml
</IfModule>
・・・・
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
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
SELINUX=enforcing
↓
SELINUX=disabled
$ reboot
サーバが起動したらApacheを起動しましょう!
$ cd /opt/local/apache
$ ./bin/apachectl configtest
Syntax OK
$ ./bin/apachectl start
$ ./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
$ 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>
AuthType Basic
AuthName "aa"
AuthUserFile /opt/local/apache/conf/basic/wiki_auth
Require user aa
</Directory>
追記したら、Apacheを再起動しましょう!
$ ./apachectl configtest
Syntax OK
$ ./apachectl restart
Syntax OK
$ ./apachectl restart
それでは、wikiのページにアクセスしてみてください!
きっと、認証を求められるハズです!