Vagrant 完成した開発環境をイメージ化して再展開する Laravel

IT関連

練習のためにvagrantでcentos環境を作ってLaravelを導入したりを繰り返し、だいたい操作は覚えた感じです。

となるといい加減に毎回環境を作るのは大変なので、完成させたイメージを保存する方法を備忘録しておきます。

 

やり方は簡単で、vagrant packageをするだけ。

といっても環境を完成させた後に行う。

環境とは、CentOS7を入れてhttpdを入れてphpを入れてLaravelを入れて・・などの開発環境。

 

一応前回の続き的な感じなので、詳しくはこちらを参照

ドットインストールのLaravelレッスン環境構築
ドットインストールでLaravelを勉強しようと思ったら開発環境の構築がよくわからない。 VagrantやLaravelのバージョンの違いのせいか、その通りにやっても動かない。 問い合わせをしようも絶賛サポート終了中。 これは困りましたね。...

 

環境を作り終えたら一旦sshから抜けて、Mac側に戻る。

$ exit

 

vagrantのコマンドなので、sshで入った先ではできません。

 

完成させた環境をboxイメージにするには

$ vagrant package

とする。

 

vagrantコマンドはこちらでまとめております。

Vagrant VirtualBoxのメモ
ボックスの一覧を見る vagrant box list ボックスを追加する centOS6はなぜかWebサーバの内容が表示されなかったのでcentOS7にした。一番下。 vagrant box add <VM名> <URL> vagrant...

 

 

すると同じディレクトリ内にpackage.boxというファイルができる。

これが保存されたイメージ。

 

それをbox addでbox listに保存する。

$ vagrant box add [好きな名前] package.box

//今回は下記にしておく
$ vagrant box add Laravel package.box

 

boxに追加されたかを確認するには

$ vagrant box list

 

このイメージを使って、新たに環境を作ればいい。

// 現在の環境から抜けて、新規の環境用フォルダで

// 作ったboxイメージを使って仮想マシンを初期化
$ vagrant init Laravel

// Vagrantファイルを編集
$ vi Vagrant

// 仮想環境を立ち上げる
$ vagrant up

という流れ。詳しくは上記の開発環境構築を御覧ください。

 

ちなみに、Laravel関連のディレクトリやファイルは引き継がれません。

ゆえにcomposerを使ってLaravelをインストールしなければいけない。

また、上記ドットインストール環境のように、httpdを自動起動するようにしていても、起動しない。

なぜならドキュメントルートであるLaravelディレクトリが存在しないから。

 

やることはcomposer create-projectでLaravelをインストールするか、Laravelフォルダをお引越しする。

そしてhttpdを起動する。

後は192.168.33.10なりアクセスすればLaravelのページが表示されるはずです。

 

イメージ化することで、Laravelプロジェクトのディレクトリ以外は完全に移植できた感じです。

と過程するとLaravelプロジェクトに対して変更をかけたものは再度やり直さなければならないということ。

 

ゆえにこれを行っておきます。

$ chmod -R 777 /var/www/html/myblog/storage/
$ chmod -R 777 /var/www/html/myblog/bootstrap/cache

 

これで同じ環境になったはずです。

以上です。

コメント

タイトルとURLをコピーしました