MySQLの設定、ローカル環境にWordPressをインストールする手順

MySQLをインストール

最終的な目標は、自宅のローカル環境でワードプレスを操作することです。

「Apache」「PHP」についてはこちら

「FTP」についてはこちら

MySQL公式サイトからリポジトリをダウンロード

以下、公式サイト
https://dev.mysql.com

今回ダウンロードしたファイルは次の通り。

mysql80-community-release-el7-2.noarch.rpm

ダウンロードしたファイルのあるディレクトリへ移動し、yum localinstall 。

$ sudo yum localinstall mysql80-community-release-el7-2.noarch.rpm

mysql80-community-release-el7-2.noarch.rpm

以下、ファイル容量。

Total size: 31 k
Installed size: 31 k

MySQLインストール

$ sudo yum install mysql-server

以下、ファイル容量。
Total download size: 391 M

mysqlデーモンの起動

$ service mysqld start

WordPressに必要なPHP拡張をインストール

$ sudo yum install php-mysql php-mbstring

以下、ファイル容量。
Total download size: 1.3 M
Installed size: 5.6 M

Apacheを再起動する

$ service httpd restart

MySQLを起動する

$ sudo systemctl start mysqld.service

状態を確認

$ sudo systemctl status mysqld.service

Active (running) になっていることを確認。

自動起動の設定を行う

$ sudo systemctl enable mysqld.service

もしくは、次の手順でMySQLが起動しているかを確認します。

mysqladmin -u root -p ping

aliveになっていることを確認

mysqld is alive

MySQL内にワードプレス用のデータを作成

MySQL の初期パスワード確認

初回起動時に初期パスワードが生成されるので、ログファイルから生成されたパスワードを確認する必要があります。

cat /var/log/mysqld.log | grep password

2019-02-11T23:08:24.939057Z 5 [Note] A temporary password is generated for root@localhost: M3OrkpXcs!oq

今回の場合、「M3OrkpXcs!oq」がパスワードです。

mysql_secure_installation コマンドを実行して、MySQL のセキュリティ設定を行っていきます。

対話形式なので、比較的簡単に最低限必要と考えられるセキュリティの設定ができます。

$ mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: # ログファイルから取得した初期パスワードを入力します

The existing password for the user account root has expired. Please set a new password.

New password: # root ユーザの新規パスワードを入力します

Re-enter new password: # 確認用にもう一度入力します
The ‘validate_password’ plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y # 匿名ユーザーアカウントを削除
Success.

Normally, root should only be allowed to connect from
‘localhost’. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y # ローカルホスト以外からアクセス可能な root アカウントを削除
Success.

By default, MySQL comes with a database named ‘test’ that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y # test データベースの削除

Dropping test database…
Success.

Removing privileges on test database…
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

MySQL へのログイン確認

さきほど設定した新しいパスワードでログインできるかどうか確認します。

$ mysql -u root -p
Enter password: # 新しいパスワードを入力

(再度パスワードを変更したい場合)

パスワードの長さは、8字以上64文字以下です。
10字前後では記号を含めないとエラーになります。

mysql> update mysql.user set password=password(‘root用の任意パスワード’) where user = ‘root’;
Query OK, 4 rows affected (0.05 sec)
Rows matched: 4 Changed: 4 Warnings: 0

データベースを確認

mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| sys |
+——————–+
4 rows in set (0.00 sec)

ワードプレス用のデータベースを作成

mysql> create database 【データベース名】;
Query OK, 1 row affected (0.00 sec)

ワードプレス用のユーザーを作成

musql> create user ‘【ユーザー名】’@’localhost’ identified with mysql_native_password by ‘【パスワード】’;

mysql> grant all privileges on 【データベース名】 . * to ‘【ユーザ名】’@’localhost’;
Query OK, 0 rows affected (0.00 sec)

(ユーザーを表示したいときは、以下のコマンドを入力します。)

mysql> select user from mysql.user;

(権限を表示したいときは、以下のコマンドを入力します。)

mysql> show grants for ‘【ユーザー名】’@’localhost’;

mysql> exit;
Bye

ワードプレスの初期設定

wp-conf.phpファイルを作成

wordpressディレクトリ内にwp-conf.phpを作成します。このファイルには、ユーザーがワードプレスにログインしMySQL内にあるデータを編集するために必要な情報が入ります。

まず、wordpressディレクトリの内に入っているwp-config-sample.phpをコピーし、wp-config.phpを作成します。

cd /var/www/wordpress/

cp wp-config-sample.php wp-config.php

続いて、wp-config.phpを編集します。

vi wp-config.php

編集する部分は以下。先程、MySQLにて作成した【データベース名】【ユーザ名】【パスワード】を入力します。

define(‘DB_NAME’, ‘【データベース名】’);

/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘【ユーザー名】’);

/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘【パスワード】’);

/** MySQL のホスト名 */
define(‘DB_HOST’, ‘localhost’); # 変更しません。

また、この箇所より進んだところに、認証用ユニークキーを入力する所があります。自分で作成しても構いませんが、公式サイトの秘密鍵作成サービスを利用しましょう。作成して貼り付けます。
秘密鍵作成ページ

「wp-config.php」作成については以上です。

WordPressをインストール

WordPressを配置したパスをブラウザから確認します。
ローカル環境のIPアドレスを「ip addr show」コマンドで調べます。

inet 127.0.0.1

と表示されました。ブラウザのURLを入力するところへ次のように入力します。

127.0.0.1

すると、wordpressのインストール画面が表示されます。

「ブログのタイトル」「ユーザー名」「パスワード」「メールアドレス」を入力し、インストールを開始します。

MySQLについては以上です。

次は、FTPサーバの設定を行います。