エリベリンデラボ

2010年2月18日

windowsXPにapache2.2とphp5.2とmysql5.1を入れた記録

カテゴリー: php, 開発環境 — タグ: , , — elibelinde labs @ 22:33 このエントリーを含むはてなブックマーク

apacheをダウンロードして解凍する

http://httpd.apache.org/

2.2.14のopensslのwin32用のmsi
をインストールする。
ディレクトリはc:\apacheにしました。

httpd.conf
mimy.type
を設定し,phpを使えるようにします。

[ httpd.conf ]

・document root を好みに
・開発環境なのでdoc_root を deny,allowでdeny from all して allow from 127.0.0.1とかにしておく
・使うモジュールを読み込む(rewirteなんかは初期状態だとコメントアウトされている)

LoadModule php5_module “C:\php\php5apache2_2.dll”
AddType application/x-httpd-php .php
PHPIniDir “c:\php”
の記述を忘れずに
・DirectoryIndexにindex.php追加
・AddHandler cgi-script .cgiのコメントアウト

[ mime.types ]

applicatioin/x-httpd-php php
applicatioin/x-httpd-php-source phps
を追加

php5.2のインストール

http://php.net/downloads.php
こちらからwindows用のバイナリをzipパッケージでダウンロードしました。
c:\phpに解凍しphp.iniを設定します。
真っ先に
extension_dir = “c:\php\ext”
そして
memory_limit
max_execution_time
を開発環境な感じに設定。

その後はmbstring関連。
extension=php_mbstring.dll コメントアウト外す

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = Off
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.detect_order = UTF-8,SJIS-win
mbstring.substitute_character = none;
このあたりはスクリプト側で設定するので全てコメントアウトでも問題ないですが。

最後にmysql5.1のインストール

http://dev.mysql.com/downloads/mysql/5.1.html
noninstall のwin32用のzipをダウンロードします。
c:\mysql5に解凍し,my.iniを設定します。

[mysqld]
basedir = “c:\mysql5\”
datadir = “c:\mysql5\data\”
default-character-set = utf8
[mysqldump]
default-character-set = utf8
skip-character-set-client-handshake
[mysql]
default-character-set = utf8
それぞれ追加

以上でインストールと設定ファイルのconfigが終わりました。

最後にmysqlのrootのパスワードを設定し,superuserを作っておきます。
mysqldが走っている状態で行います。

> mysqladmin -uroot password “aaaa”
いつも間違えるのが -password としてしまうこと。
あと “” は付けるかどうかもいつも迷ってしまいます。
> mysql -uroot -paaaa
> grant all prigileges on *.* to someone@localhost identified by “someword”

はまったポイント1

mysqldの起動

バイナリでインストールしたmysqlは
コマンドラインから
> mysqld –console
で起動できます。

/bin/mysqld.exeをダブルクリックしたりコンソール×押したりして
異常終了したプロセスが残っていると
InnoDB :: Operating system error number 32 in a file operation
こんなエラーが出ます。
タスクマネージャ>プロセス一覧に
mysqld.exe が複数あると思いますので
全部キルして再度
mysqld –consoleしてみてください。

cakePHPでFatal error: Call to undefined function: _()

カテゴリー: cakephp — elibelinde labs @ 21:11 このエントリーを含むはてなブックマーク

cakePHP1.2
php5
apache2.2
windowsXP

viewの_()関数が無いと言われました。
多言語対応のgettextで使われるgettext()のエイリアスだそうなので

php.iniの
extension=php_gettext.dll
のコメントアウトを外したら直りました。

vmwarePlayer3でゲストcentOS5とホストwindowsXP間フォルダ共有

カテゴリー: vmware — elibelinde labs @ 16:51 このエントリーを含むはてなブックマーク

まず,フォルダ共有は設定しただけでは使えません。
vmware tools をゲストOSにインストールする必要があります。

vmware tools をインストールするには

