windowsでLAMP(Cygwin Apache MySQL PHP)構築

| | コメント(0) | トラックバック(0)
【目的】
ノート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のインストールと設定
本家からダウンロードしてインストール。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

コメントする

このブログ記事について

このページは、風太郎が2008年5月 8日 09:30に書いたブログ記事です。

ひとつ前のブログ記事は「小型飛行機」です。

次のブログ記事は「2007年度 決算報告書」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0