ローカルにLEMP環境を構築する


Homebrewで一連のアプリケーションをインストールする。

Virtualbox

使用しているPC上に仮想の環境を構築できる仮想化ソフトウェア。

VirtualBox とは?

brew cask install virtualbox

Vagrant

開発環境の構築と共有を簡単に行うためのツール。

開発環境の構築・共有を簡単にするVagrant入門 | Think IT(シンクイット)

brew cask install vagrant

Ansible(アンシブル)

構成管理ツールらしい。オレもなぜこれをインストールする必要があるのか分かってない。

Ansibleをはじめる人に。 - Qiita

brew install ansible

もろもろ事前にbrew updateしておいたほうが良いだろう。


まずは仮想環境を構築・管理ツールであるVagrantを使って仮想環境でVirtualBoxにOSをインストールする。

今回はCentOS6をVirtualBoxにインストール。

vagrant init centos/6

するとこのようなログが出るが、エラーではない。

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

仮想PCをセットアップして起動する

vagrant up

仮想PCにSSHログイン

vagrant ssh

※ここからは仮想PC上での作業になります

PHPのインストール

パッケージ管理ツールyumrpmを使用します。

どちらもrpm形式のパッケージ(.rpm)を使用していますが、コチラの記事を読む限り基本的にはyumを使う方が良さそうです。

yumにEPELリポジトリを追加

sudo yum -y install epel-release
エンタープライズ Linux 用の拡張パッケージ(EPEL) は、 Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOS や Scientific Linux (SL) のような RHEL からスピンオフしたディストリビューションと互換性のある、Fedora プロジェクトで有志によって作成されたパッケージになります。Fedora は RHEL のアップストリームであり、EPEL のアドオンパッケージは主に RHEL 向けにビルドされた Fedora リポジトリをソースとしています。

EPEL/ja - FedoraProjectより
このようにEPELとはRHEL向けのパッケージで、CentOSにまだ取り込まれていないものが含まれる。
CentOSに取り込まれる前に使用したい場合はEPELをインストールする。

yumにRemiリポジトリを追加
※rpmコマンドになっているが、yumは内部的にrpmを使用している。

オプションに-yを付けているのは問い合わせに対してすべてyesを選択する事を意味する。

sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Remiも同様基本リピポジ取りでは提供されないパッケージを含んでいる。

PHPとモジュールをインストール

sudo yum -y install --enablerepo=remi,remi-php71 php php-devel php-fpm php-mbstring php-mysqlnd php-pdo

以下のモジュールがインストールされる。

  • php-devel・・・PHP開発で使用する
  • php-fpm・・・FastCGI
  • php-mbstring・・・マルチバイト文字列
  • php-mysqlnd・・・ネイティブドライバ
  • php-pdo・・・PHP Data Objects

yumにMySQLのリポジトリを追加

sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

MySQLインストール

sudo yum -y install mysql-community-server

sudo vi /etc/yum.repos.d/nginx.repo

以下を入力

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Nginxインストール開始

sudo yum -y install nginx

一旦元の環境に戻る

exit

Vagrant設定を変更

vi Vagrantfile

#を外してポート番号をセット

25: # config.vm.network "forwarded_port", guest: 80, host: 8080
↓
25: config.vm.network "forwarded_port", guest: 80, host: 9000

Vagrant設定の反映

vagrant reload

http://localhost:9000にアクセスすると静的ページが開くはず。


PHPのページを開いてみる。

再度仮想環境にログイン

vagrant ssh

PHPのトップページを作成

sudo vi /var/www/index.php

以下を記述。

<?php
phpinfo();
?>

Nginxの設定の修正

sudo vi /etc/nginx/conf.d/default.conf

PHPの設定の修正

sudo vi /etc/php-fpm.d/www.conf

以下のページを参考に修正する。

qiita.com

再度localhost:9000にアクセスすると、PHP情報ページが開くはず。

参考

Vagrant basics - Qiita