読者です 読者をやめる 読者になる 読者になる

ショウジンブログ

Learn as if you will live forever, Live as if you will die tomorrow.

AWS EC2でWordPressをインストール@Amazon EC2

Amazon EC2 WordPress
Sponsored Links

MySQLデータベースを作成

sudoでMySQLモニターにログイン。

$ sudo mysql -u root -p

WordPress用のデータベースwordpressを作成。

mysql> create database wordpress;

WordPressをインストール

Web公開ディレクトリ直下にWordPress用のディレクトリ
_wp-dirを作成。セキュリティのことを考えて
ルート直下にはインストールしない。

WordPressのソースファイルをサーバにアップロードして
そのディレクトリにブラウザアクセス。

http://showzine.co/_wp-dir/

以下のメッセージが出ました。

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

PHPをセットアップするときに後回しにしていたphp-mysql等のパッケージ、これらのインストール後にApacheを再起動するのを忘れていたことを思い出し、Apacheを停止からの再起動。

再度WordPressにアクセス。今度はインストール画面になりました。

データベース名:WordPress用に用意したデータベース名
ユーザー名:ユーザー名
パスワード:ユーザー名のパスワード
データベースのホスト名:localhost
テーブル接頭辞:適宜変更

プラグインの自動更新をFTP情報を入れずに機能させる

wp-config.phpに以下を追加

define('FS_METHOD', 'direct');

これでオーナーチェックはスルーされるので
(FTP情報の入力は求められなくなる)

そしてアップグレード用のディレクトリを
wp-content/以下にupgradeとして作っておく。(パーミッションは775)

プラグインディレクトリのpluginsも775に。

これでファイルのオーナーチェックはスルーされるので、後は実際にファイルが更新できるように編集権限を与えるだけ。

PHPの実行ユーザーの apache (サーバの環境によって異なる) がグループ権限でファイル編集できるようにする。

wordpressのルートディレクトリに行って、すべてのファイルとディレクトリのグループを www-data にします。

$ chgrp -R www-data *

が、AWS EC2のApache ( Amazon ) ではこのwww-dataというグループ名はinvalidということで蹴られました。適当に「apache」にしたら通りました。なので実際のコマンドは

$ sudo chgrp -R apache *

次にグループに権限を与えます。

$ chmod -R g+rwX *

元の権限設定を生かす為、グループの権限のみ追加。ファイルが664、ディレクトリが775になってればOK。これでFTPの接続情報はいらなくなったはず。

WebサーバがNginxの場合はwww-dataの部分がnginxになるので

$ sudo chgrp -R nginx *
$ sudo chmod -R g+rwX *

となります。

パーマリンク設定

/%postname%.html

.htaccessに書き込み権限がないと自動ではrewriteルールが.htaccessに書き込まれない(生成されない)ので、その場合は手動で.htaccessをWordPressインストールディレクトリ(ルート)に作成し、管理画面(パーマリンク設定)で出力されている内容をコピーして書き込みます。

f:id:showjinx:20160530175633p:plain