本記事は、網元(AMIMOTO)を使って、AWS上にWordPressをインストールした人向けの記事です。
WordPressの記事やアップロードした画像とは別に静的コンテンツをサーバー上に置きたいことがありますよね。例えば、技術ブログを書いていて、サンプルコード(HTMLとJavascriptなど)を置きたい場合。
レンサバを使っていると特に困ることはありませんが、網元でインストールした場合、ちょっとしたコツが必要です。
前提知識
- AMIMOTOでWordPressをインストールできる
- ターミナルでEC2にログインできる
- Linuxコマンドが少しくらいなら分かる
どれか一つでも分からないと、この先には進めませんので悪しからず。
網元のディレクトリ構成
まずは、WebRootディレクトリがどこか調べないとですね。通常のWebサーバーだと/var/www/htmlですが、AMIMOTOの場合は以下の場所にWebRootがあります。
1 |
/var/www/vhosts/{Instance ID}/ |
Instance ID は、EC2 Management Consoleで確認できるEC-2インスタンスのIDですが、vhosts直下にはディレクトリが1つしか無いのですぐにわかると思います。
静的コンテンツ専用ディレクトリ作成
WebRoot直下にsampleディレクトリを作って、好きなファイルをアップロードするには以下のコマンドを。ここがちょっとしたコツです。
1 2 3 4 5 6 |
$ cd /var/www/vhosts/{Instance ID} $ sudo mkdir sample $ sudo chown -R ec2-user sample/ $ cd sample (ソースの更新をGitで行う場合はこちらも) $ git clone https://github.com/tomotomo/devtips-sample.git . |
sample/index.html ファイルをアップロードすることで、実際にURLにアクセスして閲覧することが出来ます。
網元でインストールしたWordPressのディレクトリの所有者は全てnginxになっているので、3行目のsudo chown で所有者をec2-userにしてあげる必要があります。
僕は、GitHubに上げたコードをsampleディレクトリに公開しているので、最後にリポジトリのクローンをしています。ちなみに、git clone {url} . (最後にドット)で、カレントディレクトリにクローンできます。
FTPでアップロードする方法
初期設定ではFTPは利用できないのでSFTPを利用します。EC2に自分のPCの公開鍵(public key)を登録して、接続します。
FileZillaでの設定方法のキャプチャーを参考に設定してください。
HostにはEC2のPublic DNSを設定(ec2-xx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.comみたいなアドレス)。Elastic IPを取得している人は、そちらを指定してください。
Protocol:SFTPを選んで、Logon Type:Key file(公開鍵認証)を選ぶ。Key fileはサーバーにログインするための秘密鍵を設定しましょう。
以上で、網元で構築したWordPressサイトに静的コンテンツをアップロードできるようになりました。