windowsでLAMP(Cygwin Apache MySQL PHP)構築
【目的】
ノートPC上で、LAMP環境を構築し、クライアントへのプレゼンおよびクライアント先作業を楽にする
また、プレゼンではMovableTypeも必要になってくるので、PerlおよびImageMagicも動作するようにしておく。
【概略】
WindowsでLAMP環境を構築するとき、Cygwinをベースにするなら、大きく2つのパターンがある。
案1)
Cygwin + Apache for Win + PHP for Win + Active Perl + MySQL for Win
案2)
Cygwin + Apache(Cygwin) + Perl(Cygwin) + PHP(Cygwin上でコンパイル) + MySQL for Win
後者の方がCygwinまでのインストールが簡単だが、PHPのコンパイルで詰まる。
(makeやgccなどのモジュールもいれないといけないので、面倒くさい。)
かといって前者が楽かといえば、これまた、ApacheとActive Perlをいれないといけないので、面倒くさい。
さらには、ImageMagicまで連携をとることを考えると、どっちもどっちという感じ。
結局のところ、両方を試すことになったが、うまく出来たのは、案1)の方。
案2についても後でまとめるとして、とりあえずは、案1)の手順をメモしておく。
【ターゲットマシン】
Windows ノート (WindowsXP)
【作業手順】.... 続く
ノートPC上で、LAMP環境を構築し、クライアントへのプレゼンおよびクライアント先作業を楽にする
また、プレゼンではMovableTypeも必要になってくるので、PerlおよびImageMagicも動作するようにしておく。
【概略】
WindowsでLAMP環境を構築するとき、Cygwinをベースにするなら、大きく2つのパターンがある。
案1)
Cygwin + Apache for Win + PHP for Win + Active Perl + MySQL for Win
案2)
Cygwin + Apache(Cygwin) + Perl(Cygwin) + PHP(Cygwin上でコンパイル) + MySQL for Win
後者の方がCygwinまでのインストールが簡単だが、PHPのコンパイルで詰まる。
(makeやgccなどのモジュールもいれないといけないので、面倒くさい。)
かといって前者が楽かといえば、これまた、ApacheとActive Perlをいれないといけないので、面倒くさい。
さらには、ImageMagicまで連携をとることを考えると、どっちもどっちという感じ。
結局のところ、両方を試すことになったが、うまく出来たのは、案1)の方。
案2についても後でまとめるとして、とりあえずは、案1)の手順をメモしておく。
【ターゲットマシン】
Windows ノート (WindowsXP)
【作業手順】.... 続く
【作業手順】
1.MySQLのインストールと設定
2.Cygwinのインストール
3.Cygwin (bash)の設定
4.Apacheのインストールと設定
5.PHPのインストール
6.phpMyAdminのインストール
7.ActivePerlのインストール
以上で、とりあえず必要なツールのインストールは終わった。
8.MovableTypeのインストールと起動確認
おまけ 1。
vimでの日本語対応がうまくいかなかったときに、rxvtを試してみた。
cygwinのsetup.exeからインストールができる。
cygwin.batのシェル起動部分を以下のように変更
rem #bash --login -i
rxvt -fg white -bg black -fn fixedsys-14 -e ./bash --login -i
rxvtだと、日本語FEPの呼び出しが1keyで出来るので便利(あ。書き忘れたが、rxvtを使わない場合は、日本語FEP呼び出しはalt+半角である)
しかし、vim上でカーソルを合わせると、日本語が文字化けするという現象が起きる。
おまけ 2.
Cygwin上でPHPをコンパイルしたがうまくいかなかった。
ちなみにCPUはCore2Duoであるが、OSはWindowsXPで、こちらは32bit版くさい。(Vista対応マシンをダウングレードして使っているため、詳細がよくわからない)
一応、手順だけはメモしておく。
1.Cygwinから必要なパッケージをもってくる。必要なパッケージとは
・devel全部
・apache(develも含めて)
・cygrunsrv
2.PHPでMySQLモジュールを組み込むために、MySQLのソースも持ってくる
これは本家にある。
3.まず、MySQLクライアントをインストールする
ソースを展開し、./configure --without-server でクライアントのみのコンパイルを指定。
make;make install で/usr/local以下に入る。
4.PHPのソースをダウンロードし、展開
./configure オプションはこんな感じ。
--with-apxs2=/usr/sbin/apxs2
--with-mysql=/usr/local
--with-mbstring
でMakefileまではできる。実はこのMakefileは曲者でどうやらBUGがあるらしい。(PHP5.2.6)
makeはきっちりとおるが、make installはできない。
libphp5.soではなくlibphp5.laしか出来上がってこない。
gcc -shared libphp5.soなどに書き換えればいくのかもしれないが、少し試した限りではうまくいかなかった。
今回の目的はMakefileの勉強ではないので、これ以上は手を入れないことにした。
1.MySQLのインストールと設定
本家からダウンロードしてインストール。versionは5.1RC(日本語のドキュメントが多いから)
実行すると、installer そして、設定マネージャーが立ち上がる
途中のTCP経由の接続はOnにしておく ※PHPからアクセスするため。
なぜか最終段階のsecurity patchはいくら待っても終了しない。
とりあえず、強制終了。
バイナリはlatin1でコンパイルされているので、日本語では文字化けする。
なので、my.iniの最後に以下を追加しておく。
skip-character-set-client-handshake
2.Cygwinのインストール
http://cygwin.com/ からsetup.exeを実行。
インストール途中で、インストールするパッケージの選択があるので、次のものを追加で選択
・Editor/vim (これは好みか。。)
3.Cygwin (bash)の設定
alias ls='ls --color --show-control-chars'
.vimrc
参考URL: http://www.kawaz.jp/pukiwiki/?vim#cb691f26
set tabstop=4
set autoindent
set history=50
set hlsearch
set backspace=indent,eol,start
syntax enable
" vim history機能
if (has("autocmd"))
autocmd BufReadPost * if line("'\"") | exe "'\"" | endif
endif
" 文字コードの自動認識
" 参考URL:http://www.kawaz.jp/pukiwiki/?vim#cb691f26
if &encoding !=# 'utf-8'
set encoding=japan
set fileencoding=japan
endif
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがeucJP-msに対応しているかをチェック
if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'eucjp-ms'
let s:enc_jis = 'iso-2022-jp-3'
" iconvがJISX0213に対応しているかをチェック
let s:enc_euc = 'euc-jisx0213'
let s:enc_jis = 'iso-2022-jp-3'
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
let &fileencodings = &fileencodings .','. s:fileencodings_default
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
let &fileencodings = &fileencodings .','. s:fileencodings_default
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
4.Apacheのインストールと設定
(1) ダウンロード
http://www.apache.jp/misc/download.html
のbinaries/win32からダウンロード
(2) 設定
使い慣れたディレクトリとして、シンボリックリンクを作成
$ ln -s /cygdrive/c/Program\ Files/Apache\ Software\ Foundation/Apache2.2 apache2.2
$ ln -s /cygdrive/c/Program\ Files/Apache\ Software\ Foundation/Apache2.2 /etc/httpd/
(3) httpd.confの設定
ServerName ぐらいは設定する
(4) apache の起動
$ net start apache2.2
ブラウザから localhostで確認して、出ればOK
5.PHPのインストール
これまた、本家からダウンロード。
(1)実行すると、インストール後、設定ダイアログが表示され、Apache confの場所を指定する。
ここで、httpd.confにPHPIniDir LoadModule php5_moduleが追加される
(2)mime.types にx-httpd-phpが追加されていることを確認して、apacheを再起動
(3) htdocs/phpinfo.phpを作成して、phpが起動することを確認
6.phpMyAdminのインストール
http://www.phpmyadmin.net/home_page/downloads.php
からダウンロード
展開したものを apache/以下に置く。
7.ActivePerlのインストール
ActiveStateからダウンロード。
(余談だが、ActivePerlデバッガーは便利そうだ。最近はperlでの開発が無いから購入はしなかったけど)
PPMを立ち上げる。。。が立ち上がらない。
えーと、ログインユーザが日本語名だと、PPMは立ち上がりません!!
現在のユーザをログオフして、administratorあたりでログインしなおします。
そうするとPPMが立ち上がる。
DBD-MySQLにチェックを入れてインストール
以上で、とりあえず必要なツールのインストールは終わった。
8.MovableTypeのインストールと起動確認
SixApartからMTをダウンロード。展開。
mt-check.cgiを叩くが、当然のごとく、動作しない。
1行目に書かれている#!/usr/bin/perlを#!perlのみに書き換える。
(WindowsApacheから見た場合、perlの実行位置は/usr/bin/perlではない)
今度は動作する。ImageMagicが入っていない。。。んー、後日、記載しよう。
その他のcgiも似たような変更を加えて保存
mt.cgiからインストール。
おまけ 1。
vimでの日本語対応がうまくいかなかったときに、rxvtを試してみた。
cygwinのsetup.exeからインストールができる。
cygwin.batのシェル起動部分を以下のように変更
rem #bash --login -i
rxvt -fg white -bg black -fn fixedsys-14 -e ./bash --login -i
rxvtだと、日本語FEPの呼び出しが1keyで出来るので便利(あ。書き忘れたが、rxvtを使わない場合は、日本語FEP呼び出しはalt+半角である)
しかし、vim上でカーソルを合わせると、日本語が文字化けするという現象が起きる。
おまけ 2.
Cygwin上でPHPをコンパイルしたがうまくいかなかった。
ちなみにCPUはCore2Duoであるが、OSはWindowsXPで、こちらは32bit版くさい。(Vista対応マシンをダウングレードして使っているため、詳細がよくわからない)
一応、手順だけはメモしておく。
1.Cygwinから必要なパッケージをもってくる。必要なパッケージとは
・devel全部
・apache(develも含めて)
・cygrunsrv
2.PHPでMySQLモジュールを組み込むために、MySQLのソースも持ってくる
これは本家にある。
3.まず、MySQLクライアントをインストールする
ソースを展開し、./configure --without-server でクライアントのみのコンパイルを指定。
make;make install で/usr/local以下に入る。
4.PHPのソースをダウンロードし、展開
./configure オプションはこんな感じ。
--with-apxs2=/usr/sbin/apxs2
--with-mysql=/usr/local
--with-mbstring
でMakefileまではできる。実はこのMakefileは曲者でどうやらBUGがあるらしい。(PHP5.2.6)
makeはきっちりとおるが、make installはできない。
libphp5.soではなくlibphp5.laしか出来上がってこない。
gcc -shared libphp5.soなどに書き換えればいくのかもしれないが、少し試した限りではうまくいかなかった。
今回の目的はMakefileの勉強ではないので、これ以上は手を入れないことにした。
カテゴリ
技術トラックバック(0)
このブログ記事を参照しているブログ一覧: windowsでLAMP(Cygwin Apache MySQL PHP)構築
このブログ記事に対するトラックバックURL: http://www.doevery.com/200709.MT4/MT-4.0-ja/mt-tb.cgi/204

コメントする