Apache:エラーと対応方法

とりあえず、エラーログを確認すること。全てはそれから。

ドキュメントルートへのアクセスがforbiddenになるとき

こんなエラーのとき
Directory index forbidden by Options directive: /var/www/html/
→Option Indexesが設定されていないため、/でindex.html等にアクセスできていない。

Permission deniedのエラーが出るとき

こんなエラーのとき
(13)Permission denied: access to / denied
ディレクトリのパーミッションを確認する
ユーザディレクトリにドキュメントルートを置いたときはユーザディレクトリも実行可能でないといけない。
 chmod +x /home/ユーザ

seLinuxの設定が怪しいとき

seLinuxが原因かどうかは一時的にseLinuxを切ってみれば解る。
/etc/selinux/configを変更する。
/etc/selinux/config
 SELINUX=disabled
設定後はサーバ再起動が必要
 # reboot

php:Windows環境でphp.exe+apache+MySQLの環境を作る

php


php.netからバイナリをダウンロードする。
インストーラでもいいけど、とりあえずzipにしとく。

解凍したらフォルダごと適当なところに移動する。(以降、仮にC:\php-5.2.6-Win32に置いたと仮定して読んでください。)
フォルダの中にあるphp.ini-recommendedをコピーしてphp.iniに名前を変える

apache

apache.orgから現在の最新版Apache2.2のWindows用インストーラをダウンロード&実行する。
オプションは適当に選ぶ。

httpd.confに設定を追加する。
標準のパスでインストールしたなら、C:\Program Files\Apache Software Foundation\Apache2.2\conf\に設定ファイルhttpd.confがある。
以下の設定を追記する。
LoadModule php5_module "C:\php-5.2.6-Win32\php5apache2_2.dll"
PHPIniDir "C:\php-5.2.6-Win32"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
linux環境の”httpd configtest”に変わるコマンドは
httpd.exe -t
このコマンドを実行して”Syntax OK”が表示されることを確認する。
OKならapacheを再起動する。
httpd.exe -k restart

公開ディレクトリにtest用のphpファイルを置いて、phpが実行されていればOKです。


XdebugをWindows環境で使うには
http://pecl4win.php.net/ext.php/php_xdebug.dll
からphp_xdebug.dllをダウンロードしてエクステンションDirに保存する。

エクステンションとPEARを使う&開発環境用にphp.iniを編集する

php.ini
#pearディレクトリをinlude_pathに入れる
include_path = ".:C:\php-5.2.6-Win32\pear"

#開発用にdisplay_errorsをOnにする
display_errors = On

#extension_dirを設定する
extension_dir = "C:\php-5.2.6-Win32\ext"

#エラーログを出力する
error_log = php_error.log

拡張を有効にする。php_xdebug.dllも追記する。
extension=php_mbstring.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll

PEARを使えるようにする

1.go-pear.batを実行して適当に進める。
2.PEAR_ENV.regをダブルクリックしてレジストリに登録する。
3.環境変数pathにpear.batがあるディレクトリを追加する。
4.コマンドプロンプトで “pear list”コマンドが通ればOK。
5.プロクシ環境ならpear configにプロクシ設定を行う。
pear config-set http_proxy プロクシサーバ名:ポート番号

MySQL

mysql.comからMySQL Community ServerのWindouws用Setup.exeをダウンロードします。
ウィザードに従ってインストールします。
インストールが終わるとそのまま設定ウィザードに続くので適当に。

携帯サイト:mod_ktaiをインストール

Apacheの携帯サイト変換モジュール、mod_ktaiをインストールしました。

boostが無かったのでインストール

yum install boost

mod_ktaiをインストール
cd /usr/local/src/
wget http://labs.yumemi.co.jp/labs/mod/rpm/mod_ktai_info-0.9.0-1.el5.yumemi.i386.rpm
rpm -ivh mod_ktai_info-0.9.0-1.el5.yumemi.i386.rpm
wget http://labs.yumemi.co.jp/labs/mod/rpm/mod_ktai_emoji-0.9.0-1.el5.yumemi.i386.rpm
rpm -ivh mod_ktai_emoji-0.9.0-1.el5.yumemi.i386.rpm
ktai_info.confの3行目以下のコメントをはずす。
/etc/httpd/conf.d/ktai_info.conf
# ktai_info.conf LoadModule
ktai_info_module modules/mod_ktai_info.so
KtaiInfoLoadDeviceConfigFile /etc/httpd/ktai/ktai_model.tsv
ktai_emoji.confの3行目以下のコメントをはずす。
/etc/httpd/conf.d/ktai_emoji.conf
# ktai_emoji.conf
LoadModule ktai_emoji_module modules/mod_ktai_emoji.so
AddOutputFilterByType KTAI_EMOJI_OUTPUT_FILTER text/html
KtaiEmojiConvertMode auto
KtaiEmojiConvertNativeEmojiDocomo 1
KtaiEmojiEnableAddGuidOn 1

apacheの設定ファイルにIncludeを記述する
/etc/httpd/conf/httpd.conf
Include /etc/httpd/conf.d/ktai_info.conf
Include /etc/httpd/conf.d/ktai_emoji.conf
apacheを再起動して終わり。
/etc/init.d/httpd restart