2014年5月31日土曜日

vagrant で CentOS6.5にHHVMの環境構築


HHVMは、WEBサーバとPHPが実現できて、その上、PHPよりも高速だという話です。
これまでPHPを開発していたので移行しやすく有効活用できるらしいです。

vagrant は導入済みの前提となります。
(導入については過去記事またはを参照願います)

vagrant box を新規に作成

今回はこちらのCurrent BoxesからCentOS 6.5 x64をダウンロードする
http://puppet-vagrant-boxes.puppetlabs.com/


(以下、sudoが必要な場合も記載を省略しています)

$ vagrant box add centos65 ダウンロードディレクトリ/centos-65-x64-virtualbox-nocm.box
$ vagrant init centos65
$ vagrant up

既に、vangrant pluginにsaharaを導入しているので、
一旦ここで、sandboxをonにしておく。
$ vagrant sandbox on

仮想マシンへsshでログイン
$ vagrant ssh

まず、アップデート
$ yum -y update

不便なのでタイムゾーンが日本時間にします。
$ vi /etc/sysconfig/clock

ZONE="Asia/Tokyo"
と編集します。
それと、localtimeファイルを変更します。
$ cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime


一度再起動します。
$ vagrant reload

すると起動時にマウントの失敗のメッセージが出ますので、
VirtualBox Guest Additionsの最新をインストールします。
こちらの記事を参照)

再度、仮想マシンを起動して問題なければ、
一旦ここで、boxを残しておこうと思います。

まずは、sandboxのcommit
$ vagrant sandbox commit


そして、boxの作成をします。ファイル名は適当に。
$ vagrant package —output cento65-x64-ja.box

再始動します。
ここからが、HHVMの構築です。

$ vagrant up
$ vagrant ssh

epel repositoryをインストールします。
$ yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

hop5 repositoryをダウンロードします。
$ cd /etc/yum.repos.d    <--追記(記載漏れ)
$ wget http://www.hop5.in/yum/el6/hop5.repo

そして、hhvmのインストールをします。
$ yum install hhvm

いろいろとインストールされますが、最後にComplete!と表示され、完了します。

$ hhvm —version
HipHop VM 3.0.1 (rel)


動かしてみます。
phpが動作するということなので、

$ vi hello.php
echo ‘hello php’;
とphpファイルを作成して、保存します。

$ hhvm hello.php
を実行すると、「hello php」と出力されます。

ちなみにphpinfo()を書いて実行すると
「HipHop」
と出力されます。

一旦、仮想マシンを抜けまして、
ホストPC上で、Vagrantfileを編集し、仮想マシンを
プライベートネットワークからアクセスできるようにします。
Vagrantfileを開いて、26行目付近の
  config.vm.network :private_network, ip: "192.168.33.10"
のコメントを解除して保存します。

そして、
$ vagrant reload
$ vagrant ssh
で仮想マシンを再起動し、SSHログインします。

hhvmを以下のコマンドでサーバとして実行します。
$ hhvm -m server
(control + c で停止)

ホストPCからブラウザで、
http://192.168.33.10/hello.php
へアクセスすると、
「HipHop」
と出力されます。

これで一旦HHVMの導入を終了です。



0 件のコメント:

コメントを投稿