【初心者】プログラミング未経験者がVagrant + VirtualBoxでWindows10上にfuelphpのローカル開発環境を構築するまでのメモ

--www.pakutaso.com-shared-img-thumb-gori0I9A9925

ようこそ、サルログへ!

ずっと前からプログラミングを身に着けたいと思っていましたが、なかなか勉強のための勉強は続かず挫折してました。
(以前Vagrantを使った環境構築をやってみましたがいまいちピンとこずそのままでした)

つい先日、挑戦したいことを考える時間があり色々と考えた結果、Web系の仕事って全て人件費だよなーと思っていて業務を効率化したいと思ってました。
ググれば色んな便利なツールはあるけど、業務で使えてめちゃくちゃ効率があがるツールってなかなかないんですよね。
で、本屋に行くと土日で分かるPHPプログラミング教室って本を見つけて、中身を見ると土日を使って社絡(社内連絡アプリ)を作りあげる一連の流れが載っていてこれだと思ったので即購入しました。

しかし、環境構築でつまづいてしまい結局1つ1つエラーを調べたり、ドットインストールでそもそもどんな仕組みなの?ってとこから勉強したり紆余曲折ありましたがなんとかfuelphpの画面を表示させるところまでこぎつけたのでメモとして残しておきます。

できるだけ正確にメモしたつもりでしたが、抜けている工程や説明が不十分なところはあると思うのでもし参考にされるならそれを承知で自己責任でお願いします。あくまでプログラミング未経験者が書いていることをお忘れないように・・・

まずはかなり遠回りしてしまいましたが、時系列で書いていきます。

開発環境の概要

  • OS:Windows10
  • Vagrantバージョン:Vagrant 1.8.5
  • VirtualBoxバージョン:5.1.4
  • gitバージョン:2.6.3.windows.1
    ※ここではfuelphpの環境には触れていません。

ざっくりやったこと

さきほど遠回りしたと書きましたが、詳しく説明すると

①本に従ってVagrantなどダウンロードしてvagrant up、色々試してもエラー

②以前使用していたVagrantのファイルなどが色んなとこにあったので、一度まっさらな状態にするためにVagrant、VirtualBoxなど関連するアプリ、ファイル関係を削除してアンインストール

③再度Vagrant、VirtualBoxをダウンロードしドットインストールで調べながらvagrant upするがエラー。調べて仮想マシンとホストの鍵があってないことが判明。作成したが、エラー。パーミッションの設定がまずいらしく、設定と色々試してvagrant upに成功。ここらへんでなんとなくgitbushやviエディタの使い方を理解する

④fuelphpの環境構築する方法を調べるとWebサーバーやデータベースなど環境構築に必要なセットがあるらしい。それをダウンロードしようとするとエラー。gitの設定がうまくいってないらしい。設定しなおし、エラーも対応しfuelphpのトップページを拝めた。

正直、④だけで構築できたぽいけど、遠回りしたことでなんとか理解しながら進められた。

単純にvagrant upできるようになるまでの道のり

ここは先程の③まっさらな状態でvagrant upするまでの道のりのメモ。ここではfuelphp環境構築には触れていません。

①Vagrantのダウンロード

Vagrantとは、一言で言えば環境構築を簡単に立ち上げるためのツールです。
1
Vagrantの公式ページより最新版ダウンロード
Download – Vagrant by HashiCorp
ファイル展開先:C:\HashiCorp\Vagrant\とC:\Users\★ユーザー名★\直下に展開

②VirtualBoxのダウンロード

VirtualBoxは使用しているPC上に仮想的なPCを作成して、別の OSをインストール・実行することができます。
2
VirtualBoxの公式ページより最新版ダウンロード
Downloads – Oracle VM VirtualBox
ファイル展開先:C:\Users\★ユーザー名★\直下に展開

③Gitのダウンロード

コマンドを入力する際に必要なGit bashなどもろもろ入ってます。
3
Gitの公式ページより最新版ダウンロード
Git – Downloading Package

