ローカルサーバー構築 ( Apache, Perl, PHP, MySQL )

2009/11/01

いつもは XAMPP で一気に入れていましたが、今回は別々に入れてみました。入れたのは、Apache, Perl, PHP, MySQL, phpMyAdmin です。

※公開用サーバーをたてることが目的ではなく、開発用・テスト用環境の構築が目的です。

Strawberry Perl のインストール

Strawberry Perl for Windows
gcc (MinGW) や dmake 同梱の Windows 用 Perl 環境。CPAN から Perl モジュールを簡単にインストールできる。最新版の Perl 5.10.x をインストール。
勝手に path も通してくれます。

CPAN モジュールのインストール

Strawberry Perl を入れた後、コマンドラインから

> cpan -i モジュール名

で CAPN モジュールをインストールできる。

たとえば、

> cpan -i Bundle::CPAN

とか。

Bundle::CPAN
cpan コマンドを新しくする
App::Ack
ack コマンドが使えるようになる

perl のハードリンクを作る

XP ではシンボリックリンクが作れないようなので、ハードリンクを作る。

> mkdir c:\usr
> mkdir c:\usr\bin
> fsutil hardlink create c:\usr\bin\perl.exe c:\strawberry\perl\bin\perl.exe

Vista ならば、mklink が使えるので最後の 1 行は

> mklink c:\usr\bin\perl.exe c:\strawberry\perl\bin\perl.exe

として、ハードリンクではなくシンボリックリンクにする。

ちゃんと作成できれば、

c:\usr\bin\perl.exe <<===>> c:\strawberry\perl\bin\perl.exe のハードリンクが作成されました

とでる。

参考:ジャンクション機能を使ってフォルダをマウントする - @IT

PHP のインストール

PHP: Downloads
Windows Binaries のところにある、PHP 5.x.x zip package をダウンロード。

  1. zip を解答したら、フォルダを php にリネームして c:\ におく。
  2. C:\php 内の php5ts.dll と、libmysql.dll と、libmcrypt.dll を C:\WINDOWS\system32 内にコピー。
  3. C:\php 内の php.ini-dist を C:\WINDOWS 内にコピーして、php.ini にリネーム。

2011/12/13追記
上記の 2. と 3. は作業をしなくても、きちんと設定すれば大丈夫。

php.ini の編集

PEAR (PHP 標準のクラスライブラリ)を利用する場合

include_path = ".;c:/php/includes;c:/php/pear"

doc_root を指定

doc_root = "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

extension_dir を指定

extension_dir = "c:/php/ext"

( php4 の場合は c:/php/extensions , php5 の場合は c:/php/ext )

使用する DLL を指定
利用する DLL はコメントインすれば OK。

↓このあたりは大体コメントイン毎回する

extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll

↓場合によってコメントイン

extension=php_gd2.dll

phpinfo() を表示させるならば、以下のようにしておく(不要なら Off で)

short_open_tag = On

その他設定
magic_quotes_gpc を設定する。

magic_quotes_gpc = Off

日本語設定 for UTF-8

mbstring.language = Japanese
auto_detect_line_endings = on
output_handler = mb_output_handler
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = on
mbstring.detect_order = auto
mbstring.substitute_character = none
magic_quotes_gpc off

参考 :2php : PHPのインストール(Windows)

Apache のインストール

Download – The Apache HTTP Server Project
Win32 Binary without crypto をダウンロード

インストール時の入力

Server Infomation
  • Network Domain (e.g. somenet.com):
    localhost
  • Server Name:
    localhost
  • Administrator’s Email Address (e.g. webmaster@somenet.com):
    自分のメールアドレスを入力
  • Install Apache HTTP Server 2.2 programs adn shortcuts for:
    「for All Users, on Port 80, as a Service — Recommended.」にチェック
Setup Type
「Custom」にチェック
Custom Setup
「Apache Documentation」と「Application Service Taskbar Icon」のチェックを外す

http://localhost/ にアクセスして動いていれば「It works!」と表示される。

Apache が動いているか確認する場合

「コントロールパネル」>「管理ツール」
で、Apache2.2 が開始してるかどうかで動いているか確認できる。

path を通す

「コントロールパネル」>「システム」
で、システムのプロパティを開いたら、「詳細設定」タブの下のほうにある「環境変数」ボタンを押す。

システム環境変数の Path に、以下の内容を追記。

C:\Program Files\Apache Software Foundation\Apache2.2\bin

これで「管理者として実行したコマンドプロンプト」から Apache の起動、再起動、終了ができるようになる。

> httpd -k start
> httpd -k restart
> httpd -k stop

httpd.conf 設定

C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf を編集。
※Windows7 64bit では C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf

UserDir 設定
以下それぞれ探してコメントイン (コメントアウトを外す)

LoadModule userdir_module modules/mod_userdir.so
Include conf/extra/httpd-userdir.conf

Perl 利用のため
以下を探してコメントイン

AddHandler cgi-script .cgi

最後の行に以下を追加

SetEnv PERL5LIB C:/strawberry/perl/lib
SetEnv PERL5LIB C:/strawberry/perl/site/lib

PHP 利用のため
LoadModule が並んでる最後に以下を追記

LoadModule php5_module "C:/php/php5apache2_2.dll"

DirectoryIndex を探して以下のように index.php を追記

DirectoryIndex index.html index.shtml index.cgi index.php

AddType を探して以下を追記

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

2011/12/13追記
一番最後あたりに、以下追加

PHPIniDir "C:/php"

SSI 利用のため
以下の部分をコメントイン

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

