【CentOS6終了につきサポート終了】 ローカル開発環境の構築 [macOS版]

macOS上にローカル開発環境を構築していく方法について見ていきます。
0%
このレッスンはアーカイブされました
このレッスンは視聴可能ですが、質問の受付や内容の更新は終了しております。

ローカル開発環境の構築について

2020年11月30日をもって CentOS 6 のサポート期間が終了したため、このレッスンで解説している CentOS 6 をベースとしたローカル開発環境の構築は実施不可となりました。ご了承ください。

なお、すでに構築済みの環境はそのままご利用いただけますが、新たなアプリケーションのインストール等は実施できません。

#01 ローカル開発環境を整えよう
2019年4月29日

Cloud9 については以下のレッスンを参考にしてみてください。

・AWS Cloud9入門 (全11回)
https://dotinstall.com/lessons/basic_c9_v2

#02 VirtualBoxをインストールしていこう
2019年11月8日

VirtualBox のインストールを進めていくと最後に以下のようなダイアログが表示される場合があります。

virtualbox-install-error-01.jpg

これを回避するには以下の手順にしたがってください。

  1. システム環境設定の「セキュリティとプライバシー」-「一般」を開く。
  2. その画面の下部にある「変更するにはカギをクリックします。」をクリックしてロックを解除する。
  3. ロックを解除したら「開発元"Oracle America, Inc."のシステムソフトウェアの読み込みがブロックされました。」の隣の許可ボタンをクリック。

ここまでできたら VirtualBox.pkg をダブルクリックして VirtualBox のインストールをもう一度実行してみてください。

最後に「インストールが完了しました。」と表示されれば大丈夫です。

2018年4月27日

以下のリンクからたどり、ご利用の OS にあわせてダウンロードしてみてください。

https://www.virtualbox.org/wiki/Download_Old_Builds

#03 Vagrantをインストールしていこう
2020年4月29日

最新の Vagrant は古いバージョンの macOS に対応していないため、

https://releases.hashicorp.com/vagrant/2.2.6/

から vagrant_2.2.6_x86_64.dmg をダウンロードしてインストールしてください。

また、Vagrant 2.2.6 は VirtualBox 6.1 に対応していないため、VirtualBox 6.0 系をインストールし直す必要もあります。

https://www.virtualbox.org/wiki/Download_Old_Builds_6_0

2019年11月9日

Vagrant をインストールしようとすると以下のようなダイアログが表示されてインストールができない場合があります。

vagrant-install-error-01.jpg

このダイアログが表示されたら以下の手順にしたがってみてください。

  1. 「OK」を押してダイアログを閉じる。
  2. システム環境設定の「セキュリティとプライバシー」-「一般」を開く。
  3. 下のほうに「"vagrant.pkg"は開発元を確認できないため、使用がブロックされました。」とメッセージが表示されていたら「このまま開く」をクリック。
  4. もう一度ダイアログが表示されるので「開く」をクリック。

あとは動画通りにインストールを進めてください。

#04 ターミナルの設定をしていこう
2019年11月8日

macOS Catalina では zsh というプログラムが使用されているため、ターミナルの表示は以下のように「アカウント名@mbp ~ %」となります。

catalina-terminal-prompt.jpg

2019年1月22日

レッスンでは今後の説明を分かりやすくするためにコンピュータ名を変更していますが、変更は必須事項ではありません。

レッスン通りに実施しても変更できないケースがあるようですので、変更できない場合はそのまま進められて構いません。

#06 仮想マシンを立ち上げよう
2020年5月7日

動画中で利用したコマンドは以下のとおりです。

なお、動画の最初に実施している vagrant-vbguest プラグインの導入はエラーを引き起こす可能性があるため、実施しないようにしてください。

# ホームディレクトリに移動
cd

# 今後複数の仮想マシンを作ることを想定して、それらをまとめるフォルダ(MyVagrant)を作る
mkdir MyVagrant

# MyVagrantに移動する
cd MyVagrant

# 仮想マシンを作るフォルダを作る(MyCentOS)
mkdir MyCentOS

# MyCentOSに移動する
cd MyCentOS

# 仮想マシン設定用のVagrantfileを作る
vagrant init bento/centos-6.8

