福岡拠点の香月です。
LaravelはPHPのWebアプリケーションフレームワークです。
今後これの勉強を兼ねて不定期にLaravelの記事を書いていきたいと思います。
まずは環境構築編その1としてインフラ構築について実践記です。
用意する環境は
-
- VirtualBoxとVagrantを使ってVM(仮想マシン)を構築
- ホストOSはWindows 10
- ゲストOSはCentOS 7.2
- ゲストOS上にapache2.4を導入
となります。では早速行ってみよう。
VirtualBoxのインストール
Oracleのホームページから最新版をダウンロードします。
この時の最新版は5.2.8。PlatformのWindowsのところを見ると64bit版しかない模様。ダウンロードしたらインストーラを実行します。選択肢はすべてデフォルトのままでOK。サクッといきます。
Vagrantのインストール
続いてVagrant。これはVirtualBox上にVMを簡単に作成してくれるすごいツールです。これをVargarnのホームページから最新版をダウンロードして実行します。
この時の最新版は2.1.1。こちらも64bit版を選択。
選択肢らしい選択肢はないのでデフォルトのままインストールします。
仮想マシンを作成:CentOS7.2
ではここから仮想マシンの作成です。
仮想マシンはVagrantのboxと呼ばれるデータが公開されており、ここから目的に合致したboxを選択して仮想マシンを作成します。
公開サイトの検索窓で「bento/centos」と入力して表示されるなかからCentOS7.2を選択します。(「bento」は「弁当」なんですね。)
詳細サイトにはこのboxの使用方法が書いているので、newタブに書かれている通りにコマンドを実行することになります。
まずはWindowsのエクスプローラで好きな場所にフォルダを作成し、そこをVM作業フォルダとします。C:\vm\centos72としましょう。コマンドプロンプトでそのフォルダに移動し、上記newタブのコマンドを実行します。
1 2 |
C:\vm\centos72> vagrant init bento/centos-7.2 C:\vm\centos72> vagrant up |
1行目で初期化処理がはしり、作業フォルダに「Vagrantfile」が作成されます。
2行目でCentOS7.2用のboxがダウンロードされ、VirtualBox用仮想マシンを展開、実行開始となります。
これで仮想マシンが作成され、CentOS7.2が起動しました。簡単。
次は一度止めてapacheにホストOSのブラウザからアクセスするためにポートフォワーディングの設定をします。
仮想マシンを停止するコマンドはこう!
1 |
C:\vm\centos72>vagrant halt |
止まったら作業フォルダにあるVagrantfileをエディタで開いて、以下の行を有効にしましょう。
1 2 3 |
# config.vm.network "forwarded_port", guest: 80, host: 8080 ↓ config.vm.network "forwarded_port", guest: 80, host: 8080 |
これでブラウザから「http://localhost:8080/」を開くと、CentOS上のポート80番で待ち受けているapacheが反応してくれます(apacheのインストールまだこの後)。ホストOSですでにwebサーバーを実行している場合にポート番号の重複を防ぐことができます。
では再びCentOSを起動しましょう。
1 |
C:\vm\centos72>vagrant up |
今度はboxをダウンロードする必要はないためすぐにCentOSが起動します。
apacheのインストール
次はCentOS上にapacheをインストールします。
PuTTYなどターミナルソフトでローカルポート2222にsshでアクセスします。
ユーザー名、パスワードは「vagrant」となっています。打ち込みましょう。
無事ログインできました。
※sshのデフォルトポートは22でこのCentOSでも22で動いています。ターミナルソフトで2222でアクセスするのは、Vagrantでは「2222」->「22」へのポートフォワーディングが常に有効なためです。
CentOSではyumコマンドを使ってソフトをインストールできます。ソースからビルドするより簡単ですね。ユーザーrootで実行します。
1 2 |
# sudo -s # yum install httpd |
途中いくつか確認が求められるので「y」で続行するとインストール完了です。
次のコマンドでapacheを起動して
1 |
# systemctl start httpd |
ブラウザから「http://localhost:8080」にアクセスしてみましょう。
ページを表示できました。
もしここで表示できない場合、上に戻ってポートフォワーディングの設定を確認してください。
CentOSを再起動してもapacheが実行されるようにしておきます。
1 |
# systemctl enable httpd.service |
これでインフラは完成しました。はず。
次回はPHP、Comporser、Laravelのインストールの予定です。