ele_eel's diary

プログラムの事を少しと、デジタル系買物記。

Virtualbox を使って仮想マシン上で WEB 実行環境を

今まで Windows 上に Apache やら PHP やらをインストールしてきました。しかし実際にアップするサーバーOSは Linux。それでも今までは特に動かないとか動作が違うといったことはほぼなかったと思います。

しかし、Virtualbox で仮想化したサーバー上で簡単に実行環境が作れてしまうことを知って、これから徐々に変えていこうと思ってます。

で、ネットワークを設定した時のメモ。目的はゲストOSに固定IPを設定して、ホストOSからのアクセスのみとして利用するまで。

Virtualbox と 目当ての OS はインストール済として、

1.Virtualbox の環境設定でネットワークを確認

デフォルトの設定では、既に「Virtualbox Host-Only Ethernet Adapter」が登録されています。192.168.56.* が割り当てられていて、DHCPが有効になっているのを確認します。

2.ゲストOSのネットワーク設定で、ネットワークアダプタ2を有効化

「アダプタ1」を「NAT」、「アダプタ2」をホストオンリーアダプタにして上記の「Virtualbox Host-Only Ethernet Adapter」を設定。


3.ゲストOSで固定IPを設定

仮想ネットワークのDHCP内で固定IPを設定。Ubuntu の場合、固定IPを「192.168.56.110」するには

$ sudo vim /etc/network/interfaces

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.110
netmask 255.255.255.0

これでホストOSからアクセスできるようになりました。簡単ですね。

Kohana-Kdmail モジュールの公開

まだ開発中ですが、Kohanaモジュールを Github.com にアップしました。

Kdmail - the multi-byte mail decoder and POP mail client
https://github.com/ele-eel/kohana-kdmail

QdmailReceiver を、Kohanaモジュール用にしました。色々手を加えようと試行錯誤しましたが、クラスを再構成するのは難しいですね・・・。加えて拙い英語や使い方の不足などなど、恥ずかしながらとりあえず公開してみることにしました。

ThinkPad Edge E420 に Intel mSATA SSD 80GB

ThinkPad Edge E420 には mSATA というスロットがあります。mSATA という名称の通り、SATA 規格の一つです。実際に発売されている mSATA カードは SSD だけみたいですね。mSATA の SSD は容量の割に高いので、安ノートPCに入れるのはどうかと思いましたが、せっかくのスロットを有効利用しようということで Intel の80GB のSSD [SSDMAEMC080G2C1] を買ってみました。


取り付けはいたって簡単。裏面を外せばすぐに取り付け完了しました。困ったのは mSATA に OS をインストールする時。リカバリーディスクから新規インストールしようとしたら、どうやってもCドライブにしか OS をインストールができません。(HDDがC、SSD がD)

解決としては、HDD を外し、BIOS で mSATA の優先順位は上げ、リカバリーディスクで立ち上げると mSATA が Cドライブとして認識されました。インストール後、容量が 80GB しかないため、リカバリー領域は削除しました。その後、HDD を入れました。ノートPCでデュアルドライブができるなんて。いやあ、快適。



以下ベンチマーク。同機種のベンチマーク値と比べると、若干書き込みが遅いのは、OS をインストールして空き容量が少ないからなのかな?



▼0Fill

Windows7 PHP5.3.8 で ImageMagick を使う

引き続き、Windows7 での PHP 環境について。

PHP5.3.8 で ImageMagickPHP モジュール imagick.dll をアクティブにしてみます。

1.imagick.dll をダウンロード

下記のサイトから dll をダウンロードします。
http://valokuva.org/magick

ここでも x86 / VC9 / スレッドセーフ の最新バージョンをダウンロードします。

2.ImageMagick のインストーラをダウンロード

ImageMagick のインストーラは、バージョンの選択を間違うと動作しません。imagick.dll の配布サイトのコメントを参考にして、バージョンを選択します。

