Ubuntu 16.04LTSでサーバー構築: Webサーバーを立てよう

前回に続き、Ubuntuでのサーバー構築です。
前回の記事ではさくらのVPSという前提がありましたが、OSのインストールが終了すればどのVPSでも手順は同じになりますので、今回からはVPSの種類にかかわらず使えると思います。(ConoHaでのUbuntu 16.04のインストールはこちらの記事を参考に、マウントするisoをArch LinuxのものからUbuntu 16.04のイメージにすると出来ると思います)

各種リポジトリの追加

nginx

nginx公式のリポジトリ。

$ sudo nano -w /etc/apt/sources.list.d/nginx-mainline.list

以下の2行を追加。
deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx

電子署名を追加、有効化。
$ wget http://nginx.org/keys/nginx_signing.key
$ sudo apt-key add nginx_signing.key

$ sudo apt update

PHP

nginxとは違い、一個人がメンテしているPPAなので導入はお好みで。かなりの長期にわたりメンテされているPPAで、それなりに信用できそう。

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update

nginxのインストール

$ sudo apt install nginx

80番ポートと443番ポートを開けます。
$ sudo ufw allow 80
$ sudo ufw allow 443

ss20160511-132541

phpのセットアップ

$ sudo apt install php-fpm

nginxの設定を変更します。
$ sudo nano -w /etc/nginx/sites-enabled/default

以下のコメントアウトを外します。
location ~ .php$ {
        include snippets/fastcgi-php.conf;
        # With php7.0-cgi alone:
#       fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

nginxを再起動します。
$ sudo systemctl restart nginx

phpの動作チェックをするために、以下のphpファイルを作成します。
$ nano -w /var/www/html/phpinfo.php

<?php phpinfo(); ?>

ss20160511-133622

動作確認が終わったらphpinfo.phpは削除しておきましょう。

phpの各種設定

$ sudo nano -w /etc/php/7.0/fpm/php.ini

参考文献を参考に、設定します。

前回の記事ではWordpressのインストールまで行うと書きましたが、記事が長くなったので一旦ここで終わります。次回はMySQLのインストールとWordpressのインストール、WordpressのチューニングとできればLet’s Encryptを使ったSSL化まで取り上げます。