# Vagrantfileを編集して仮想マシンのIPアドレスを192.168.33.10にする
sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile

# 仮想マシンを起動する(少し時間かかります)
vagrant up

# 仮想マシンの状態を確認する
vagrant status
2018年2月22日

今回「MyVagrant」というフォルダの中に「MyCentOS」というフォルダをさらに作成して、そのフォルダ上で vagrant コマンドを実行しています。

/Users/ユーザー名/MyVagrant/MyCentOS

というフォルダ階層になっています。

仮想マシンは vagrant init や vagrant up コマンドを実行したフォルダ上で作成されますので、もし別のフォルダ上で実行してしまうともう1つ別の仮想マシンが作成されてしまいます。

続きを表示する...

現在のフォルダを確認するには pwd というコマンドが利用できますので、今どこのフォルダにいるのか分からなくなった時には pwd コマンドで確認してみてください。

  • フォルダの階層構造を意識する
  • 仮想マシンはコマンドを実行したフォルダに作られる
  • 現在のフォルダを確認するには pwd コマンドを使う

このあたりのポイントを意識しておきましょう。

2020年3月15日

最新の Vagrant が古いバージョンの macOS に対応していないためと考えられます。

https://releases.hashicorp.com/vagrant/2.2.6/

から vagrant_2.2.6_x86_64.dmg をダウンロードしてインストールし直してみてください。

2019年12月12日

vagrant up を実行すると、

No usable default provider could be found for your system.

Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.

The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.

If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.

というエラーメッセージが表示される場合があります。

これは VirtualBox の新しいバージョンがリリースされたばかりで Vagrant がそのバージョンにまだ対応してない時や、そもそも VirtualBox がインストールされていない時に表示されるエラーメッセージです。

新しいバージョンでこのエラーが発生したのなら古いバージョンの VirtualBox をインストールすることで回避できます。

2019年9月11日

vagrant up を実行すると以下のようなエラーが出る場合があります。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'bento/centos-6.8' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
The box 'bento/centos-6.8' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://vagrantcloud.com/bento/centos-6.8"]
Error: SSL certificate problem: self signed certificate in certificate chain

ウイルス対策ソフトのようなセキュリティソフトが影響している可能性がありますので、一旦セキュリティソフトをオフにしてから試してみてください。

2018年2月22日

VBoxManage.exe がエラーとなる原因はいくつかあります。

主な原因として仮想マシンが正常に終了せず、異常停止している場合がありますので、まずは vagrant halt で仮想マシンを確実に終了させ、その後 vagrant up を試してみてください。

それでも解決しない場合は、一度 VirtualBox をアンインストールし、最新版の VirtualBox をインストールし直してみてください。

続きを表示する...

エラーメッセージの例 (1)
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "0205901d-9668-44e7-94d0-ee4d5bd9306a", "--type", "headless"]

Stderr: VBoxManage.exe: error: Interface ('VirtualBox Host-Only Ethernet Adapter #2') is not a Host-Only Adapter interface (VERR_INTERNAL_ERROR)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
エラーメッセージの例 (2)
Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: E_FAIL
VBoxManage.exe: error: Failed to create the host-only adapter
VBoxManage.exe: error: Could not find Host Interface Networking driver! Please reinstall
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInte
rface
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCreate(struct HandlerArg *)" at line 94 of file VBoxManag
eHostonly.cpp
2018年2月22日

vagrant up の実行時に「Vagrant was unable to mount VirtualBox shared folders.」で始まるエラーメッセージが出る場合があります。このエラーが発生すると共有フォルダ機能が使えなくなりますが、レッスンでは利用していないためそのままでも問題ありません。

続きを表示する...

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=500,gid=500 vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device
#07 仮想マシンの設定をしよう
2020年5月7日
動画中で利用したコマンドは以下のとおりです。
# OSを最新状態にアップデート(時間かかります)
sudo yum -y update

# スクリプトを入手するためのgitをインストール
sudo yum -y install git

# gitを使ってアプリケーション設定用のスクリプトをダウンロード
git clone https://github.com/dotinstallres/centos6.git

# centos6フォルダができるのでそちらに移動
cd centos6

# スクリプトを実行(時間かかります)
./run.sh