httpd-userdir.conf 設定

C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-userdir.conf を編集。

UserDir 設定 + DirectoryIndex 設定

UserDir "C:/Users/*/Website"

<Directory "C:/Users/*/Website">
    AllowOverride All
    Options ExecCGI Indexes FollowSymLinks 
    Order allow,deny
    Allow from all
    DirectoryIndex index.cgi index.html index.php
</Directory>

Virtual Hosts の設定
別記事にまとめてあるので、こちらを見て設定。
表示確認用ローカルサーバの Virtual Hosts ( Apache ) 設定 | Numb.

ここまで設定したら、Apache を再起動させる。
これで、C:\Users\hoge\Website というディレクトリに http://localhost/~hoge/ でアクセスできるようになる。

php のテスト

設定が終わったら Apache を再起動。

<? phpinfo(); ?>

と書いたファイルを test.php とでもして C:\Program Files\Apache Software Foundation\Apache2.2\htdocs に保存。
http://localhost/test.php にアクセスして php の情報が表示されていれば OK。

MySQL のインストール

MySQL Query Analyzer – SQLクエリのパフォーマンスを改善!
ページの上のほうにある「ダウンロード」>ダウンロードページへ移動。

Current Release (Recommended) > MySQL Community Server の Download > Windows
とたどっていき、「Windows MSI Installer (x86)」をダウンロード。※ユーザー登録してない場合は New Users から登録してダウンロード。

※インストールする際は、http://localhost/test.php にアクセスして「Client API version」を確認、それにあったバージョンの MySQL を入れること。

たとえば Client API version が 5.0.51a で、MySQL Community Server に 5.4, 5.1, 5.0, 4.1 とあった場合には、MySQL Community Server のほうでも 5.0 をダウンロードする。

2011/12/13追記
MySQL :: Download MySQL Community Server から DL でも OK。

インストール時の入力

Setup Type
「Complete」をチェック
Wizard Completed
「Configure the MySQL Server now」にチェックして Next > Install

MySQL Server Instance Configuration

Please select a configration type.
「Detailed Configuration」をチェック
Please select a server type. This will …
「Developer Machine」にチェック
Please select the database usage.
「Multifunctional Database」にチェック
Please select the drive for the InnoDB datafire, if…
そのまま変えずに Next
Please set the approximate number of …
「Decision Support (DSS)/OLAP」にチェック
Please set the networking options.
「Enable TCP/IP Networking」にチェック、「Enable Strict Mode」にチェック
Please select the default character set.
「Best Support for Multilingualism」にチェック
Please set the Windows options.
「Install As Windows Service」にチェック、「Include Bin Directory in Windows PATH」にチェック
Please set the security options.
「Modify Security Settings」の「New root password:」と「Confirm:」にパスワードを入力する。「Enable root access from remote machines」は、チェックを外す。

参考:MySQL インストール (Windows の場合)

Windows 7 にMySQL5をインストール&設定|MySQLのインストール&設定|MySQL|PHP & JavaScript Room

MySQL のコマンドプロンプトからの利用方法等
参考:MySQL コマンドライン・クライアント

phpMyAdmin のインストール

phpMyAdmin – Download
今回は PHP 5 + MySQL 5 の環境なので、phpMyAdmin 3.2.3 をインストール。
※ all-languages.zip を選んでダウンロード。

  1. zip を解凍しフォルダを phpMyAdmin にリネームして C:\Program Files\Apache Software Foundation\Apache2.2\htdocs にコピー。
  2. http://localhost/phpmyadmin を開いてエラーがなければ OK。

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin 内、config.sample.inc.php を config.inc.php にリネーム。

config.inc.php 編集

★phpMyAdmin にログインした際「設定ファイルが秘密のパスフレーズ (blowfish_secret) を必要とするようになりました」とエラーがでるのを防ぐため、$cfg[‘blowfish_secret’] に任意の英数字を設定。
たとえば、以下のような感じで。

$cfg['blowfish_secret'] = 'abc';

★phpMyAdmin にログインした際「リンクテーブルを処理するための追加機能が無効になっています。」となる場合には以下の部分をコメントインして、

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

コマンドプロンプトで、ディレクトリを移動し、

> cd C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpMyAdmin\scripts

次に以下のように入力。

> mysql -u root -p < create_tables.sql

これで phpmyadmin というデータベースが作成されてエラーが消える。

データベースの確認

phpMyAdmin から見るか、もしくは以下の方法で。

> mysql -u root -p

で、パスワードの入力を求められるので、MySQL Server Instance Configuration で設定したパスワードを入力。すると mysql に接続されるので、

mysql> show databases;

と入力すると、今あるデータベースが確認できる。

おしまい

XAMPP で入れる方が開発・テスト目的なら楽で良いかもしれませんが、1 つずつ入れると細かく扱えるのが良かったです。たまにしか構築は行わないので、次やろうとしても忘れてそうだなぁと作業ログを残しておく目的で書きました。

全体的に、Windows Vista 搭載パソコンを買ってきてやったことまとめ – IT戦記Apache, MySQL, PHP, phpMyAdmin インストールと設定 がとても参考になりました。ありがとうございます!:)

サービス登録してある Apache などを手動起動にしたい場合 2010/06/29追記

ここに書いてあるようにすると、Apache や MySQL は windows にサービスとして登録され、windows 起動時に自動で起動するようになります。

そのあたりを変更したい場合は、「ファイル名を指定して実行」(Win+R)→「services.msc」と入力→Apache や MySQL の設定を変えれば OK。
スタートアップの種類を手動にすれば、自動で起動しなくなります。