The Imagemagick site builds are now done with VC10 version. This means you need to find an older VC9 build. The last version I found built with VC9 was 6.6.2-10 from this site:
http://image_magick.veidrodis.com/image_magick/binaries/

Imagemagick 公式サイトでは VC10 でビルドされている。だから VC9 でビルドされたものを見つける必要がある。VC9でビルドされた最後のバージョンは ImageMagick 6.6.2-10だ。

ということで、6.6.2-10を利用します。

http://image_magick.veidrodis.com/image_magick/binaries/
ImageMagick-6.6.2-10-Q16-windows-dll.exe

3.ImageMagick のインストール

インストーラを実行します。今回もインストールディレクトリを Cドライブ直下にしておきます。

インストールオプションで、環境変数でパスを通しておきます。

4.PHP の設定

php_imagick_ts.dll を PHP の extension ディレクトリに入れます。

c:\php5.3.8\ext\php_imagick_ts.dll

php.ini に DLLの記述を追加します。

extension=php_imagick_ts.dll

Apache を再起動して、phpinfo() で確認します。

5.実行の確認

「test.jpg」を「test.png」に変換するスクリプトを実行してみます。

<?php

try
{
    $im = new Imagick('test.jpg');
    $im->writeImage('test.png');
    echo 'converted !';

}
catch(Exception $e)
{
    echo 'ERROR! :';
    echo $e->getMessage();
}

無事変換されれば、インストール完了です。

Windows7 で PHP5.3.8 の開発環境を整える

引き続き、Windows7 での PHP 環境について。前回の PHP インストールの環境があるものとします。

XDebug のインストール

開発環境ではあると便利な XDebug をインストールします。

http://xdebug.org/download.php

ここでまた出てきました「VC9」。ダウンロードすべきものは VC9 スレッドセーフ 32bit です。

ダウンロードした dll ファイルを PHP の extension ディレクトリに入れて、php.ini を編集します。

[XDebug]
zend_extension = c:\php5.3.8\ext\php_xdebug-2.1.2-5.3-vc9.dll
xdebug.dump.GET=*
xdebug.dump.POST=*

XDebug の設定のオプションは他にも色々あります。

あとは phpinfo() で動作確認をします。

XCache のインストール

XCache のような PHP アクセラレータは、開発環境でも、特にフレームワークを利用する場合は入れておくといいと思います。

http://xcache.lighttpd.net/pub/Releases/1.3.2/

ここでもダウンロードすべきものは VC9 スレッドセーフ 32bit です。

解凍したディレクトリから php_xcache.dll を PHP の extension ディレクトリに入れます。
次に xcache.ini の内容を php.ini に丸ごとコピペして、extension パスのみ変更します。

[xcache-common]
;; install as zend extension (recommended), normally "$extension_dir/xcache.so"
;zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so    //コメントにする
; zend_extension_ts = /usr/local/lib/php/extensions/non-debug-zts-xxx/xcache.so
;; For windows users, replace xcache.so with php_xcache.dll
;zend_extension_ts = c:/php/extensions/php_xcache.dll    //コメントにする
;; or install as extension, make sure your extension_dir setting is correct
; extension = xcache.so
;; or win32:
extension = php_xcache.dll    //ここのコメントを外す

phpinfo() で動作確認をします。

Windows7 に Apache と PHP5.3.8 を10分でインストール

PHPの開発環境を5.3.8にしたのでメモ。

インストールをスムーズに行うキーワードは、「VC9」です。VC9 (Visual C++ 2008)とはコンパイラのバージョンです。これはインストール後に、PHP のモジュールを利用する際にも関係します。

PHP5.3.8 では、ウィンドウズ用バイナリが VC9 のみの配布となっています。PHP のダウンロードページには

Do NOT use VC9 version with apache.org binaries

VC9 versions of Apache can be fetched at Apache Lounge. We use their binaries to build the Apache SAPIs.

apache.org の VC9 バイナリファイルを利用するな。俺らも使ってるから、Apache Lounge のものを使え。