1.vmware Server(linux版)をダウンロードし,その中の
イメージファイルからインストール。
2.ゲストOSから直接インストーラをダウンロードし,インストール
http://blog.kumacchi.com/2010/01/vmware_player_30os_-.html
こちらに記述があったけど詳細は不明。

の2通りがあります。
1.の場合は

・vmwarePlayerのヘルプ
・こちら
http://animemo.seesaa.net/article/30556486.html

がとても分かりやすいです。

手順

1 vmware Server
VMware Server 2 for Linux Operating Systems
をダウンロードし,解凍(ファイル名はVMware-server-2.0.2-203138.i386.tar.gz でした)

2 解凍したフォルダの
/lib/isoimages/linux.iso

c:\linux.iso
にコピーしゲストOSのvmxファイルの
ディスクドライブで読み込めるよう記述

ide1:0.present = “TRUE”
ide1:0.fileName = “C:\linux.iso”
ide1:0.deviceType = “cdrom-image”

インストール時にイメージファイルを入れたところです。

3 ゲストOSにルートでログインし,
cdromをマウントしてイメージを解凍する

# mkdir /media/cdrom マウントするディレクトリを作成
# mount /dev/cdrom /media/cdrom マウントする
# cd /tmp 作業ディレクトリへ移動
# tar zxpf /mnt/cdrom/VMwareTools-x.x.x-yyyyyyy.tar.gz 解凍
# cd vmware-tools-distrib 解凍したフォルダへ移動
# ./vmware-install.pl インストーラ起動

~~しますけど?とかディレクトリ無いけど作って良いですか?とプロンプトで色々聞かれますので
私の場合は全てデフォルトで問題なかったので結果的にはEnter連打でOK。

最後に,

/etc/init.d/network stop
rmmod vmxnet
modprobe vmxnet
/etc/init.d/network start

これするか再起動してくださいと言われますので,します。
その後はゲストlinuxの

/mnt/hgfs に共有設定したフォルダが入っています。

xamppで開発していたcakePHPアプリがVmwareのcentOSで動くようになるまでのメモ

カテゴリー: cakephp, 開発環境 — タグ: , , , — elibelinde labs @ 00:22 このエントリーを含むはてなブックマーク

まずVmwarePlayer上のcentOS5でphpが動くようにしておきます。
httpサーバインストール時点では
Apache2.2
php5.1
mysql5.0
でした。

vsftpdをインストールし,ホストOSからftpでcakeをゲストOSのhttpdのドキュメントルートにアップロードします。
この時点で対象URLにアクセスすると画面は真っ白でした。

webrootに適当なファイルをアップしブラウザで確認すると内容が表示されるので,
mod_rewriteは問題なし。

なので,アパッチのエラーログを見ると,
cake/bootstrap.php
が見つからないとか,
cakeコアが見つからないとか,
faviconが見つからないとか吐き出されているので
cakeaplication/app/webroot/index.php
を開いて
ROOT
APP_DIR
CAKE_INCLUDE_PATH
を適切に修正しました。

これで,アプリ自体は動きだします。
とりあえず画面上でエラーが出るところまできました。

mb_convertなんちゃらが使えない。
とのことなので
yum install php-mbstring
で先へ進めました。

次は
json_decodeが使えない。
とのことなので
pecl install json
とか適当なことをやってみるが状況は変わらず。

調べると,json関係はphp5.2からコアに含まれるらしい。
とのことで
http://d.hatena.ne.jp/radioboo/20080307/1204876834
http://d.hatena.ne.jp/allspice/20080301
http://it.kndb.jp/entry/show/id/2463
こういった方法でyumを使ってcentOS5のphp5.1をphp5.2にupgradeする。

ここでようやく見覚えのある
cakephp developementな画面が現れます。

内容はmissing table
とのことなのでdbをインポートします。
と思ったらdatabaseさえ作っていなかったのでmysqlで
create database db_name

