この記事では何回かにわけて、LEMP環境にてlaravelフレームワークを使った開発環境を構築していきます。
以下に要件を記載しておきます。
・PCはMAC(10.9.4)
・VirtualBox 4.3.12
・Vagrant 1.6.3
・CentOS 6.5
・Nginx 1.6.1
・PHP 5.5.15
・MySQL 5.1.73
・Laravel 4.2
まずはローカル開発環境を整えます。
Vagrantのインストール
この段階については良記事がネット上にたくさんあるので、リンクを記載しておきます。
vagrant で centosを使ってみる(※1)
Vagrant公式ドキュメントの和訳サイト
Nginxのインストール
ではVagrantでCentOSの環境がローカルPCに完成したという前提で話を進めます。
ターミナルからvagrant sshでゲストマシンに接続した状態にして、以下のようにNginxをインストールしていきます。
sudo su
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum -y install nginx
nginx -v
これでNginxのバージョン情報が出力されれば、インストールは完成です。
sudo vi /etc/yum.repos.d/nginx.repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
↓
baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/
Centos6.5に Nginx 1.7.3(mainline)をインストールしてみた(※2)
ではNginxの環境設定を少しだけ行いましょう。
ドキュメントルートとFASTCGI
# default.confを開く
vi /etc/nginx/conf.d/default.conf
# server{}直下のserver_nameの次の行にドキュメントルートを追加
+ root /var/www;
# /のアクセス設定
- location / {
- root /usr/share/nginx/html;
- index index.html index.htm;
- }
+ location / {
+ index index.php;
+ try_files $uri $uri/ /index.php?$query_string;
+ }
# FASTCGIの設定
+ location ~ \.php$ {
+ fastcgi_pass 127.0.0.1:9000;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include fastcgi_params;
+ }
PHPとMySQLのインストール
次にPHPとMySQLを整えていきます。
PHP
NginxではPHPを動かすためにPHP-FPMというパッケージが必要になります。
#すでに入っているPHPを削除する
yum remove php*
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
#インストール
yum install -y php php-fpm php-mysql php-mcrypt --enablerepo=remi-php55
このあとに、rpm -qa | grep phpを実行してみるとPHP関連のパッケージが一覧で表示されます。
すべてインストールされているか目視で確認しておきましょう。
nginxユーザーの追加
#www.confを開く
vi /etc/php-fpm.d/www.conf
#/apacheで検索してユーザーをnginxに変更する
-user = apache
+user = nginx
#同じくgroupも変更する
-group = apache
+group = nginx
#これでescを押し:wqで保存して閉じます
MySQL
#mysql
yum install -y mysql mysql-server
スタート
このあとに諸々をスタートさせておきましょう。
/etc/init.d/php-fpm start
/etc/init.d/nginx restart
/etc/init.d/mysqld restart
#autostart
chkconfig --levels 235 php-fpm on
chkconfig --levels 235 nginx on
chkconfig --levels 235 mysqld on
これでためしにPHPが動くようになったかどうかをチェックしてみましょう。
vi /var/www/index.php
#phpinfo関数を実行します
<?php phpinfo();
#:wqで保存して閉じる
このあと、localhostや127.0.0.1などにアクセスしてみます。
PHPの情報がズラッと出てれば成功です。
・インストールしたパッケージが正しいか
・加工したファイルに文法ミス等ないか
・POST_FORWARDの設定が正しいか
などを確認してみます。POST_FORWARDはVagrantの設定ですので、Vagrantfileを開いて、以下のように追加してみましょう。
〔…〕ポートフォワーディングによって、ゲストマシンのポートは、ホストマシンのポートを経由するように設定されます。 これにより、ホストマシンのポートにアクセスできます。〔…〕
Vagrant.configure("2") do |config| 〔…〕 config.vm.network :forwarded_port, host: 4567, guest: 80 end
〔…〕ゲストマシンが再起動したら、ブラウザでhttp://127.0.0.1:4567にアクセスしましょう。
Vagrant公式ドキュメント
これでVagrant上にLEMP環境が整ったかと思います。
次は、ここにLaravelフレームワークを入れて開発環境を整えていきます。