④仮想環境(Box)のダウンロード

Boxとは、仮想マシンを構築する上で必要なテンプレートのようなものです。

↓↓ここからGit bashを使用してコマンドを入力しています↓↓
※Git bushは先程Gitをダウンロードした際に一緒についてきます。
※Git bushはコピー・ペーストは右クリックのメニューからできます。
※ペーストはInsertキーでもできます。

《Boxをダウンロード》

参考:http://www.vagrantbox.es/
※有志によるBoxファイル格納場所

ここでダウンロードしたboxは先程のディレクトリであるC:\Users\★ユーザー名★.vagrant.d\boxesに作られる。

《Boxの一覧リストを取得》

さきほどダウンロードしたBoxが表示されれば成功

⑤作業用ディレクトリの作成

デスクトップに仮想マシン用のディレクトリを作成していく。

《ディレクトリ作成》

※mkdirの後の【myCentOSVM】部分は好きな名前でOK

デスクトップに自分がつけた名前のフォルダがあれば成功

《ディレクトリ移動》

※homeディレクトリがDesktopになってない場合は
cd ~/Desktop/myCentOSVM
とする

参考:cdコマンド(ディレクトリの移動)

⑥仮想マシンを立ち上げるためのVagrantfileをmyCentOSVM内に作成

Vagrantfile は VM(仮想マシン)を立ち上げる際のconfigやprovision(立ち上げ時自動実行)を記述する重要ファイル です。
のちのちわかりますが、Vagrantfileがあるディレクトリに移動してvagrant upしないと仮想マシンは立ち上がりません。

《Vagrantfile生成》

※注意:vagrant initの後の【centos-6.4】部分は《Boxの一覧リストを取得》したときの名前にする。
またはC:\Users\★ユーザー名.vagrant.d\boxes内に作られたファイル名(box名)でもOK(上記と意味は同じ)

⑦仮想マシン立ち上げ ※ここでエラー発生

《仮想マシン立ち上げ》

ここで③まっさらな状態にして再度試しているのにもかかわらずエラーが発生。

⑦のvagrant upの途中でエラー

↑ssh接続の認証に失敗している模様・・・(該当エラー:default: Warning: Authentication failure. Retrying…)

については仮想マシンの立ち上げに時間がかかっていてタイムアウトした時にリトライしてますよといったエラー。
VirtualBoxのアプリを起動しながらvagrant upするとそれがよくわかるはず。
そして、仮想マシンが立ち上がりいざssh接続しようとするとエラーが起きる。こちらが対処しなきゃならないエラー。

ここからエラーがずっと続くのでCtrl + Cを押すと、エラーが止まります。

【default: Warning: Authentication failure. Retrying… エラー対処法】
参考:package化したboxを使うときによく出るエラー — blog.10rane.com
参考:Vagrant upで「Authentication failure.」エラーが出る場合 – じぶんメモ
参考:Vagrantのboxで鍵ログインした際にdefault: Warning: Authentication failure. Retryingが出る問題を解決する – Qiita

1.hostの秘密鍵を調べる。
《sshの設定内容を出力》

※IdentityFile の後ろが鍵があるディレクトリになるのでそのディレクトリをコピー。

2.公開鍵を作成
《公開鍵の作成》

すると今回の場合は【myCentOSVM直下】にpublic_keyというファイルができている。
public_keyを開いて中身をコピーしておく。

3.ゲストOSにさっき作った公開鍵を設定する。
《ssh接続》

パスワードを聞かれるので

vagrant と入力。
※このとき、入力しても画面に文字は表示されないがちゃんと入力されているので入力したらエンターを押す。

《ゲストOS(仮想マシン)に公開鍵を設定》

ゲストOSにauthorized_keysというファイルを作成されました。

すると、画面が切り替わります。今まではbashの画面でしたがここからはviエディタの画面になるので操作方法がかわります。
ーーー
参考:http://oxynotes.com/?p=3844

