AWS Cloud9 + EC2 でWordPress開発環境【安定版】
はじめに
数日前にようやく整った・・・と思ってたはずの↓コレが全く使えませんでした。。。
IDEもWordPressサイトも直ぐに固まってしまいます。何が悪いのか。。。 EC2がt2.micro(無料)だからスペック足りないのかなと思って有料の良さそうにしても結果は変わらずでした。
で、ふとEC2サービスのページを眺めていたら、あらあら、あるんですねWordPressプリンストールのAMI・・・.
気がつかなかった。
ググってみるとamimoto社の有料サービスが素敵そう。
が、あくまで開発用なので、無料版から探すことに。 AWSでも紹介されている、WordPress powerd by BitNami とか良さそう。
これにSSHでAWS Cloud9を接続すれば使えないかなーと思いトライしました。 結果、うまくいきました。
以下に手順をまとめました。
工程
1. WordPress powered by BitNami サービスを起動。
2. BitNami AMIをSSH接続できるようにする。
あくまで普通のLinux AMIと同様と考えて、チュートリアルの手法で接続できるように設定できました。 公式の接続チュートリアルは↓これです。
ただ、多少違うところがありますので手順を追って説明します。
1. Pytonのインストール
BitNamiのAMIにはPyhon3は入ってましたが、Python2は入っていませんでした。
AWS Cloud9は2がないとインストールできないので、コマンドラインからPython2をインストールします。
$ sudo apt-get install python2.7
インストールされているPythonの確認はこちらで。
$ python[tabキー][tabキー]
コマンドラインでpythonとタイプしてタブキー連打です。こんなコマンドあるんですねー。
2. Node.jsのインストール
こちらは先のチュートリアルと同様です。$ sudo yun -y update
は不要です。
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash $ . ~/.bashrc $ nvm install node
3. AWS Cloud9のSSHキーを貼り付け
AWS Cloud9のSSHキーの取得は、Cloud9のIDEの新規設定でSSH環境を選択すればコピーできます。
↑こちらの「Copy key to clipboard」をクリックすればOKデス。 コピーしたら以下のコマンドで貼り付け。
$ echo "[貼り付けたSSHキー]" >> ~/.ssh/authorized_keys
最後にアクセス許可の設定
$ sudo chmod u=rwx,g=rx,o=rx ~
4. AWS Cloud9の設定
AWS Cloud9ページに移動して「Create environment」をクリックしてIDEを設定します。
- Name 任意の設定名を入力(僕は作成するサービス名称とかURLにしています)
- Description 概要。空欄可。
- Environment type 「Connect and run in remote server (SSH)」を選択。
- User 「bitnami」と入力。
- Host AMIのIPを入力。
- Port デフォルトの「22」。
- Environment path 空欄でもいけますが、編集すべきpublicディレクトリが彼方に消えてしまうので設定します。「/home/bitnami/apps/wordpress/htdocs」と入力。
- Node.js binary path 空欄だとこけます。「/home/bitnami/.nvm/versions/node/v10.1.0/bin/node」と入力。コマンドラインで
$ which node
で取得できるパスです。 - SSH jump host 空欄。
以上の設定で起動できます。 アクセスできますが、時間が結構かかります。
これで終わりです。
補足
- WordPressのコンソール > 外観 > テーマの編集 ができなくなります。おそらく権限の都合です。IDE側でファイルを作成すると所有者とグループが違うものになるからだと思います。けどIDEでいじれるから問題なしです。
- 権限の関係でIDEで触れないディレクトリがありますがそこはsudoコマンドで補完できます。
- 外部からプラグイン経由でファイルをインポートすると所有者ユーザーがBitnamiと違うものになっている可能性があります。その時は変更すれば良いです。
最後に。
これでも旧Cloud9に比べると多少の不便は感じますが、安定してます!安心して触れます。
コンソールを操作しつつテンプレートファイルをIDEでゴニョゴニョできます。快感です。
当面はこれにてWordPress開発を続けたいと思います。