mysql -uuser -ppass db_name<デバッグで使っていたデータのダンプ.sql

以上でxamppの数百倍(体感)早い開発環境が手に入りました。
cake1.2のapp::importが遅いとか,rc2だけ遅いとか各所に書いてあるので色々試しましたが
結局はxamppとお別れすることになりました。

2010年2月17日

windowsXPsp3でVmwarePlayer にcentOS5をインストール

カテゴリー: 開発環境 — タグ: , — elibelinde labs @ 19:57 このエントリーを含むはてなブックマーク

急遽手元で開発環境が必要となり
Vmware Playerを試してみることに。

手順は

1 QemuでPC環境をエミュレートする
http://www.h7.dion.ne.jp/~qemu-win/
こちらからQemu on Windowsを入手し解凍。
cmdから使います。

2 centOSのインストールDVDのimageを入手
http://www.centos.org/
ここから辿って近場のミラーから落とします。
容量は3.7Gほどで20分くらいかかりました。
念のためsumチェックも。

3 VmwarePlayerをインストールし,1のファイルに2をインストール
まずVmware用のconfig fileを作成します。
書式は各所で手に入ります。

VmwarePlayerのダウンロードは
http://downloads.vmware.com/d/info/desktop_downloads/vmware_player/3_0
こちらから(会員登録が必要です)

3のファイルをダブルクリックしVmwareを起動するとcentOSのインストールが始まります。
あとはいつものセットアップ手順です。

つまづくのはネットワークの設定でしょうか。
ルータにDHCPついていたりする普通のネット環境ならcentOSのネットワーク設定は

IPv6は使わない
IPv4でIPアドレスは自動取得する

設定にし,あとはホストOS(windows)側のファイヤーウォールの顔色をうかがいましょう。

うまくゆかないときは設定を変えて再インストールしてみましょう。
HDDに入れるよりとっても手軽(気持ち的に)に行えます。

参考文献

centOSのインストール~初期設定

・GUI
http://www.db.is.kyushu-u.ac.jp/computer/linux/install.html

・CUI
http://centossrv.com/

・lamp構築
http://blog.paz-para.com/?p=1317

Linuxにソフトウェアをインストールする際にやってしまいがちな失敗10選 – IT業界を生き抜く秘密10箇条 – ZDNet Japan

2010年2月12日

cakephp初期設定_webroot/index.phpの設定

カテゴリー: cakephp — タグ: — elibelinde labs @ 21:54 このエントリーを含むはてなブックマーク

久しぶりにcakephpで新規案件。
懐かしいなと思いながらセットアップするもハマる。

$html->link()で作るURLに
/app が含まれてしまう。

$html->link(”TOP”,”/”);

http://domain.com/app
になってしまう。

$html->link(”新着”,”/pages/new”);
なんかも
http://domain.com/app/pages/new
になってしまう。
app
にも
その上にもお決まりの.htaccessがあるのでもちろん動作はするのですが
これなんとかしないと運用できません。

どう頑張っても
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=570&forum=7&post_id=1056
ここにたどり着いてしまう。

とりあえず分かったのは
$html->link

$this->base + url
を返すということと

$this->base

/app
になってしまっているのが原因だということ。

各地で
$this->base
を確認したり

.htaccess

Rewrite Base を意味ないよなと思いつついじって,結局意味ありませんでした。

最終的に,答えは
/webroot/index.php

設定でした。

http://cakephp.jp/doc/ch03s04.html
こちらに書いてありました。

ROOT には、あなたのapp フォルダを含むディレクトリのパスを設定してください。

APP_DIR には、あなたの app フォルダのパス名を設定してください。

CAKE_CORE_INCLUDE_PATH には、Cake ライブラリフォルダのパスを設定してください。

上の通りに設定することで解決しました。

cake と app と webroot を自由に配置したい場合で上手く行かないときは
上を確認してみてください。

CɂȂver.b2.0 ŐV̌tbcł܂

Powered by WordPress