AWSのサブディレクトリをルートのように見せかける設定

前回の記事で、http://example.co.jp/wordpress/ にワードプレスを公開しました。
しかしながら、このままでは嫌だという方もいらっしゃることと思います。
今回はこれを再インストールすることなく http://example.co.jp/ でワードプレスにアクセスできるように設定します。

本来AWSのRoute 53を使えば簡単にできることなのですが、Route 53は無料枠には含まれていません。それで今回はRoute 53は使わずに無料枠の範囲内でできる設定をしていきます。

注意:今回からコマンドプロンプトから立ち上げるテキストエディタの使用が必須になります。このブログでは vi を強くオススメします。Windowsのテキストエディタに慣れている人にはちょっと難しいかもしれませんが、頑張って使い方を覚えてください。vi については他の人の記事を参考にしてください。
参考:viエディタの使い方viの使い方/基本操作、などなど

サブディレクトリ /wordpress/ を ルートディレクトリであるかのように見せかける設定に入ります。

SSHでログインする

まずはEC2にSSHでログインしてください。TeraTermなりPuttyなりを使います。

Last login: ??? ???  ? ??:??:?? ???? from ???????????.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/
[ec2-user@ip-???-???-???-??? ~]$

今回はこのSSH画面での操作がメインとなります。

.htaccess ファイルを作成する

アドレスのリライトを有効にします。

$ sudo vi /var/www/html/.htaccess

このファイルを次のように変更(または新規作成)します。

RewriteEngine on
RewriteBase /
RewriteRule ^$ wordpress/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ wordpress/$1 [L]

設定ファイルの変更

AWSの場合、このままではRewriteエンジンが動いてくれません。
Apacheの設定ファイルに変更を加えます。

$ sudo vi /etc/httpd/conf/httpd.conf

ここで、

AllowOverride None

となっている行を探し、次のように変更します。

AllowOverride All

変更を加えたら、Apacheを再起動します。

$ sudo service httpd restart

ワードプレスの設定変更

次はブラウザからワードプレスへログインしてダッシュボードへアクセスしてください。

左のサイドメニューから「設定」→「一般」を開きます。

サイトメニューを変更します。他の項目は触らないようにしてください。

特に「WordPressアドレス(URL)」を変更するとログインできなくなって、データベースの初期化が必要になってしまい、データを全部消すことになります。

サイトメニュー: http://example.co.jp/

example.co.jp は独自ドメインです。ご自分のドメインに置き換えてください。変更したら「変更を保存」ボタンをクリックします。

これで http://example.co.jp/ でワードプレスが表示されるようになります。

管理画面は今まで通りのURLで構いません。