Apache・phpのインストール

Apache (アパッチ)は、お使いのパソコンにWEBサーバとしての機能を付加するためのソフトです。

php(ピーエッチピー)は小規模なWEB アプリケーション開発に適したプログラム言語です。phpで開発したアプリケーション(プログラム)は、WEBサーバ環境でテストする必要があります。

ともにオープンソフト(無償で誰でもが利用できる)ですので、利用に際しての契約や手続き等は不要です。

通常、Apachとphpは、そのれぞ単体でインストールしますが、その後の設定など、初めての方には少々難しい部分がありますので、本サイトでは、一括インストールができるxampp(ザンプ)を利用します。

xamppを利用したApache・phpのインストール

1 xampp日本語サイトを開きます。

右上の言語を日本語にしてください。(の部分)

2 [Windows向けXAMPP]をクリックします。

デスクトップに保存してください。

ダウンロードが完了するまでお待ちください。

3 デスクトップのをダブルクリックしてください。

4 アカウント制御のダイアログが表示されますので、「はい」をクリック

5 Questionダイアログが表示されます。ウィルス対策ソフトを一時的に停止して、[YES]をクリックしてください。

5 Warningが表示されます。

インストール場所をC:\Program Files(x86)を避けるようにとの注意です。

4 インストールが始まります [Next>]をクリック

5 インストールするコンポーネントの選択 そのまま[Next>]をクリック

6 インストールフォルダの指定 C:\Program Files(x86)以外を指定

7 [Next>]をクリック BitNami 画面になります。

Learn more ・・・・ のチェックボックスをオフにして、[Next>]をクリック

8 セットアップ準備の最終画面です。 [Next>]をクリック

9 インストールが始まります。(少々時間がかかります)

10 インストールが完了しました。チェックボックスをオフにして[Finish]をクリック

Apache・phpの確認

1 アプリ(すべてのプログラム) →  をクリックしてください。

2 言語の確認後、XAMPPのコントロールパネルが表示されます。

Modulesについて
 Apache・・・WEBサーバを構成するためのモジュールです。
 MySql・・・データベースMySqlを構成するためのモジュールです。
 FileZilla・・・ファイル転送のためのモジュールです。
 Mercury・・・メールサーバをセットアップし機能させるためのモジュールです。
 Tomcat・・・Javaサーブレットを実行するためのエンジン
本サイトでは、Apacheのみ利用します。

コントロールパネルを起動すると、エラーになるケースがあります。

Port 80 や Port 443 が "in use" のメッセージの場合には、
           XAMPP Port 80 をご覧ください。

3 Apacheの起動と機能確認  

Apacheの横にある「Start」 → Adminをクリック

Windows セキュリティの重要な警告が表示されたら、アクセスを許可するをクリック

「Start」をクリックすると、次のエラーになる場合があります。

XAMPPを管理者として実行してください。
           管理者として実行を設定

Adminが表示されます。


続いて、PHPInfo タブををクリック

インストールされたphpの情報が表示されます。

これで、Apacheとphpは、正常にインストールされました。

XAMPPのコントロールパネルを閉じる
XAMPPを終了する場合には、スタートしているモジュールをすべてストップしてから、[Quit]をクリックして下さい。(ウィンドウの×は使用しないように)
管理者権限で実行していないと、[Quit] でエラーになる場合があります。

Apache・phpの設定変更

インストールしたApacheとphpは世界標準になっていますので、

日本語環境に合わせる
使用する言語とそのコード(本サイトではUTF-8を利用します)など
開発環境を指定する
開発するプログラムがあるフォルダの指定
データベースをして利用するSQLiteの指定など

ためにそれぞれの初期設定をEMエディタを利用して変更をします。

Windowsのアクセサリー メモ帳で編集するとトラブルの可能性がありますので利用しないようにしてください。

EMエディタのインストール

EMエディタdownload → ダウンロード → デスクトップに保存 → 保存したファイルをダブルクリック → 標準手順でインストール

  EMエディタの詳しい使い方は、EMエディタヘルプ をご覧ください。

Apacheの設定

Apacheで利用するエディターの設定

XAMPPのコントロールパネル[config] →

 

→ Editor をクリックして、sakura.exeを指定

開発環境を設定

開発するプログラムや使用する画像ファイル等(コンテンツ)を配置する場所は、既定では、xamppにあるフォルダhtdocsです。

このままでは開発環境が不自由ですので、環境に適したフォルダを追加指定します。

コンテンツを配置するフォルダ

本サイトでは、Dドライブにあるマイドキュメント内にフォルダHomepageを作り、ここにコンテンツを配置するように設定します。(Aliasを指定して、htdocs以外のフォルダも利用できるように設定)

コントロールパネルでapacheがスタートしていないことを確認([start]になっている) → Apache横の[config] → Apache(httpd.conf)

httpd.confファイルが開きますので、最後に以下のコードを追加してください。

Alias /Homepage/ "D:/xxxxx/Documents/Homepage/"
<Directory "D:/xxxxx/Documents/Homepage">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

D:/xxxxx/Documents/Homepage/ は、コンテンツを置くフォルダです。使用環境に合わせて、絶対パスで指定してください。

httpd.confは、XAMPP/apache/confにあります。

