Debian 9 StretchでNginx+PHP7.0+MariaDBをインストール

2017/06/26[公開]

 Debian 9 Stretchに移行計画中です。JessieからのメジャーバージョンアップでWEBサーバー周りにずいぶん変更があるようです。PHP5はPHP7へ、MySQLはMariaDBに変わりました。また一から勉強し直しが必要そうです。

 Apache2の安定版はStretchでも2.4.25です。ちょうど現在、脆弱性問題で2.4.26ではないのが気になるので、今回はNginx(nginx.orgの最新版)で行こうと決めました。

 前回記事にしました、Debian 9 Stretchを最小構成でインストールした状態から設定した内容です。WordPressのインストールができる状態まで設定します。

スポンサー リンク

Nginxのインストール

 DebianのリポジトリのNginxはバージョンが古いので、Nginx.orgの安定版(もしくは最新版)を使います。公式のインストールガイドの通りに設定できます。

 Debian / Ubuntuの場合、まずはキーを追加します。

[crayon-5b72fcd419122718079690/]

 

[crayon-5b72fcd41913b277831288-i/]  に下記のどちらか(安定版か最新版のどちらか)を追記します。ちなみに私は、最新版の方の2行にしています。

 

安定版はこちら。

[crayon-5b72fcd419148676467403/]

 

最新版はこちら。

[crayon-5b72fcd419152283985198/]

 

インストールします。

[crayon-5b72fcd41915d885911616/]

 

 これでインストール完了です。Apache2がインストールされていないので、Nginxが自動起動の設定になっています。念のため確認します。

[crayon-5b72fcd419167149915627/]

 緑が出ていればNginxが動いているのを確認できます。キーボードの[crayon-5b72fcd419172806592640-i/]  を押して終了します。

 初期設定のままで、ブラウザーからサーバーアドレスにアクセスしてNginxの初期ページが表示されたらインストール完了です。

nginx-start-1
ブラウザーで見ると、インストール成功の画面

PHP7.0 + PHP7.0-FPMのインストール

 続いてphp7.0のインストールをします。php7.0を単独でインストールすると、apache2も一緒にインストールされてしまうので、NginxとPHP7.0を連携させるphp7.0-fpmも一緒にインストールします。これでapache2はインストールされません。

 (追記)php7.0-mysql、php7.0-mbstring、php7.0-xml、php7.0-gd、php7.0-curl もインストールが必要でした。あくまで当方のWordPress環境で必要だったものです。

[crayon-5b72fcd41917d950162044/]

php7.0-fpmの設定

 php7.0-fpmの設定ファイルを変更します。[crayon-5b72fcd419188790807386-i/]  を編集します。apacheのユーザー名(www-data):グループ名(www-data)になっている箇所を、nginx:nginxに変更します。

23-24行目を変更します。

[crayon-5b72fcd419192768559310/]

 

36行目は、こうなっているはずなので確認だけです。

[crayon-5b72fcd41919c261880553/]

 

47-48行目も変更します。

[crayon-5b72fcd4191a6347126537/]

 

php7.0-fpmをリスタートします。

[crayon-5b72fcd4191b0746690342/]

Nginxの設定変更

 nginxの設定も変更します。[crayon-5b72fcd4191bb348497594-i/] の設定ファイルを編集します。[crayon-5b72fcd4191c5879203731-i/] は初期のファイル名ですが、環境によりこの設定するファイル名は違ってきます。

 今回は、複数のWEBサイトを利用するバーチャルホストは利用せず、最初のひとつのWEBサイトしか作らない設定での説明です。

8-11行目

 9行目のドキュメントルートはnginxのデフォルト値です。ここは好きな場所に変更可です。10行目に[crayon-5b72fcd4191cf723094688-i/] を追加します。

(追記)11行目にWordPressのパーマリンクの設定をデフォルト以外に設定しても404エラーにならない設定を入れました。

[crayon-5b72fcd4191d9601906848/]

↓ ↓ ↓

[crayon-5b72fcd4191e4644207063/]

30-36行目

 ここで、phpファイルに関してphp7.0-fpmと連携する設定をします。

  • 30-36行間の左#を外します。
  • 31行目は9行目のドキュメントルートと同じにします。
  • 32行目と34行目は下記の通りに設定します。
[crayon-5b72fcd4191ef868304153/]

↓ ↓ ↓

[crayon-5b72fcd4191f9214317407/]

Nginxリスタート

 設定変更はnginxをリスタートして反映されます。

[crayon-5b72fcd419203661417245/]

PHPテスト

 ドキュメントルートのindex.htmlを退避させて、テスト用index.phpを作成します。

[crayon-5b72fcd419211547400356/]

 

ファイルの中はこの一行にします。

[crayon-5b72fcd41921c534971892/]

 

PCのブラウザーでサーバーアドレスを入れて開きます。

nginx-start2-1
php情報が開けばOK

MariaDBのインストール

 MariaDBをインストールします。Stretchでは、MySQLをインストールしても移行環境でMariaDBがインストールされる複雑な状況になるので、MariaDBだけをインストールします。

[crayon-5b72fcd419227001270558/]

 以上でインストールが完了です。

 Stretchでは、MariaDBのrootのパスワードの設定画面が出てこなくなったようです。rootのパスワードは無しがデフォルトです。それでもサーバーのrootでないとDBのrootに入れないようで、これでセキュリティが堅牢になっているようです。仕組みはわかりませんが。

PhpMyAdminは

 以上で、WordPressをインストールすることが出来る状態までのサーバー設定が完了です。

 WordPressのデータベースを操作するのにphpmyadminもインストールしたいところですが、Stretchではphpmyadminにrootでログインできないようなので、WordPress用のデータベースをphpmyadminで作成することが出来ませんでした。とりあえず、データベース作成はコンソールで操作するしかないでしょうか。

スポンサー リンク

こちらの記事もどうぞ

コメントを残す

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