ENTRY TITLE

Mac OS X Yosemiteで Vagrantの後継と言われるOttoでPHPを動かしてみました

  • LINEで送る
  • このエントリーをはてなブックマークに追加

ちょいと出遅れた感もありますが、流れに便乗してVagrantの後継と言われるOttoを試してみたのでまとめておきます。
ざっくりですし、正解かわからないのであしからずです。

ダウンロードしたファイルを設置

https://ottoproject.io
ダウンロードはこちらから。

設置場所は自分でもかなりさぐりさぐりでした。
結局これが正解かはわかりませんのであしからず。

自分は、Macintosh HD → bin の中に設置しました。

パスを通す

[code lang=”js”]
Benzoh-MBP:Benzoh$ export PATH=PATH:/bin/
[/code]

展開する

[code lang=”js”]
Benzoh-MBP:Benzoh$ otto
usage: otto [–version] [–help] <command> [<args>]

Available commands are:
build Build the deployable artifact for the app
compile Prepares your project for being run.
deploy Deploy the application
dev Start and manage a development environment
infra Builds the infrastructure for the Appfile
status Status of the stages of this application
version Prints the Otto version
[/code]

コンパイルする

動かしたい作業ディレクトリへ移動してから
[code lang=”js”]
Benzoh-MBP:form Benzoh$ otto compile
==> Loading Appfile…
==> No Appfile found! Detecting project information…
No Appfile was found. If there is no Appfile, Otto will do its best
to detect the type of application this is and set reasonable defaults.
This is a good way to get started with Otto, but over time we recommend
writing a real Appfile since this will allow more complex customizations,
the ability to reference dependencies, versioning, and more.
==> Fetching all Appfile dependencies…
==> Compiling…
Application: form (php)
Project: form
Infrastructure: aws (simple)

Compiling infra…
Compiling foundation: consul
==> Compiling main application…
==> Compilation success!
This means that Otto is now ready to start a development environment,
deploy this application, build the supporting infastructure, and
more. See the help for more information.

Supporting files to enable Otto to manage your application from
development to deployment have been placed in the output directory.
These files can be manually inspected to determine what Otto will do.
[/code]

なんと必要な環境を自動判定される!

環境ビルド

[code lang=”js”]

Benzoh-MBP:form Benzoh$ otto dev
Would you like Otto to install Vagrant?
Otto requires vagrant to be installed, but it couldn’t be found on your
system. Otto can install the latest version of vagrant for you. vagrant
will be installed system-wide since it uses system-specific installers.
Would you like Otto to install vagrant for you? Alternatively, you may install
this on your own.

If you answer yes, Otto will install vagrant version 1.7.4.

Please enter ‘yes’ to continue. Any other value will exit.

Enter a value: yes

==> Downloading Vagrant v1.7.4…
URL: https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.4.dmg

85.3 MB/85.3 MB
Error building dev environment: exec: "bash": executable file not found in $PATH

[/code]

vagrant のバーションが古い場合アップデートを求められる。

ここでなんかよくわからんことになりました。
bashのパスが通ってないやら、virtualboxのバイナリがないやらいろいろエラーが。。

いやいやこないだまで普通にvagrant動いてたから!
よし、一旦いつもどおりvagrantを起動してみよう と思いました。

一度ターミナル落として、再起動、vagrantfileのあるDirectoryに移ってvagrant up!!

動くじゃん。

ここぞとばかりにさっきottoのApp file作ったDirectoryに移動して、otto dev!!

動くじゃん!!
なんじゃいな。

[code lang=”js”]
Benzoh-MBP:form Benzoh$ otto dev
==> Creating local development environment with Vagrant if it doesn’t exist…
Raw Vagrant output will begin streaming in below. Otto does
not create this output. It is mirrored directly from Vagrant
while the development environment is being created.

Bringing machine ‘default’ up with ‘virtualbox’ provider…
==> default: Box ‘hashicorp/precise64’ could not be found. Attempting to find and install…
default: Box Provider: virtualbox
default: Box Version: >= 0

// づらーっとデフォルトの設定

==> default: Use it: php composer.phar

==> Caching SSH credentials from Vagrant…
==> Development environment successfully created!
IP address: 172.16.1.101

A development environment has been created for writing a PHP app.

Edit files locally on your machine, the file changes will be synced
to the development environment automatically.

To run and view your application, run ‘otto dev ssh’ to enter the
development environment. You’ll be placed directly into the working
directory where you can run "composer", "php", etc.

You can access the environment from this machine using the IP address above.
For example, if you start your app with ‘php -S 0.0.0.0:5000’, then you can
access it using the above IP at port 5000.

[/code]

続いてSSH

[code lang=”js”]

Benzoh-MBP:form Benzoh$ otto dev ssh
==> Executing SSH. This may take a few seconds…
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)

* Documentation: https://help.ubuntu.com/
New release ‘14.04.3 LTS’ available.
Run ‘do-release-upgrade’ to upgrade to it.

Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep 14 06:23:18 2012 from 10.0.2.2

[/code]

ログインした!

よしよし、じゃあPHPを動かしますよ
説明通りに振られたIPに、例の通り、ポートをあてこんじゃってエンター!

[code lang=”js”]

vagrant@precise64:/vagrant$ php -S 172.16.1.101:5000
PHP 5.6.14-1+deb.sury.org~precise+1 Development Server started at Fri Oct 9 12:59:58 2015
Listening on http://172.16.1.101:5000
Document root is /vagrant
Press Ctrl-C to quit.

[/code]

起動した!

で、http://172.16.1.101:5000にアクセス。

う、動いた。。

結構苦労した。

よくよく考えるとこれデータベースはどうすんでしょう。
わからん。

あと、本番環境をつくることもできる見たいですが、まぁ自分はとりあえず使わないのでローカル環境のみの構築のお話でした。

んー、データベースまわりがまだわからんのんでしばらくは使わないですかね。実際。

なんとなくローカルだけで使うならvagrantのが、シンプルでいいかもですね。

では!

覚え書き

次回以降の立ち上げ
[code lang=”js”]
cd 作業ディレクトリに移動
otto dev ssh
php -S 172.16.1.101:5000
[/code]
で、起動

  • LINEで送る
  • このエントリーをはてなブックマークに追加

RELATED POST関連する記事を表示しています

POPULAR POST人気の記事を表示しています