vagrant box / gardening update information

laravel/homesteadのCentOS7版のようなbox ytake/gardening というものをatlasで公開しています。

ytake.hateblo.jp

先月このボックスのアップデートを行いました。 CentOSのすぐ開発できるboxが欲しい!という方にはおそらくピッタリでしょう!

github.com

アップデート内容

PHP エクステンション追加

このboxには実はかなり多彩なエクステンションが含まれています(!)

大規模アプリケーションで利用されるcassandra、couchbase(最新の4.5対応版)、rdkafka(apache kafka)
など万人向けではありませんが、導入が少し厄介なものに加えて、
microsoftsql serverがすぐに利用できるようにpdoドライバなども導入してあります。

その中でも、最近利用されるケースも多いv8jsエクステンションですが、
CentOSで利用するにはビルドや導入が結構難しかったりする場合もありますが、
今回のアップデートでエクステンションに追加しました。

CentOSでもサーバサイドレンダリングができるようになりますので、気軽に試すことができます。

含まれているエクステンションは以下の通りです

[PHP Modules]
amqp
apc
apcu
bcmath
bz2
calendar
cassandra
Core
couchbase
ctype
curl
date
dom
event
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imagick
json
ldap
libxml
mbstring
mcrypt
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
pcs
PDO
pdo_dblib
pdo_mysql
pdo_pgsql
pdo_sqlite
pdo_sqlsrv
pgsql
phalcon
Phar
posix
rdkafka
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
sqlsrv
standard
Stomp
sysvmsg
sysvsem
sysvshm
tokenizer
uopz
uuid
v8js
wddx
xdebug
xhprof
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib
zmq

[Zend Modules]
Xdebug
Zend OPcache

php-dbgも利用できます

HHVM アップデート

HHVM 3.15 に更新しています。
LTSの3.18が利用できるようになればまた更新します。

MySQL PostgreSQL アップデート

これまでMySQL5.6でしたが5.7へやっとアップデートしました。
5.6から5.7に変わり、初回パスワードなどの対応が面倒くさく、後回しにしていましたw
PostgreSQLは9.5へアップデートしています。

これに伴い、データベースのアカウント、パスワードを下記のものに変更しました。

user: gardening
password: 00:secreT,@

Symfony対応

symfonyの開発がすぐにできるようにと対応しました。

対応方法は導入時に配置されるgardening.yaml(or gardening.json)に次のように記述します。

sites:
    - map: gardening.app
      to: /home/vagrant/yourProject/public
      type: symfony

かんたん! (HHVMで動かす場合は hhvm: true)

node.js周り

vagrantでの開発環境ということで以下のものをグローバルにインストールしています。

npm install -g typescript
npm install -g webpack
npm install -g nuclide
npm install -g yarn

HHVMに対応しているboxということもあり、nuclideで開発するための環境も一応用意しています。

その他細かい変更

  • supervisorの追加
  • elasticsearch 5.1アップデート
  • couchbase 4.5アップデート
  • golang 削除(環境問わず開発できるため削除しました)

RDBMS以外のデータベースの利用方法については、readmeに記載しています

オプションの利用方法

*気づかれていませんが、このboxはNginxとApache HTTP Serverの切り替えができます(!)