Laravelが動く環境を整える

勉強日記
この記事は約6分で読めます。

毎日少しづつ

何かと新しい事を始めるのはめんどうですね。
とは言ったものの始めないと勉強するもなにも無いので、少しづつ全身していこうかと思います。

最終的にLaravelで作ったアプリをherokuで公開するのが目的ですが、まずはローカル環境を作らねば。

クラウド・アプリケーション・プラットフォーム | Heroku
Heroku は、アプリケーションの開発から実行、運用までのすべてをクラウドで完結できる PaaS(サービスとしてのプラットフォーム)です。

もう最初に泣き言をいいますが、このローカル環境を作るのが大変なんですよね。
ちょっと前までcloud9?とかいうサービスでかなりサクっと作れたのですが、amazonに吸収されてから使い勝手が悪くなったので使ってないです。
ローカル環境構築はVagrantを使います。

今時Vagrant使うとかださーい。

Dockerにしなよ~。

いいのです、Vagrantに慣れているのだから。
とは言ってもDockerも出てから大分時期が経っているので、そろそろ使いこなせないといけないかもです・・・。
こちとらgitすら危ういのに。

そういえばherokuで公開するならDBをPostgreSQLにしないとダメですね。
PostgreSQLはMySQLより機能的には勝っていると思うのですが、使い方がちょっと難しいですね。
wordpressもMySQLを前提に作られています。
wordpressを無理やりPostgreSQLで作った事もあるのですが、とても使えたもんじゃありませんでした。
Laravelでは普通に使える事を願います。

ローカル環境を作ろう

まずは、vagrantの最新verを取ってきます。
特に最新じゃなくてもいい気がするのですが、たまにしか使わないので、前回使用したのが約1年前なので最新のにします。

Vagrant by HashiCorp
Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.

から最新物を落としてインストールします。
古いverが入っていたので、結構インストールに時間がかかりました。
ついでにVirtualBoxも最新の物にします。
これは何に使うかというとvagrant自体がただの仮想空間簡単に作れるソフトで、実際にはVirtualBoxを起動させて仮想PCを作るので必要になります。
※特にVirtualBoxじゃないとダメな理由は無いです。

Oracle VM VirtualBox - ダウンロード | Oracle 日本
Oracle VM VirtualBox - ダウンロード

これも最新のをDL。
インストール時に色々出てきますが、全部飛ばしてOK(多分)
ちなみに両方とも再起動の指示が出ました。
インストールする方はご注意下さい。

これで仮想PCを作る用意が出来ました。
次に主にlinuxですが、核となるOSを下記の様なサイトでゲットします。

A list of base boxes for Vagrant - Vagrantbox.es

ずら~っと出てきますが、centOSの何かでいいでしょう。
ubuntu系は良く分からないので・・・。
centosも古すぎるとPHPやらDBやらのパッケージが古すぎて最新のを入れないとダメなので逆に面倒です。
といっても多分リポジトリを追加しないとPHPとPostgreSQLは最新版が入らないと思いますが。

次に上のサイトで手に入れたOSのイメージをvagrantに登録します。
なんかcentos7って前に入れた事があるようなないような・・・。

とりあえず下のコマンドをコマンドプロンプトか、パワーシェルを管理者権限で実行してあげます。
vagrant box add centos7 <上のサイトでコピーしたBOXのURL>

後は適当にフォルダを作ってそのフォルダでコマンドプロンプトか、パワーシェルを管理者権限で
vagrant init centos7
してあげます。(うる覚え)

そうしたら、フォルダに設定ファイルが出来ています。
centos7

ファイルの中身はずらずら~っと設定が書いてあります。
正直何回かvagrantを使っているのであれば、最近使った設定ファイルを少し書き換えて使った方が楽かもしれません。
vagrant

この設定ファイルを元にvagrantが新しい仮想PCを作ってくれます。
なんかもっと細かい設定を書いたら色々と楽だった気がするんですが、前の会社が仮想PCでなくEC2を個人ごとに作るというなかなか大胆な会社だったので、忘れました。
確かにEC2であればコピーとか楽なので環境を用意する側としてはいいですよね。

設定ファイルを書き換えてあげたら
vagrant up
してあげれば問題無ければ立ち上がります。

順調にいくかと思っていたんですが、何か怪しげなメッセージが

==> default: Importing base box 'centos7'...
==> default: Matching MAC address for NAT networking...
==> default: [vagrant-hostsupdater] Checking for host entries
==> default: Setting the name of the VM: Laravel_default_1625732147196_99836
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 80 (guest) => 8080 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

何かVirtualBoxが原因っぽいですね、結構vagrantとVirtualBoxはverによって上手くいかない事があります。
ググって見たら先人たちのご意見が。
このエラーの意図するところ
とりあえず、このメッセージでググってみる。

先人たちは偉大です、結局私は下記のエラーのせいで立ち上がらなかった様です。

Windows10の大型アップデート May 2019 Update (build 1903)を実行するとHyper-Vが有効になってました。Hyper-Vを無効にすると元通り、治ります。

Windows 10 May 2019 Update (build 1903)を実行したら Vagrant環境が立ち上がらない - Qiita
Windows 10 May 2019 Update (build 1903)を実行したら Vagrantが立ち上がらなくなってしまった。 超概要 Windows10の大型アップデート May 2019 Update (buil...

何だと!?まぁとりあえずやってみるか、ポチポチ

vagrant up

立ち上がった!
とりあえず中に入ってみましょう。
入れました。
vagrant

良かった、良かった。
とりあえず、立ち上がったので、ちょっと休憩ですw

Amazon.co.jp : vagrant

コメント

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