Ubuntu 16.04LTSでWordPressを使うまでのメモ

以前 Ubuntu 14.04LTSでLEMP環境で使う場合のメモ書きとして投稿しましたが、今回Ubuntu 16.04 LTSが出たので、最新の情報に更新しておきます。

Ubuntu 14.04LTSでWordPressを使うまでのメモ

まず、構築する構成は以下のとおり

  • Ubuntu 16.04 LTS
  • Nginx
  • PHP 7.0
  • MariaDB

今回はさくらのVPS上にカスタムOSとして Ubuntu 16.04をインストールした直後を想定します。

・NTPサーバーの設定

これをしておかないと後々面倒になる

sudo apt-get install ntp

ntpの設定をします

sudo vi /etc/ntp.conf

serverの項目に下記のものを入れておきましょう

server ntp.nict.jp

日本の標準時を作っているNICT(情報通信研究機構)のNTPサーバーなので正確かと。sakuraのVPSを使ってるなら ntp1.sakura.ad.jp が経路的に近いので良いかと。

・SSH周りの設定

ssh で、rootログインを無効にし、google Authenticatorの2段階認証を導入する。(注:2段階認証を設定する場合は、必ずNTPサーバー設定後にする)

sudo apt-get install libpam-google-authenticator
sudo vi /etc/pam.d/sshd

@include common-authとなっている下の行辺りに以下を追記

auth required pam_google_authenticator.so
sudo vi /etc/ssh/sshd_config
Port 10022 # ポート22から任意のポートへ
PermitRootLogin no # rootでのログインをオフに
PasswordAuthentication no #パスワードでのログインをオフ
ChallengeResponseAuthentication yes #google authenticatorを使う為

ここまでsshd_configの設定をしたら、今度はgoogleのキーを作成して2段階認証できるようにします

google-authenticator

画面の指示に従い、スマホにキーを登録できればOK、万が一の緊急キーも控えておくように。 ここまで設定したら一度マシンを再起動しましょう。

sudo shutdown -r now

・NGINXを導入

ubuntuのリポジトリにあるnginxはバージョンが古いため、最新のものを公式から拾うようapt-getにリポジトリ追加をする。

sudo vi /etc/apt/sources.list.d/nginx.list

ここで、開発中の最新版と安定版の2つのリポジトリが存在するため、使用用途や好みでどちらかを設定する。(私は最新版を利用) Stable version(安定板)

deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

Mainline version(最新版)

deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx

このままインストールをしようとすると、depパッケージのGPGキーエラーが出てインストールできない為、GPGキーをインポートしておく

wget -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -

また、nginx.orgのリポジトリのみからDLするよう設定を変更する

sudo vi /etc/apt/preferences.d/nginx
Package: nginx
Pin: origin nginx.org
Pin-Priority: 999

aptパッケージ一覧を更新し、nginxをインストール

sudo apt-get update
sudo apt-get install nginx

nginxの設定をする前にPHPも入れておきましょう。

sudo apt-get install php php-cgi php-cli php-mysql php-gd php-apcu php-fpm php-pear php-xmlrpc php-mbstring php-mcrypt

まずはnginxでPHPを動かす為のphp-fpmの設定から

sudo vi /etc/php/7.0/fpm/php-fpm.conf

下記の部分を書き換える

events.mechanism = epoll #コメントアウトする

同じくphp-fpmの設定

sudo vi /etc/php/7.0/fpm/pool.d/www.conf

下記の部分を書き換える

user = nginx #ユーザーをnginxへ
group = nginx #グループもnginxへ
listen = /run/php/php7.0-fpm.sock
listen.owner = nginx #ソケットユーザーをnginxへ
listen.group = nginx #ソケットグループもnginxへ
listen.mode = 0660 #ソケットのアクセス制限をかける

現状ソケット利用が一番安定してるかと。 設定が終わったら、php-fpmを再起動

sudo /etc/init.d/php7.0-fpm restart

あとはnginxの設定をする(webのディレクトリは/var/www配下に任意のディレクトリを置く) web用のホームディレクトリを作成

sudo mkdir /var/www/ #/var/wwwを作成
sudo mkdir /var/www/任意のディレクトリ #
sudo mkdir /var/www/任意のディレクトリ/log
sudo mkdir /var/www/任意のディレクトリ/public_html
sudo chown -R nginx:nginx /var/www

改めて、web設定

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

あくまでも参考例です

server {
   listen 80;
   server_name 自分のドメイン;
   access_log /var/www/任意のディレクトリ/log/access.log;
   error_log /var/www/任意のディレクトリ/log/error.log;

   root /var/www/任意のディレクトリ/public_html;

   index index.html index.htm index.php;

   if (!-e $request_filename) {
      rewrite ^ /index.php last; #Rewriteでパーマリンク設定可能にしておく
   }

   location ~ .php$ {
      fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /var/www/任意のディレクトリ/public_html$fastcgi_script_name;
      include fastcgi_params;
   }
   location ~ /.ht {
      deny all; #.htから始まるファイルのアクセス禁止
   }
   location = /robots.txt { access_log off; log_not_found off; } #robots.txtへの404エラーを記録しない
   location = /favicon.ico { access_log off; log_not_found off; } #favicon.icoへの404エラーを記録しない
}

ここまで設定できたら、空のログファイルを用意し、nginxを再起動する。

sudo touch /var/www/任意のディレクトリ/log/access.log
sudo touch /var/www/任意のディレクトリ/log/error.log

最後にnginxを再起動して完了

sudo /etc/init.d/nginx restart

maria db

maria dbも公式からDLします。以下URLを参考に

https://downloads.mariadb.org/mariadb/repositories/#mirror=yamagata-university&distro=Ubuntu&distro_release=xenial–ubuntu_xenial&version=10.1

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.1/ubuntu xenial main'

リポジトリ登録が済んだら実際にインストールしましょう

sudo apt-get update
sudo apt-get install mariadb-server

インストール後は初期設定を

sudo mysql_secure_installation

あとは、レンタルサーバー同様にWordpressをインストール

http://wpdocs.osdn.jp/WordPress_のインストール

enjoy!

コメントを残す

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