はじめに
- 任意で書いてもらうところは[]で示しています。[]は書かないでください。
- EC2のインスタンスの生成が終わったものとして進めます。
rootユーザになる。
$ sudo su -
yumをアップデートする
$ yum update
PHPをインストール
デフォルトのリポジトリだと5系のphpしかないため7系のPHPが入っているAmazon Linux Extrasをインストールします。
- Amazon Linux Extrasをインストールする
$ amazon-linux-extras install
- PHPをインストール
$ amazon-linux-extras install php7.3
Apacheのインストール及び自動起動設定
webサーバであるApacheをインストールします。
- Apacheをインストールする
$ yum install httpd
- Apacheウェブサーバを起動
$ systemctl start httpd
- Apacheの自動起動設定
$ systemctl enable httpd
mysqlをインストール
8系を使ってしまうとPHPのmysqlの接続ライブラリが未対応であるログイン認証方式のcaching_sha2_password
を使用してしまうので5系のmysqlを使用します。
- mysql8.0のリポジトリのインストール
$ yum install http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- mysql5.7のリポジトリを使えるようにする
$ yum-config-manager --disable mysql80-community //mysql8.0のリポジトリを無効化
$ yum-config-manager --enable mysql57-community //mysql5.7のリポジトリを有効化
$ yum install mysql mysql-server //mysqlサーバとクライアントをインストール
wordpressのDBとユーザを作成
DB作成と、DBに対するユーザを作成していきます。
- mysqlを起動する
$ systemctl start mysqld
- logにrootのパスワードが出力されるので確認する
$ cat /var/log/mysqld.log | grep "temporary password"
2019-05-07T09:10:45.281573Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: [your password]
- mysqlにログイン
$ mysql -u root -p
- パスワードを再設定する
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘[new password]’;
- wordpressのデータベースを作成
CREATE DATABASE [DB_NAME];
- データベースののユーザを作成
CREATE USER ‘[user_name]’@‘localhost’ identified by ‘[new_password]’;
- 作成したユーザにのDBの権限を与える
GRANT ALL ON [db_name].* TO ‘[user_name]’@‘localhost’;
- mysqlからログアウトする
exit;
wordpressをインストールする
wgetコマンドをつかってwordpressのサイトからインストールしていきます。
- 公開ディレクトリに移動してwordpressをインストールする
$ cd /var/www/html
$ wget http://ja.wordpress.org/latest-ja.zip
- latest-ja.zipを解凍する
$ unzip latest-ja.zip
- latest-ja.zipを削除
$ rm latest-ja.zip
- wordpressディレクトリの中のファイルをhtmlディレクトリに移動する
$ cd /var/www/html/wordpress
$ mv * ..
- htmlディレクトリのユーザとグループををapacheに変更する
$ chown -R apache:apache /var/www/html
wordpressの設定ファイルを編集する
wp-config.phpを編集します。設定を間違えると、「データベース接続確立エラー」が出るので気をつけてください。
- コピーをとってから編集モードにする
$ cp wp-config-sample.php wp-config.php
$ vi wp-config.php
wp-config.php
<?php
/**
* WordPress の基本設定
*
* このファイルは、インストール時に wp-config.php 作成ウィザードが利用します。
* ウィザードを介さずにこのファイルを "wp-config.php" という名前でコピーして
* 直接編集して値を入力してもかまいません。
*
* このファイルは、以下の設定を含みます。
*
* * MySQL 設定
* * 秘密鍵
* * データベーステーブル接頭辞
* * ABSPATH
*
* @link http://wpdocs.osdn.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86
*
* @package WordPress
*/
// 注意:
// Windows の "メモ帳" でこのファイルを編集しないでください !
// 問題なく使えるテキストエディタ
// (http://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF 参照)
// を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '[db_name]');
/** MySQL データベースのユーザー名 */
define('DB_USER', '[db_user]');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '[user_password]');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
* 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
*
* @since 2.6.0
*/
define('AUTH_KEY', '[put your unique phrase here]');
define('SECURE_AUTH_KEY', '[put your unique phrase here]');
define('LOGGED_IN_KEY', '[put your unique phrase here]');
define('NONCE_KEY', '[put your unique phrase here]');
define('AUTH_SALT', '[put your unique phrase here]');
define('SECURE_AUTH_SALT', '[put your unique phrase here]');
define('LOGGED_IN_SALT', '[put your unique phrase here]');
define('NONCE_SALT', '[put your unique phrase here]');
/**#@-*/
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'wp_';
/**
* 開発者へ: WordPress デバッグモード
*
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*
* その他のデバッグに利用できる定数については Codex をご覧ください。
*
* @link http://wpdocs.osdn.jp/WordPress%E3%81%A7%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0
*/
define('WP_DEBUG', false);
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
- MySQLで設定したDBの名前、ユーザ名、パスワードを書いていきます。
/** WordPress のためのデータベース名 */
define('DB_NAME', '[db_name]');
/** MySQL データベースのユーザー名 */
define('DB_USER', '[user_name]');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '[your_password]');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
2.ユニークキーを書いていきます。ユニークキー生成サイトのをコピーして貼り付けてください。
define('AUTH_KEY', '[put your unique phrase here]');
define('SECURE_AUTH_KEY', '[put your unique phrase here]');
define('LOGGED_IN_KEY', '[put your unique phrase here]');
define('NONCE_KEY', '[put your unique phrase here]');
define('AUTH_SALT', '[put your unique phrase here]');
define('SECURE_AUTH_SALT', '[put your unique phrase here]');
define('LOGGED_IN_SALT', '[put your unique phrase here]');
define('NONCE_SALT', '[put your unique phrase here]');
wordpressの管理画面にアクセス
インスタンスのIPアドレスにアクセスして画面の通りに設定を行い終了です。お疲れ様でした。