上書き保存 :w
終了 :q
保存して終了 :wq
保存せず終了(強制終了) :q!
行番号を表示 :set number
ーーー

viエディタの画面で先ほど【myCentOSVM直下】にpublic_keyというファイルを作って
コピーしたと思いますがその中身を貼り付けます。

a または i を押すと入力モードに変わるのでその状態で貼り付け。

貼り付けたら ESC を押して :wq と入力。これで公開鍵の内容が保存されました。

exit と押すとssh接続をログアウトができます。

そして再度 vagrant up

・・・

・・・

・・・

・・・

・・・

だめでした。。。

これでもだめっただので下記参考を試したらエラーの内容が変わったぞ!
参考:http://qiita.com/shyse/items/9ec50b868b90f847c75f

【試したこと】
《ssh接続》

《パーミッションの変更》
ゲストOSで

パーミッションの変更を行った。

パーミッションについて
参考:第2回 「パーミッションの意味と使い分け」 | Webデザインとグラフィックの総合情報サイト – MdN Design Interactive –

下記がそのエラー内容

↑なにやら Guest Additionsのバージョンが古いようだ。

参考:http://qiita.com/isaoshimizu/items/e217008b8f6e79eccc85

《vagrant-vbguestをダウンロード》

でvagrant-vbguestをダウンロードする。

《vagrant-vbguestをアップデート》

でアップデートする

上記をしたあと
vagrant reloadするとエラー内容が変わった。

↑Guest AdditionsはOKみたいだ。

よくよく見てみると、これでvagrant up成功のようだ!!!!!

主にエラーに対してやったことは
* hostとゲストOSの鍵を同じにしてあげた。
* パーミッションの変更
* Guest Additionsのアップデート

以上3つだ。

次はfuelphpの環境を構築していく。ここからは今までやったことのおかげで出なかったエラーもあるだろう。

fuelphpのローカル開発環境構築

参考:vagrant-centos6-php/README.ja.md at master · kenjis/vagrant-centos6-php
参考:FuelPHPの開発環境を20分で構築する(Vagrant編) — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something

vagrant upまでできたなら、fuelphpの環境を作るのは簡単。

下記のコマンドを実行するだけ。

git submodule addコマンドで、fuelphpの実行環境が整ったセットをダウンロードして、そのセットが入っている(Vagrantfileがある)ディレクトリに移動して、vagrant upするだけだ。

ただし、初めて環境構築するならばここでもまたエラーがでるはず。

それはGitのセットアップを行っていないために起こるエラー。

《Git 設定》
Setting up Gitを参考にユーザー名とメールアドレスを登録。
参考:Gitリポジトリの設定 – ユーザードキュメントを

《Git のSSH認証設定》
参考:Generating an SSH key – User Documentation
※ここの工程はすべてやったはず。

上記以外にも色々やったかもですが、fuelphpのローカル環境構築から少しずつエラーについての耐性がついてきてメモを取り忘れましたww
他にエラーが出た場合は、調べてみてください。

色々とエラーが解決したら

vagrant up

・・・

・・・

・・・

・・・

・・・

4
fuelphpの画面が表示されたー!! (http://localhost:8000/にアクセス)

まとめ

正直、土日で分かるPHPプログラミング教室のせいで環境構築でうまくできずfuelphpの画面を拝むまでに1周間かかりましたがとても勉強になりました!!
記事も書けたし、これからいそいそとPHPを打っていこうと思います。
早く、効率化できるアプリを作りたいなあ。それでは。

--www.pakutaso.com-shared-img-thumb-gori0I9A9925

大画面でサクサクプレイ
【徹底解説】これからPC版を始めるあなたに送るシャドウバースPC版の圧倒的メリット3つ

もっと大画面でサクサクプレイしたい。高画質で動画配信をしてみたい。新たにカードを引いて、新しく始めたい。そんな方におすすめ!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です