とありますので、ApacheApache Lounge にあるものを利用します。

1.PHPのインストールファイルを取得

http://windows.php.net/download/

ZIPアーカイブをダウンロードします。Apache で利用するので Thread Safe にします。

スレッドセーフとは? http://www.php.net/manual/ja/faq.obtaining.php#faq.obtaining.threadsafety

2.Apache のインストールファイルを取得

http://www.apachelounge.com/download/

上記 PHP は32bit版なので、Apacheも合わせます。

3.アーカイブの解凍と Apache の設定

解凍したディレクトリはどこに置いても大丈夫です。今回はCドライブ直下に置くことにします。

次に Apache の設定を変更します。

c:\apache2\conf\httpd.conf

#35行目あたり
ServerRoot "c:/apache2"

#179行目あたり
DocumentRoot "c:/apache2/htdocs"

#206行目あたり
<Directory "c:/apache2/htdocs">

最終行に PHP の設定を追加します。

PHPIniDir "c:/php5.3.8"
LoadModule php5_module "c:/php5.3.8/php5apache2_2.dll"
AddType application/x-httpd-php .php

Apacheのドキュメントルートは c:/apache2/htdocs になりました。

4.PHP の設定

c:/php5.3.8 にある php.ini-development をコピーして、「php.ini」に変更します。とりあえず今回は ini の設定は何も変更しません。

5.Apache の起動

コマンドプロンプトで起動します。

>c:\apache2\bin\httpd.exe

httpd.exe: Could not reliably determine the server's fully qualified domain name, using ****:****:****:**** for ServerName

と表示されば成功です。ブラウザでローカルホストで見てみましょう。

http://localhost/

It works!

6.PHP の動作確認

次に PHP の動作を確認します。Apache のドキュメントルート c:/apache2/htdocs に「info.php」というファイルを新しく作ります。ファイルの内容は以下。

<?php

phpinfo();

http://localhost/info.php

これで PHP の設定が表示されればOKです。

以上でインストール完了です。

Apache が起動しない場合

エラーログを見ます。場所は c:/apache2/logs/error.log にあります。

Apache をツールで起動する

Apacheをコマンドで起動するのは面倒なので、サービスに登録して、ApacheMonitorで管理します。

コマンドプロンプトを管理者権限で実行して、

>c:\apache2\bin\httpd.exe -k install

これでサービスに登録されます。ApacheMonitorツールは c:/apache2/bin にありますので、実行すると通知アイコンとして表示されます。これを左クリックで Apache を操作できます。

ThinkPad Edge E420を買う

約二年半ぶりにノートPCを新調しました。前々からSandy Bridgeは見送って、次のIvyまで絶対に待ちだと思っていたところ、レノボの激安モデルを発見してしまい、ほぼ衝動買い。ベース自体5万円を切る格安モデルな上、なんと二日間限定さらに20%引き。これなら万が一のことがあっても諦められるかな、と思いました。

スペックは

オプションはほぼ全部載せ、これでも5.1万円くらい。安い。
失礼な話、普段だったらレノボは選択肢として入らないようなメーカーでした。実際にモノを見るとなかなかできはいいですね。天板のLenovoのロゴがなかったらデザイン的には満足かな。キーボードもなかなかよい。液晶パネルの質も値段相応って感じ。分厚くて重いですが、グラフィックボードもついていないため、そのぶん冷却に余裕があるようで、熱くなってファンがうるさいってこともないです。


今回、初の64bitのWindows7を使い始めました。ここぞとばかりにメモリをプラス4Gいれて自己満足。しかし、4G×1枚より4G×2枚のほうがWindowsのスコアのメモリ関連がかなり上がりました。処理能力には何の不満もないです。

不満としては、キーボード配列が使いづらい。DeleteキーがHomeとEndキーの左にあるとか、左下の角のキーがFunctionだったり。キータッチはとてもいいので惜しい。とにかくいい買い物でした。