【Mac】Vagrantをインストールし、Apache、PHP、phpMyAdmin、MySQLインストールまで


俺日記のしんじです。一人称は僕です。

目標

VagrantをMacにインストールし、Apache、PHP、phpMyAdmin、MySQLなど基本ソフトインストール。接続確認まで。

前提

http://www.vagrantup.com/
上記公式サイトから最新版をインストール。
インストール後 vagrantコマンドが使えるようになっていることを確認。
※予めVirtual Boxもインストールしておく。

目次

  1. BOXの追加
  2. BOXの初期化
  3. 仮想マシンの起動・停止
  4. 仮想マシンのSSH接続
  5. 仮想マシンのネットワーク設定
  6. Apache, php, MySQL, phpMyAdminのインストール
  7. ホストマシンのhtdocsと同期させる

内容

BOXの追加

CentOS 6.4のBoxを追加する場合。

$ vagrant box add centos64 https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box

※OSは http://www.vagrantbox.es/から取得可能.下記の形式でBOXを追加する

$ vagrant box add {name} {url}

※既に追加したBOXのリストは下記のコマンドで確認可能。

$ vagrant box list
centos64  (virtualbox, 0)
precise32 (virtualbox, 0)

BOXの初期化

適当なvagrant用ディレクトリを作成し、移動。

$ mkdir /Users/taroyamada/vagrantbox
$ mkdir /Users/taroyamada/vagrantbox/centOS64
$ cd /Users/taroyamada/vagrantbox/centOS64

1で追加したbox nameを使って初期化

$ vagrant init centos64

$ vagrant init {name} を実行すると実行したディレクトリに自動的にVagrantfileが生成されるようだ。これで初期化完了。

仮想マシンの起動・停止

初期化したディレクトリで

$ vagrant up

仮想マシンの状態確認

$ vagrant status
running (virtualbox) 

マシンを再起動

$ vagrant reload

起動中の仮想マシンの停止

$ vagrant halt

ゲストマシンの電源を切ります。 もう一度起動する準備が出来たら、vagrant upコマンドを使いましょう。 この方法の最大のメリットは、ゲストマシンをきれいにシャットダウンし、ディスク内容を保存し、 再度きれいに起動を行えることです。 デメリットは、コールドブートに時間が掛かることと、ゲストマシンはディスクをまだ消費していることです。

起動中の仮想マシンの保留

$ vagrant suspend

仮想マシンの現在の状態を保存し、停止させます。 作業を再開する際には、vagrant upコマンドを実行するだけで、元の状態に戻ります。 保留の最大のメリットは、必要な処理時間が超早いことです。 停止/開始に必要な時間はたいてい5〜10秒です。 デメリットは、仮想マシンがホストマシンのディスク容量をまだ消費していることであり、 仮想マシンRAMのすべてをディスクに保存するためにさらにディスク容量が必要となります。

起動中の仮想マシンの破壊

$ vagrant destroy

ゲストマシンを停止し、電源を切り、ゲストマシンのすべてのハードディスクを削除します。 作業を再開したいとき、再度vagrant upコマンドを実行してください。 この方法の最大のメリットは、ホストマシンに中途半端なものを何も残さないことです。 ゲストマシンによって消費されたディスク容量/RAMを取り戻すことができ、 ホストマシンはきれいに保たれます。 デメリットは、作業を再開するためのvagrant upコマンドに時間が掛かることです。

仮想マシンのSSH接続

$ vagrant ssh

ログアウト

[[email protected] ~]$ exit

仮想マシンのネットワーク設定

ホストマシンの初期化したBOXディレクトリにて

$ vi Vagrantfile

# config.vm.network “private_network”, ip: “192.168.33.10”
のコメントアウトを外す。
仮想マシンを再起動

$ vagrant reload

Apache, php, MySQL, phpMyAdminのインストール

sshログイン後

#yumパッケージを全てアップデート
sudo yum -y update

# Apacheをインストール
sudo yum -y install httpd —noplugins

# httpdの自動起動設定
sudo chkconfig httpd on



###PHP5.5をインストール############################################################
sudo yum -y remove php*
sudo yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
sudo sed -i -e "s/enabled = 1/enabled = 0/g" /etc/yum.repos.d/rpmforge.repo
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo sed -i -e "s/enabled = 1/enabled = 0/g" /etc/yum.repos.d/epel.repo
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo sed -i -e "s/enabled = 1/enabled = 0/g" /etc/yum.repos.d/remi.repo
sudo yum -y update --enablerepo=rpmforge,epel,remi,remi-php55
sudo yum -y install --enablerepo=remi,remi-php55 php php-opcache php-devel php-mbstring php-mcrypt php-mysql php-sudo phpunit-PHPUnit php-pecl-xdebug php-cli php-common

#####php.ini設定
sudo cp /etc/php.ini /etc/php.ini.bk
sudo sed -i 's|^;date.timezone =|date.timezone = Asia/Tokyo|' /etc/php.ini

###MySQL5.6をインストール########################################################################
sudo yum -y remove mysql*
sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
sudo yum -y install mysql mysql-devel mysql-server mysql-utilities
sudo rpm -qa | grep mysql
sudo service mysqld start
sudo chkconfig mysqld on

#初期パスワードセット root に
/usr/bin/mysqladmin -u root password 'root'

#確認。下記でpasswordにrootと入力してログインできたら成功
mysql -u root -p

#####phpmyadminをいれる http://qiita.com/wakaba260/items/9b06c4d64239a2b0bd48
sudo yum -y install --enablerepo=remi gd-last
sudo yum -y install --enablerepo=remi-php55 php-gd
sudo yum -y install --enablerepo=remi ImageMagick-last
sudo yum -y install --enablerepo=remi-php55 phpMyAdmin


# apacheの再起動
sudo /etc/rc.d/init.d/httpd restart

※.htaccessを有効にしたい場合、httpd.confを修正

sudo vi /etc/httpd/conf/httpd.conf

これで、ホストマシンにて
http://192.168.33.10/
にアクセスし、Apacheの画面がでればwebサーバーの設定は成功。

phpmyadminは
http://192.168.33.10/phpmyadmin/
ID: root
PASS: root
でログイン可能。
※yumでインストールしたphpMyAdminにはアクセス制限がかかっているため、http://goo.gl/4ciRYBを参考にアクセス制限を外す必要がある。

ホストマシンのhtdocsと同期させる

今までMAMP環境で作業を行っていたので、ホストのhtdocsは流用したい。
ホストマシンのBOXを初期化したディレクトリにて

$ vi Vagrantfile
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # …略 下記のコメントアウトを外し、同期ディレクトリを設定
  config.vm.synced_folder "/Applications/MAMP/htdocs/myapp", "/var/www/html/myapp"

  # …略
end

仮想マシン再起動

$  vagrant reload

これでOK
http://192.168.33.10/myapp

※同期させたディレクトリはVagrantのsshから、パーミッションを変更することができないようなので、ファイルアップロード等行いたい場合はhttp://ism1000ch.hatenablog.com/entry/2014/04/05/232935を参考にパーミッション設定の必要あり。


投稿者: しんじ

ベトナムでオフショア開発会社経営中 www.bit-vietnam.com 。サービス開発が趣味。web系は主にPHPで、スマホアプリはswiftで。最近はエンジニア向けの英語勉強webアプリ エングリッシュ e-lish.io を作りました。

コメントを残す

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

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)