WordPress構築ハンズオン(CentOS7 Nginx MariaDB PHP7)

この記事の目的

  • 初心者でもほぼコピペで構築できる
  • 筆者が再構築時に使う手順書

WordPressはWebサーバ(Nginx)、データベース(MariaDB)、プログラミング言語(PHP)をインストールして動作します。
WordPressの構築はよくハンズオンセミナーで教材として使われているくらい初心者が初めて構築するのに取り組みやすいので、ぜひこれを機会に試してみたはいかがでしょうか。

LAMPとは

昔はLinux,Apache,MySQL,PHPの頭文字をとってLAMPと言われる環境でしたが、MySQLがオラクルに吸収されたり、Nginxが台頭してきたりしてメジャーと言われる構成が変わってきています。

この記事で実行するコマンドはrootユーザで実行してください。

su –
password:*********

OSのセットアップは完了済みとします。SELINUXはdissableにしています。

PHP7.1のインストール

CentOS7.2ではデフォルトのレポジトリではPHP7をインストールすることができません。
そこで、PHP7をインストールできるレポジトリを設定(インストール)します。

コマンド解説

1行目:epelレポジトリを登録します。
2行目:remiレポジトリを登録します。
3行目:remiレポジトリを指定してPHP7、PHPモジュール関係をインストールします。

PHPのモジュールは環境によって不要なものもありますが、導入をおすすめします。
WordPressのテーマによってはモジュールがインストールされていないと正常に動作しないものがあるからです。
その昔最小構成で構築しようとモジュールを絞った結果、エラーにハマってデバッグモードでエラーを特定して「php-xml」をインストールしていないことが原因と判明しました。

有料テーマのサポートは期待してはいけない
上記のエラーでハマった時エラーを送付して問い合わせをしましたが、一般のレンタルサーバと同じ環境であれば動きます。というテンプレ回答をいただいたことがあります。
とりあえず、php-xmlをインストールして解決したことを報告しておきました。

インストールしたらバージョンを確認しましょう。
7.1.10がインストールされています。

Webサーバ上でPHPのプログラムを動作させるために先ほどインストールしたphp-fpmを起動させます。

コマンド解説

1行目:php-fpmサービスを起動します。
2行目:php-fpmサービスが自動起動するように設定します。
自動起動を設定していない場合、再起動時に手動でサービスを起動する必要が出てきます。
これを忘れると再起動時にブログが見れない状態になってしましますので忘れないようにしましょう。

最後にプロセスが起動しているか確認します。

Nginxのインストール

今回はNginxの公開レポジトリをviでファイルに記述して設定を行います。

PHPの時と同様にレポジトリを指定してNginxをインストールします。

インストールしたらバージョンを確認しましょう。

バージョンを確認したら、サービスの起動、自動起動の設定をします。

プロセスが起動しているか確認します。

構築のパターンの一つ
すでにお気付きの方も多いと思いますが、インストール>バージョン確認>起動・自動起動設定>プロセス確認 が基本の流れとなります。

MariaDBのインストール

公式サイト「https://downloads.mariadb.org/mariadb/repositories/」からレポジトリファイルに記入する内容を確認します。

[参考]

Stable、ALphaバージョン
Stableは安定バージョン、ALphaは先行(不安定)版です。
今回はStableバージョンの最新版である10.2をインストールします。

バージョン確認をします。

サービスの起動・自動起動を設定します。

もしくは

プロセスが起動していることを確認します。

mysql.serviceでいいの?
CentOS7では問題ありません。
もちろんmariadb.serviceでコマンドを実行しても構いません。
なぜ大丈夫なのかと言いますとシンボリックリンクが貼られているからです。
そのため、どちらのコマンドを実行してもMariaDBが起動します。

シンボリックリンクの確認

こんなエラーに遭遇した人へ

systemctl enableはコマンド実行時にシンボリックを貼ります。しかしすでにシンボリックリンクのあるmysqld.serviceにはシンボリックリンクを貼ることができずにエラーになります。
その場合は一度シンボリックリンクを削除してから実行しましょう。

ここまででミドルウェアのインストールが完了です。
次はアプリケーションのWordPressを配置していきます。

WordPressのインストール

公式サイトからURLを確認します。
https://ja.wordpress.org/
画面右の「.tar.gz 形式をダウンロード」を右クリックし、リンクのURLを確認、コピーします。

今回は以下のURLを使用します。
https://ja.wordpress.org/wordpress-4.8.3-ja.tar.gz

/var/www/wordpress/は好きなパスを設定してください。
今回はこの設定で導入していきます。
後ほどNginxの設定時にDocumentRootとしてこのパスを設定します。
私は/tmpディレクトリにwordpressの圧縮ファイルをダウンロード、解凍してその中身を実際の配置場所にコピーしています。

wgetが使えない?
CentOS7を導入時に最小構成でインストールした場合、wgetが使えないことがあります。
その場合はyumコマンドでインストールをしましょう。
yum -y install wget

各種ミドルウェアの設定

変更が必要箇所のみ記載しています。

PHPの設定

PHPの文字コード、タイムゾーン、言語を設定します。

PHP-FPMの設定

設定反映のため、再起動します。

MariaDBの設定

MariaDBのセキュリティ設定

いろいろ英語で出力されますので、内容を記載します。
基本的にはYes(Y)で問題ありません。

MariaDBでWordPressに使用するDBを作成

以下の項目でデータベースを作成していきます。

  • データベース名:wordpress
  • ユーザ名:wpadmin
  • パスワード:wppassword
コマンド解説
1行目:UTF-8でwordpressという名前のデータベースを作成
2行目:localhostのサーバでwpadminユーザを作成しwppasswordのパスワードを設定
3行目:wordpressのデータベースを操作できる権限をwpadminユーザに設定

MariaDBを再起動します。

最後に作成したDBが正しく権限設定されているか確認します。

作成したDBが表示されることを確認します。

Nginxの設定

Nginxの共通設定の変更

Nginx経由でアップロードするファイルサイズの上限を変更します。
デフォルトでは上限が1MBなので5MBに上限を上げています。
WordPressのテーマをアップロードする際に上限に引っかかったので、設定を入れています。

バーチャルホストの設定

ドメインは取得済みで名前解決ができることを前提としています。
最終的にSSL化を行いHTTPS化しますが、最初はHTTPでの設定を行います。

コンフィグチェックとNginxを再起動します。

WordPressのインストール

ついにWordPressをインストールしていきます。

まずはnginxがWordPressの操作ができるようにします。

wp-config.phpを作成

データベース名:wordpress
パスワード:wppassword
DBのプレフィックス:wp

FireWallのアクセス許可設定

AWSならセキュリティグループで制御できるのでfirewallはオフでいいですが、VPSなどを利用している場合はしっかり制御しましょう。

ブラウザでアクセス

http://ドメイン名/wp-admin/install.php へアクセスし、画面に沿ってユーザを作成して進めれば完了です。

それではよきブログライフを。

コメントを残す

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