手順
PHPのインストール
最新のyumリポジトリダウンロード
$ sudo yum -y update
$ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
PHP7.1のインストール
インストール
# PHPのextensionは各自で必要なものを確認してください。
# 特に mod_php71w, php71w-fpm, php71w-cli は最低でもインストールする必要があります。
# Extensionの一覧は yum search php71w と検索すれば見れます。
$ sudo yum -y install mod_php71w php71w-fpm php71w-common php71w-cli php71w-opcache php71w-pdo
PHP7.1がインストールされたか確認
# 以下が出力されていれば成功です
$ php -v
PHP 7.1.0 (cli) (built: Dec 3 2016 11:17:43) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
nginxのインストール
インストール
$ sudo yum -y install nginx
nginxがインストールされたか確認
# 以下が出力されていれば成功です
$ nginx -v
nginx version: nginx/1.10.2
php-fpmの設定
sudo vim /etc/php-fpm.d/www.conf
# 以下に変更
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx # ;のコメントアウトを外す!
listen.group = nginx # ;のコメントアウトを外す!
php-fpmの起動&自動起動設定
# php-fpm 起動
$ sudo systemctl start php-fpm
# php-fpm 自動起動
$ sudo systemctl enable php-fpm
# 起動されている&自動起動が有効になっているか確認
$ sudo systemctl status php-fpm
# 以下のように /usr/lib/systemd/system/php-fpm.service; enabled; になっていれば自動起動が有効になっている
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
# 以下のようにステータスがactiveになっていればphp-fpmが起動されている
Active: active (running)
nginxバーチャルホスト設定
sites-availableにconfファイル作成
$ sudo mkdir /etc/nginx/sites-available
$ sudo vim /etc/nginx/sites-available/dev.mysite.com.conf
以下のように設定(自分も完璧には理解していないので、とりあえずメモ)
server {
listen 80;
server_name dev.mysite.com; # ドメイン
root /var/www/dev.mysite.com; # ドキュメントルート(あとで作成)
location / {
# ファイル取得のルール設定
try_files $uri $uri/ index.php$is_args$args =404;
}
# php-fpmの設定
location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
sites-enabledにconfファイルのシンボリックリンクを貼る
$ sudo mkdir /etc/nginx/sites-enabled
$ cd /etc/nginx/sites-enabled
$ sudo ln -s ../sites-available/dev.mysite.com.conf
nginx.confにsites-enabledにあるconfigファイルを読み込ませる設定、indexディレクティブの設定をする
$ sudo vim /etc/nginx/nginx.conf
index index.htm index.html index.php; # これを追加
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/sites-enabled/*.conf; # これを追加
include /etc/nginx/conf.d/*.conf;
nginxのシンタックスチェック
$ sudo nginx -t
# 以下が出力されていれば大丈夫
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginxの起動&自動起動設定
# nginx 起動
$ sudo systemctl start nginx
# nginx 自動起動
$ sudo systemctl enable nginx
# 起動されている&自動起動が有効になっているか確認
$ sudo systemctl status nginx
# 以下のように /usr/lib/systemd/system/nginx.service; enabled; になっていれば自動起動が有効になっている
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
# 以下のようにステータスがactiveになっていればnginxが起動されている
Active: active (running)
ドキュメントルート作成
ドキュメントルートになるディレクトリ作成
$ sudo mkdir -p /var/www/dev.mysite.com
$ sudo chown -R $USER:$USER /var/www/dev.mysite.com
php動作確認用phpファイル作成
$ sudo vim /var/www/dev.mysite.com/index.php
<?php
phpinfo();
nginxの再起動(自分の場合は再起動の必要がありました。。。理由はわかりませんw)
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm
今回はvagrantで環境構築したので、自分のPCのhosts書き換え
sudo vim /etc/hosts
# 以下を追加
[IPアドレス] dev.mysite.com
ブラウザで表示確認
dev.mysite.comにアクセスしてみて表示確認する