__________________________________________________________________________ Windows95にAPACHE+PERL+PHP3をインストールした時のメモ __________________________________________________________________________ 2000年9月15日(金) ■Winsock2のインストール まずWindows95でApacheを動かす為にWinsock2をインストールする必要があります。 Winsock2の入手先は、 http://www.microsoft.com/windows95/downloads/ ちなみに英語版しかありません。 これをそのまま日本語版のWindows95にインストールすると良くない事が起ります。 - コンパネ-ネットワーク-TCP/IPのプロパティが英語になり、一部入力が出来なく なる。これははっきり言って困ります。(困りました) - Winipcfg.exeが英語になる。 - Telnet.exeが英語になる。これはどうでもいいかも。 というわけでこうならないように次の手順でインストールしましょう。 1. ダウンロードしたWinsock2のセットアップファイルを実行しインストール。 2. インストール前の各ファイルはC:\Windows\ws2bakup\以下に保存される。 3. その中のmstcp.dllをC:\Windows\System\以下に上書きコピーする。 4. 必要なら、winipcfg.exeとtelnet.exeをC:\Windows\以下に上書きコピーする。 これでTCP/IPのプロパティが日本語で表示され、ちゃんと動作するはずです。 Winsock2をアンインストールする場合は、MS-DOSモードで再起動し、 C:\Windows\ws2bakup\ws2bakup.bat を実行しましょう。自動で元の状態に戻してくれます。 ちなみにWindows98ではインストール不要です。 ■Apacheのインストール Apache for Win32の入手先 http://www.apache.org/dist/binaries/win32/ ダウンロードしたら、ダブルクリックで実行してインストールです。 インストール先は C:\Apache に変更しておくと良いでしょう。 後はデフォルトのままインストールです。簡単。 細かい設定は後ほど説明。 ■PERLのインストール PERL for Win32の入手先 http://www.activestate.com/Products/ActivePerl/Download.html 私はIntel, APi522e.exeを持っていたので、そのまま使いました。 ダブルクリックで実行してインストール。全部デフォルトのままでOKです。 何も手を加えなくてもよいので楽です。 ■PHP3のインストール PHP3 for Win32の入手先 http://www.php.net/download-php3.php PHP4がリリースされてるけど、落ち着くまではPHP3で良いかと思います。 Win32 binary ダウンロードしたらZIPファイルを解凍します。 その中のファイル php3.ini-dist の名前を php3.ini に変更して C:\Windows\ へコピーします。 それ以外のファイルは全部 C:\Apache\cgi-bin\ にでも丸ごと入れておいて下さい。 細かい設定は後ほど説明。 ■Apacheの設定 C:\Apacheにインストールすると、その下にconfというフォルダが出来ているはず です。そのなかのhttpd.confで全体の設定をします。というわけで、 C:\Apache\conf\httpd.conf をエディタで開きましょう。 '#'はコメントなのでその行は無視出来ます。 変更する必要がある部分を以下に列挙します。 サーバネームのコメントを外す --------------------------------------------------------------------- 変更前:#ServerName new.host.name 変更後:ServerName 127.0.0.1 --------------------------------------------------------------------- 適当に名前付けておけば良いでしょう。 これを外しておかないとApacheが起動しないかもしれません。 ファイル名の指定が無い時に表示するファイルの拡張子 --------------------------------------------------------------------- 変更前:DirectoryIndex index.html 変更後:DirectoryIndex index.php3 index.shtml index.html --------------------------------------------------------------------- この順番で探して表示します。自分で適当に決めて下さい。 例えば、URLを http://127.0.0.1/ と指定した時に、index.php3があればそれを、無ければindex.shtmlを、それも無 ければindex.htmlを表示しようとします。 それでも無ければディレクトリ内のファイル一覧を表示します。 (他の設定でファイル一覧を表示しない様にも出来ます。) PHPを使える様にする --------------------------------------------------------------------- 変更前:#AddType application/x-httpd-php3 .phtml #AddType application/x-httpd-php3-source .phps 変更後:AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps Action application/x-httpd-php3 "/cgi-bin/php.exe" --------------------------------------------------------------------- 順番に、 ・PHPに渡すファイルの拡張子を.php3に設定。 ・PHPのソースファイルの拡張子を.phpsに設定。 ・PHPの実行ファイルの場所を指定。さっきC:\Apache\cgi-bin\に突っ込んだので。 SSIを使えるようにする --------------------------------------------------------------------- 変更前:#AddType text/html .shtml #AddHandler server-parsed .shtml 変更後:AddType text/html .shtml AddHandler server-parsed .shtml --------------------------------------------------------------------- コメントを外しただけ。 さらに、 以下で、SSIを許可を追加する。 --------------------------------------------------------------------- 変更前:Options Indexes FollowSymLinks MultiViews 変更後:Options Indexes FollowSymLinks MultiViews Includes --------------------------------------------------------------------- cgi-binディレクトリ以下でもSSIを許可するときは、 以下で、 --------------------------------------------------------------------- 変更前:Options None 変更後:Options Includes --------------------------------------------------------------------- と変更する。 CGI(PERL)を使えるようにする --------------------------------------------------------------------- 変更前:#AddHandler cgi-script .cgi 変更後:AddHandler cgi-script .cgi --------------------------------------------------------------------- コメントを外すだけ。 *.html、*.shtmlファイルは基本的にはC:\Apache\htdocs\以下に置きます。 *.cgiファイルはC:\Apache\cgi-bin\以下に置きます。 それが嫌な人は設定を変えて下さい。 *.php3はどこに置いても良いです。 ユーザーディレクトリを設定する。 http://127.0.0.1/~user/ のようにユーザー毎のディレクトリを設定するときは、 --------------------------------------------------------------------- 変更前:UserDir "C:/Apache/users/" 変更後:UserDir "C:/Apache/users/*/" --------------------------------------------------------------------- C:\Apache\以下にusersというフォルダを自分で作っておきましょう。 C:\Apache\users\以下に各ユーザーようのフォルダを作成します。 たとえば、tomoというユーザーなら C:\Apache\users\tomo\index.html は、ブラウザでは、 http://127.0.0.1/~tomo/index.html とアクセスします。 その他、いろいろ設定できるので、調べてやってみてください。 ■PHP3の設定 C:\Windows\php3.ini で設定します。エディタで開いて下さい。';'がコメントです。 変更部分は、 130行目 --------------------------------------------------------------------- 変更前:error_reporting = 7 変更後:error_reporting = 8 --------------------------------------------------------------------- 自分がPHPファイルを置くサーバに設定を合わせておきましょう。 そうしないと、 「自宅ではエラーが出ないのにサーバにアップするとエラーメッセージが出る」 という状況になります。millto clubではエラーレポートレベルは8です。 133行目 --------------------------------------------------------------------- 変更前:log_errors = Off 変更後:log_errors = On --------------------------------------------------------------------- エラーをログファイルに記録するようにします。 141行目 --------------------------------------------------------------------- 変更前:error_log = filename 変更後:error_log = C:\Apache\logs\php3.log --------------------------------------------------------------------- エラーログを記録するファイルを指定します。 C:\Apache\logs\にphp3.logという空のファイルを置いておきましょう。 176行目 --------------------------------------------------------------------- 変更前:extension_dir = ./ 変更後:extension_dir = C:\Apache\cgi-bin --------------------------------------------------------------------- 各DLLをロードするときのパスを指定します。 何もロードしなければ指定しなくても良いでしょう。 ロードする場合は「Dynamic Extensions」のコメントを必要なだけ外して下さい。 デフォルトのままでも動作すると思います。 適当に自分で設定して下さい。 ■動作確認 Apacheはスタートメニューに起動用のショートカットが登録されているので そこから起動します。ウィンドウが開いて Apache/1.3.12 (Win32) running... と出れば起動成功です。 すぐにウィンドウが閉じる時は何かしらエラーが出て起動できていません。 その時は、MS-DOSプロンプトを開いて、手動で起動してみましょう。 --------------------------------------------------------------------- C:\WINDOWS>cd c:\apache C:\Apache>apache APACHE.EXE: cannot determine local host name. Use the ServerName directive to set it manually. --------------------------------------------------------------------- このようにエラー内容が出ます。もう一度httpd.confを見直して下さい。 上の例はServerNameのコメントを外さなかったのでエラーになった例です。 ちなみにApacheを終了するときは、このウィンドウをアクティブにしてCtrl-C を入力します。 さてそれぞれ動作確認しましょう。 まずはApacheから、 C:\Apache\htdocs\ にtest.htmlというファイルを作りましょう。 中身は、 --------------------------------------------------------------------- Hello HTML! --------------------------------------------------------------------- とだけ書いておけば良いでしょう。 ブラウザを立ち上げて、URLに http://127.0.0.1/test.html と指定します。 書いた内容が表示されれば成功です。 次はPHPの確認。 C:\Apache\htdocs\ にtest.php3というファイルを作りましょう。 中身は、 --------------------------------------------------------------------- --------------------------------------------------------------------- とでも書きましょう。 http://127.0.0.1/test.php3 で見れれば成功です。 次はCGI。 C:\Apache\htdocs\cgi-bin\ にtest.cgiというファイルを置きましょう。 中身は --------------------------------------------------------------------- #!perl print "Content-type: text/html\n\n"; print "Hello PERL!"; --------------------------------------------------------------------- で良いでしょう。 http://127.0.0.1/cgi-bin/test.cgi で見れれば成功です。 これで一応Windows95でCGI、PHPの動作するようになりました。 と言っても所詮Windows95です。本物のサーバにしか出来ない事はいっぱいあります。 でも、ちょっとしたスクリプトの動作確認はローカルでやってしまえば良いのです。 確認もせずにサーバにアップしてエラーを吐き続けながらループさせたりしたら、 サーバがかわいそうです。 後は調べつつ設定して行けば良いと思います。 以上