AWS(EC2)にWordPressをインストールしてみる

ブログ環境の再構築のための備忘録の続き。
いよいよ、AWS(EC2)にWordPressをインストールしてみた。
と、いってもまだ試験段階だけどね。
とは言え素のApacheにWordPressをインストールするのは初めてだったし、若干詰まったので備忘録。

Apacheのインストール

これはすでにやっていたので割愛。

Apacheの設定変更

セキュリティ対策と、パーマリンク設定を有効にするためhttpd.confを変更
[code lang=”xml”]
#サーバ情報表示の抑止
ServerTokens Prod
ServerSignature Off

#ファイル一覧表示の抑止、シンボリックリンクの有効化
Options -Indexes FollowSymLinks

#パーマリンク設定(で使うmod_rewrite)を有効にするための設定
AllowOverride All
[/code]

PHPのインストール

[code lang=”bash” gutter=”off”]
$ sudo yum install php php-devel php-mysql php-mbstring php-gd
[/code]

PHPの設定変更

phpの基本的な設定を修正。
[code lang=”xml”]
error_log = /etc/httpd/logs/php_errors.log
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.detect_order = auto
expose_php = Off
date.timezone = Asia/Tokyo
[/code]

Apacheの再起動

ここまできたら、いったんApacheを再起動しておく。
[code lang=”bash” gutter=”off”]
$ sudo service httpd restart
[/code]

DBの準備

WordPress用のDBを作成しておく。
[code lang=”bash” gutter=”off”]
$ mysql -h RDSのエンドポイント -u db_username -p
Enter password:db_password

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 5.6.23-log MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> CREATE DATABASE db_name;
mysql> GRANT ALL ON db_name.* to db_user@"%";
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR db_user@localhost=password(‘db_pass’);

[/code]

WordPressのインストール

私は元のブログのリソースをぶっこんだだけ。
まっさらからインストールするなら、
[code lang=”bash” gutter=”off”]
$ wget http://ja.wordpress.org/latest-ja.tar.gz
[/code]
で取得して、解凍すればよい。

WordPressの設定変更

wp-config.phpを作成したDBにあわせて修正。
[code lang=”php”]
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘database_name_here’);

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

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

/** MySQL のホスト名 */
define(‘DB_HOST’, ‘localhost’);
[/code]

今回のハマりどころ。

  • 最初、WordPressがまったく動かず戸惑ったけど、原因がPHPがインストールされていなかったというオチ。
  • パーマリンクを変更するとトップページ以外が表示されなくなった。
    .htaccessが悪さしているのかと思ったら、Apacheのmod_rewriteが無効になっていた。

さて、次回はgitにpushしたら自動で更新されるようにしたいな。

コメント

タイトルとURLをコピーしました