Alias設定の確認

マイドキュメントにフォルダHomepageを作る → EMエディタで以下のファイルを作り、ファイル名 phpinfo.phpで保存

<?php
phpinfo();
?>

xamppのコントロールパネルから[start] → ブラウザを起動 → URI http://localhost/Homepage/phpinfo.php → 以下の画面が表示されたらAliasの設定は完了しました。

httpd.confを修正した場合には、XAMPPを再スタート(コントロールパネルで[stop] → [start])してから、ブラウザを起動してください。

xampp(Apache)が起動していないと、表示されません。

この画面になったら、xamppの起動を確認してください。

phpの設定

コントロールパネルでapacheがスタートしていないことを確認([start]になっている) → [config] → PHP(php.ini)

pho.iniファイルが開きます。このファイルで、phpの稼働環境を設定しています。

全体で2,000行にもなるファイルです。その一部を修正します。修正箇所を行番号で示しています。(以下の行番号は、PHPバージョン5.6.28の例です。 バージョンが違う場合には、EMエディタの検索機能を利用して修正個所を探してください。)

なお、;で始まる行は、コメントです。

EMエディタで行番号を表示
既定では行番号が表示されません。ツールバーの「ツール」 → 「すべての設定のプロパティ」 → 基本タブで行番号を表示にチェックしてください。

タイムゾーンの設定

時刻関数(DATE)で得られる時刻のタイムゾーンを東京に指定します。

「timezone」で検索してください。

2025行目にある行を以下に変更してください。

date.timezone = Europe/Berlin → date.timezone = Asia/Tokyo

日本語の設定

日本語は、mbstring(マルチバイトストリング)で指定します。

以下の記述のある行のコメントを外し(;を削除)、必要な変更をします。

「default_charset」で検索してください。

679行目 デフォルトキャラクターセットをUTF-8になっていることを確認してください。

;default_charset = "UTF-8"  → default_charset = "UTF-8"

「mbstring」で検索してください。

1752行目 日本語(漢字)の有効化

;mbstring.language = Japanese → mbstring.language = Japanese

1759行目 日本語コードをUTF-8に指定

;mbstring.internal_encoding =

 → mbstring.internal_encoding = UTF-8

1767行目 httpインプット時にコード変換しないように指定

;mbstring.http_input =  → mbstring.http_input = pass

1777行目 httpアウトプット時にコード変換しないように指定

;mbstring.http_output =  → mbstring.http_output = pass

1785行目 コード変換を無効に指定・・・offのまま

;mbstring.encoding_translation = Off → mbstring.encoding_translation = Off

1790行目 文字コードの判別順序・・・UTF-8を最初に指定

;mbstring.detect_order = auto → mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

1795行目 コード変換ができなかった場合の設定・・・noneのまま

;mbstring.substitute_character = none; → mbstring.substitute_character = none;

1806行目 PHP内のマルチバイト関数の指定・・・0のまま

;mbstring.func_overload = 0 → mbstring.func_overload = 0

1810行目 文字コード判別を厳密に行うか否かの指定・・・Offに

;mbstring.strict_detection = On → mbstring.strict_detection = Off

PHPのマルチバイト環境の設定により、文字化けが発生します。
     参考になるサイト 問題のまとめ

マジッククオートの確認

入力フォームから「”」や「’」を入力した場合に、安全のため、自動的に変換(エスケープ処理と呼ばれる)され、\になる機能です。最新のPHPでは、この機能は認めていませんので、Offにしておきます。

エスケープ処理は、アプリケーションで行います。

「magic_quotes」で検索してください。

940行目から magic_quotesの設定が3つありますので、Offになっていることを確認しいてください。

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

なお、レンタルサーバでは、onになっている可能性があります。この場合には、設定変更が必要です。

phpのショートオープンタグを無効に

既定では、スクリプトの<? と ?>で囲まれた部分をphp記述とみなします。このままでは、xhtmlの宣言 <?xml version="1.0" encoding="UTF-8"?> もphpとみなしますので、エラーになります。(<?を開始タグとみなします。・・・ショートオープンタグ)

この設定をOff にすると、<?PHPのみを開始タグとみなすようになります。

「short_open_tag」で検索してください。

202行目にshort_open_tag が設定されています。以下を確認して下さい。

; http://php.net/short-open-tag
short_open_tag = Off

エラー情報表示の修正と確認

「error_reporting」で検索してください。

449行目

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT → error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED | E_STRICT

に変更してください。(~はチルダです)

変数の未定義などのエラーではない注意(Noticeレベルなど)については、メッセージを表示しないようにします。

「display_errors」で検索してください。

466行目

display_errors = On

になっていることを確認してください。

Onになっていると、phpでエラーになった場合、そのエラーメッセージを表示します。Offにすると、エラーメッセージが表示されませんので、プログラムのテストには不都合が生じます。

なお、本番環境では、システムのセキュリティ対策上、Offにします。(Onにしておくと、スクリプト名やデータベース名が外部に公開される可能性があります)

レジスターグローバルズの確認

「register_globals」で検索してください。

938行目

register_globals = Off

になっていることを確認してください。

Onになっていると、セキュリティ上問題が発生しますので、必ずOffにしてください。


これでApacheとPHPの設定が完了しました。