WindowsでApache,PHP,MySQLを動かす
定番中の定番ではありますがやはりウィンドウズでApache,PHP,MySQLを動かすことが
できます。
ただ、Windowsはセキュリティーに不安があるように思います。巷を騒がせたり大きな被害の
報告のあるウィルスソフトはその多くがWindowsを狙ったものであることや、OS自体が外から
のぞけることを前提に作ってあるといわれているので、私個人的にはWindowsをサーバーとして
インターネット環境に出す気は毛頭ありません。
でも、社内で使われているパソコンのひとつをイントラネット(死語?)として活用する、あるいは
プロバイダのサーバーにアップする前の動作確認用として活用する前提であれば、かなり使えると
思います。
以下は、私の設定のメモですが設定の際の参考にして下さい。
参考にしたサイト(こちらの方が丁寧に説明があります)
All
about Japan
-
まずは、apacheをget
http://www.apache.jp/ 日本アパッチユーザーグループから最新版、もしくは安定版をダウンロードします。
ダウンロードの項目があるので、近くのミラーサイトを探します。
プログラムソースから構築するのも可能ですが、windowsですからここは下のほうへ行ってバイナリデータの
ダウンロードをします。
ここで「apache_2.0.47-win32-x86-no_ssl.msi」もしくは「apache_1.3.28-win32-x86-no_src.msi」を
ダウンロードします。apache_1.3系の方が安定していてトラブルも少ないようです。(私は新物好きでWebDAVが
標準で実装という理由だけで2.0系をダウンロードしましたが、そのぶん大変だったと思います。
- ダブルクリックでインストール
インストーラーが立ち上がれば後はそれに従っていけばインストール完了です。
驚くほど簡単です。(インストーラー画面表示予定)
ブラウザを立ち上げてhttp://localhost/で、テストページが表示されれば成功です。
- PHPのget
http://www.php.net/downloads.phpでインストラーの無い版をダウンロードします。そう、zipパッケージの
方ですね。exe版はmysqlサポートがないのでmysql使うためにはこちらです。
- zipファイルを解答します。
解凍したフォルダ名を"PHP"としてCドライブに保存します。
php4ts.dllをC:\WINNT内にコピーします。Windows 98/Meの場合はC:\WINDOWSです。
php.ini-distをコピーし、php.iniに名前を変えます。それを、C:\WINNT内にコピーします。
Windows 98/Meの場合はC:\WINDOWSです。
- php.iniの設定
エディタでphp.iniを開き、421行目あたりのドキュメントルートを追加します。
doc_root ="C:/Program Files/Apache Group/Apache2/htdocs"
429行目あたりのモジュールエクステンションのディレクトリを追加します。
extension_dir = "c:/php/extensions"
- dillファイルをコピー
c:\php\dllsの全DLLをC:\WINNT\SYSTEM32内にコピーします。(14個ありました。)
Windows 98/Meの場合はC:\WINDOWS\SYSTEM、Windows XPの場合はC:\WINDOWS\SYSTEM32です。
- apache のhttpd.confファイルにphpの設定を追加
httpd.confファイルを開きます。
173行目あたりに追加します。
LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule mod_php4.c>
php_value include_path "c:/php"
php_flag safe_mode on
</IfModule>
- 動いているか確認
「phpinfo.php」というファイルを作成します。
<?
phpinfo();
?>
ブラウザからhttp://localhost/phpinfo.php
で、表示が出ると思います。
- MySQLを入手
MySQLを入手します。
今回はmysql-4.0.14b-win.zipをダウンロードしました。
解凍した後、インストーラーをダブルクリックします。
インストーラーが立ち上がれば後はそれに従っていけばインストール完了です。
これもここまでは簡単です。(インストーラー画面表示予定)
- mysql起動?
C:\mysql\binのwinmysqladmin.exeをダブルクリックで起動します。
ユーザー名パスワードを任意に入力します。右下に信号機マークが出てきたらOKです。
コントロール管理ツールのサービスを起動します。
- MySqlの設定変更
トランザクション対応バージョンである「mysqld-max-nt」を使用します。
mysqld-nt が既に起動しているので、停止します。
右下の信号機マークでstop the serviseを選びます。
信号機マークが赤に変わります。
- mysqld-ntの削除
また、信号機マークで今度はremove the servise を選びます。ダイヤログにもはいと答えます。
- mysqld-max-ntの追加
信号機マークでshow me を選んでwinmysqladminの画面を開きます。
my.iniSetupのタグを選んでmysqld-max-ntのラジオボタンを選んでSave Modificationのボタンを押します
- 設定の変更
c:\winnt\my.iniを開き[mysqld]セクションに下記を追加します。
default-character-set=ujis
innodb_data_file_path = ibdata1:50M
innodb_data_home_dir = c:\mysql\data\ibdata1
set-variable = innodb_mirrored_log_groups=1
#innodb_log_group_home_dir = c:\mysql\iblogs
set-variable = innodb_log_files_in_group=3
set-variable = innodb_log_file_size=10M
set-variable = innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
#innodb_log_arch_dir = c:\mysql\iblogs
innodb_log_archive=0
set-variable = innodb_buffer_pool_size=10M
set-variable = innodb_additional_mem_pool_size=10M
set-variable = innodb_file_io_threads=4
set-variable = innodb_lock_wait_timeout=50
- フォルダの作成
先の設定に書いたフォルダー c:\mysql\data\ibdata1を作成しておきます。
- サービスの追加
コマンドプロンプトで
C:\>\mysql\bin\mysqld-max-nt.exe --install
でService successfully installed. となればサービス追加です。
winmysqladminの画面でstart the serviseを選択しダイヤログにもはいと答えます。
信号機が青に変わるともいます。
変わらない場合は・・・
C:\mysql\data内のログファイル、ib_logfile0~2,ib_arch_log_xxxx,とibdata1フォルダ内のibdata1を
いったん削除して再起動してみてください。同じファイルが新たに作成されて起動すると思います。
- rootの設定
コマンドプロンプトで、
c:\mysql\bin\mysql -u root mysq
とし、mysql>プロンプトがでてきたら
DELETE FROM user WHERE Host='localhost' AND User='';
QUIT
C:\mysql\bin\mysqladmin -u root reload
C:\mysql\bin\mysqladmin -u root password パスワード
でroot設定が完了です。
- いよいよ起動です。
C:\mysql\bin\mysql -u root -p
Enter password: パスワード
で、下のような画面が出てくれば成功です。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.014-max
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
お疲れ様でした。