vagrant

CentOS6.7のローカル開発環境を構築をした ②

はじめに

今回は、Vagrant で立ち上げた CentOS6.7 の仮想マシン上にWebサーバーをインストールし、ドキュメントルートにアップしたHTMLファイルをブラウザから確認するまでの流れをまとめる。

環境

・OS:macOS Sierra(Version 10.12.3)
・Vagrant:1.9.1

httpサーバー Apache をインストールする

httpサーバーの代表的なソフトウェア Apache をインストールする。
※ CentOSでは、httpd は Apache のことを指す。

次にhttpdを起動する。

下記のコマンドで、サーバー起動時にhttpdもあわせて起動させるように設定する。

正しく設定されているかどうかは下記のコマンドで確認できる。

Linuxサーバーには0〜6までの起動モードがあり、通常使用においては、起動モードは3になっている。
上記では 3:on となっており、「起動モード3のとき、サーバー起動時にhttpdも自動的に起動される」ことを示している。
この設定になっていればOK!

httpdが起動し、Webサーバーとして使えるようになった。

HTMLファイルをブラウザから確認する

ドキュメントルートにHTMLファイルをアップロードして、ブラウザで正しく表示されるかどうか確認する。

Vagrant ファイルを編集する

下記のようにコメントアウトされている一行があるので、コメントアウトを外す。

保存をしたら、Vagrant をリロードする。

リロード完了後、192.168.33.10にアクセスしてみる。
このような画面が確認できればブラウザからアクセスできたということになる。

Apache

SFTPを使ってファイルをアップロードする

ファイル転送ツールを使えば、MacからCentOS内のファイルを参照できる。
今回は、Cyberduck を使用した。

Cyberduck
https://cyberduck.io/index.ja.html?l=ja

SSH接続に必要な情報は、Vagrant を立ち上げる際に出力されるログに書かれている。

しかし、このままだと、ドキュメントルートへのアクセス権限がないのでファイルをアップロードすることができない。

ドキュメントルートの権限を変更する

ドキュメントルートのパーミッションを変更して、ファイルをアップロードできるようにした。

まず、下記のコマンドで現在のパーミッションを確認する。

以下の情報が読み取れる。
・ 対象のディレクトリ(またはファイル)名:html
・ ディレクトリ “html” の所有者名:root
・ ディレクトリ “html” の所有グループ名:root
・ 所有者rootの権限:rwx(read, write, execute)
・ グループrootの権限:r-x(read, execute)
・ rootでもなく、rootグループにも属さない他人(other)の権限:r-x(read, execute)

先ほどSFTPツールで、ファイルをアップロードするのに使ったユーザーは、一般ユーザーの vagrant である。
このユーザーは root ユーザーでもないし、root グループにも属していないので、”他人” 扱いになる。したがって、html ディレクトリの中を覗くこと(= read)はできるが、ファイルを置くといった “write” が出来ない権限になる。

したがって、「htmlディレクトリに、vagrant で書き込みできる権限(write権限)をつける」ことでアップロード時のエラーは解消できる。

下記のコマンドでパーミッションを変更する。

chown はファイルやディレクトリの所有者を変更するコマンドである。vagrant:vagrant と指定することで、htmlディレクトリの所有者を vagrant に、グループを vagrant にしている。
chmod は権限を変更する。htmlディレクトリを775という権限にしている。
この’775’の意味は、rwxrwxr-x を3つのブロックに分け、r=4、w=2、x=1と数値化して計算した合計の値である。

変更後のパーミッションを確認する。

OK!

SFTPを使ってファイルをアップロードする(再び)

下記のような「test.html」のファイルを作成して、Cyberduckを使ってドキュメントルートにアップする。

ブラウザで、http://192.168.33.10/test.html へアクセスし、下記のように表示されればOK!

おわりに

Vagrantを使用したローカル開発環境の構築が完了した。
次は、WordPressのテスト環境を構築しようかな。

参考ページ

「Webサーバーを構築しよう(1)」~初心者でもよくわかる!VPSによるWebサーバー構築講座(3)
http://knowledge.sakura.ad.jp/beginner/2978/

今日からすぐできる!VagrantとVirtualBoxを使ってローカル開発環境を構築する方法【初心者向け】
https://techacademy.jp/magazine/6304

シェアしていただけると嬉しいです

スポンサーリンク