# もろもろの設定を反映
exec $SHELL -l
2020年10月24日

2020年5月現在、MySQL 公式リポジトリの CDN サーバー間でキャッシュの不一致があるようで、MySQL のインストール時にエラーとなるケースが確認されています。

TASK [install mysql] ***
fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "http://repo.mysql.com/yum/mysql-5.6-community/el/6/x86_64/mysql-community-client-5.6.47-2.el6.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=mysql56-community clean metadata\nTrying other mirror.\n

こちらは使用するネットワークにより発生したりしなかったりすることが分かっています。

まずは可能であれば使用ネットワーク回線を変更してみてください。

また、以下のコマンドでバージョン 5.6.38 がインストールできるかどうか試してみてください。(以下のコードを7行まとめてコピー&ペースト。)

sudo yum clean all
sudo yum -y install mysql-community-common-5.6.38 \
         mysql-community-client-5.6.38 \
         mysql-community-libs-5.6.38 \
         mysql-community-server-5.6.38 \
         mysql-community-devel-5.6.38 \
         mysql-community-libs-compat-5.6.38 \
         mysql-utilities

インストールができたら、もう一度 ./run.sh を実行してみましょう。

上記の対策で解決できない場合、一旦ローカル開発環境の構築は保留して AWS Cloud9 での学習をおすすめしております。

2020年1月17日

ターミナルを起動し直すとホームフォルダに戻ってしまいますので、

cd
cd MyVagrant
cd MyCentOS

と実行して MyCentOS フォルダに移動した状態からレッスンを始めるようにしましょう。

なお、フォルダと仮想マシンの関係については #06 仮想マシンを立ち上げよう の補足情報「フォルダの階層構造を意識しましょう」も参考にしてみてください。

2019年10月3日

セットアップ終了後に何かコマンドを実行すると、

-bash: pyenv: コマンドが見つかりません

と表示されることがあります。

このメッセージが表示される場合はセットアップに失敗していますので、以下のコマンドでセットアップをやり直してみてください。

rm -rf ~/.pyenv
cd ~/centos6
./run.sh
exec $SHELL -l
#09 仮想マシンにアクセスしてみよう
2019年9月3日

ウイルス対策ソフトのようなセキュリティソフトをご利用の場合、Cyberduck の通信を遮断してしまう場合があります。

一旦セキュリティソフトをオフにしてから試してみてください。

#10 PHPの学習をしてみよう
2019年12月30日

動画ではホームフォルダに戻る手順を省略しています。

もしうまく php_lessons に移動できないときは、

cd

とだけ実行してホームフォルダに戻ってから、

cd php_lessons

と実行するようにしましょう。

2018年2月22日

#07 仮想マシンの設定をしよう | ローカル開発環境の構築 [macOS編] のレッスンで実行した「./run.sh」のコマンドが途中でエラーになった可能性があります。

cd ~/centos6
./run.sh

と実行し、実行が完了したら php -v と打って PHP のバージョン情報が表示されるか確認してみてください。

2019年10月3日

何かコマンドを実行すると、

-bash: pyenv: コマンドが見つかりません

と表示されることがあります。

このメッセージが表示される場合はセットアップに失敗していますので、以下のコマンドでセットアップをやり直してみてください。

rm -rf ~/.pyenv
cd ~/centos6
./run.sh
exec $SHELL -l
2018年9月11日

何らかの原因でテンポラリファイルの作成に失敗していることが原因です。

Cyberduck を完全に終了させてからもう一度やり直してみてください。

2017年1月15日

php -S 192.168.33.10:8000 の「-S」が小文字になっている可能性があります。

「-S」は大文字で入力するようにしてください。

#01 ローカル開発環境を整えよう
#02 VirtualBoxをインストールしていこう
#03 Vagrantをインストールしていこう
#06 仮想マシンを立ち上げよう
#07 仮想マシンの設定をしよう
2022年1月27日
#08 Cyberduckをインストールしよう
#09 仮想マシンにアクセスしてみよう
#10 PHPの学習をしてみよう
2022年1月27日
#12 学習を再開してみよう
2022年1月27日
#13 Transmitを使ってみよう
#14 hostsファイルを編集してみよう