AWS EC2でWordPressをインストール@Amazon EC2
MySQLデータベースを作成
sudoでMySQLモニターにログイン。
$ sudo mysql -u root -p
WordPress用のデータベースwordpressを作成。
mysql> create database wordpress;
WordPressをインストール
Web公開ディレクトリ直下にWordPress用のディレクトリ
_wp-dirを作成。セキュリティのことを考えて
ルート直下にはインストールしない。
WordPressのソースファイルをサーバにアップロードして
そのディレクトリにブラウザアクセス。
以下のメッセージが出ました。
お使いのサーバーの 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インストールディレクトリ(ルート)に作成し、管理画面(パーマリンク設定)で出力されている内容をコピーして書き込みます。