WordPressプラグイン開発 – 【おさらい】AWS Cloud9で開発環境構築

このブログは初心者がPHPを独習する過程で備忘録的に書いています。内容に不理解による誤りがあるかもしれません。もし、誤りがありましたらご指摘頂けば幸いです。

先日まででおおまかなプラグイン開発の流れがつかめましたので、ここで学習を深めるためにもう一度はじめからおさらいしてみようと思います。

AWS Cloud9で開発環境の構築

場所と端末を選ばず開発ができるということで、AWS Cloud9でWordPressの開発環境を構築します。開発環境とは、本番と同じ環境でプログラムを試せる環境です。いわゆるLAMP(Linux+Apache+MySql+PHP)がセットになった環境です。

以下はAWS(Amazon Web Service)のアカウントを持っていることを前提に説明します。

STEP1- AWS にサインインする

AWSを開くとこのような画面が表示されます。まだアカウントをお持ちでない方は無料アカウント作成で作成しましょう。

すでにアカウントを持っているなら、コンソールにサインインをクリックします。

するとこのような画面が表示されますので、設定したパスワードを入力しサインインをクリックします。

多要素認証(二段階認証)を有効にしている場合はこのような画面が表示されます。スマホのAuthenticator(Mac版アプリまたはAndroid版アプリ)で表示された6桁の数字を入力します。

STEP2 – AWS Cloud9を起動する

AWS マネジメントコンソールが開いたら検索窓で「Cloud9」と入れて検索します。

Create environmentをクリックします。

名前と簡単な説明を入れてNext stepをクリックします。

するとこのような設定画面が出ます。上記のようであればそのままで良いのでNext stepをクリックします。

プレビュー画面が出ますので、確認してCreate environmentをクリックします。

AWS Cloud9起動画面が出てCloud9が起動します。

これで、AWSのクラウドストレージ(EC2)上に開発用のスペースを確保し、統合開発環境であるCloud9を起動することができました。

Cloud9にWordPress環境を構成する

さてここからは、Cloud9上でWordPressの開発環境を作っていきます。

▼ その方法はこちらの記事に書いています

WordPressプラグイン開発 - AWS Cloud9でWordPress開発環境構築できました!
とても参考になったサイト 開発環境については、色々と検討しましたが場所を選ばず開発できる環境がやはり一番良いのでCloud9に決めました。Cloud9上にWordPressの開発環境を構築するのは、上記サイトを参考にさせて頂く...

とはいえ、この記事でも大まかに説明します。

お宝シェルスクリプトでWordPress構築

LinuxのrootユーザとはLinuxの管理者の事です。先程作成したAWS Cloud9の開発環境はLinuxというOSがベースになっています。Linuxシステムを自由に編集することができる最高権限をもったユーザがrootユーザーということです。

rootユーザーは何でもできる権限をもっているので、環境構築後の初期設定や設定変更パッケージなどのインストール時以外は一般ユーザー権限で作業したほうが良いです。

Linuxのrootユーザのパスワードを設定する

初期設定でrootユーザーのパスワードは設定されていないのでこれにパスワードを設定しておきます。そのためにはLinuxと対話するためにシェルを使います。Cloud9ではTerminalといい、デフォルトでは右ペインの下にあるうすい水色の部分です。

 

rootでログインしてrootのパスワードを変更します。手順は以下の通りです。

$ sudo su - //rootでログイン
# sudo passwd root
Changing password for user root.
New password: 設定するパスワード
Retype new password: パスワード再入力
//成功すれば以下のように表示されます
passwd: all authentication tokens updated successfully.
# exit; //rootから抜けます
rootパスワードは忘れると面倒なことになるので、必ずなにかにメモするとかして忘れないようにします
設定したパスワードは次に説明する手順で必要になります。

この時点でのCloud9の画面

AWS Cloud9の初期画面はこんな感じです。右のペインにはWelcomeページが表示されていて、左のペインにはファイル構造を表示するツリー(今はなにもない)が表示されています。Welcomeページは閉じて構いません。(ここではCloud9の使い方は詳しくは説明しません)

シェルスクリプト用に新規ファイルを作成

こちらのサイトにあるシェルスクリプトを実行するために新規ファイルを作成します。左ペインのフォルダアイコンを右クリックしてNew Fileを選びます。

そうすると新規ファイルができファイル名が「Untitled」となっていますので、これを「wordpress_install.sh」(任意のファイル名でOK)に変更します。

こちらのサイトにあるシェルスクリプトのテキストをwordpress_install.shにコピペして保存します。次にこのファイルの設定(赤字の部分)を変更します。

ROOT_PASSWORD=rootのパスワードに書換
DB_NAME=作成するデータベースの名称に書換(ハイフン、バックスラッシュは使わないでください)
WP_USER=作成するデータベースの管理ユーザ名に書換
WP_USER_PASSWORD=作成するデータベースの管理ユーザのパスワードに書換
TABLE_PREFIX=作成されるデーブル名の共通する頭文字に書換(例: wp0001_)

例)

ROOT_PASSWORD=rootpwd(先に設定したrootのパスワード)
DB_NAME=mydbname
WP_USER=mynane
WP_USER_PASSWORD=mywppwd
TABLE_PREFIX=wp_

設定が終わったら保存してwordpress_install.shを閉じます。

シェルスクリプトのパーミッションを変更

詳細は省きますが、シェルスクリプトを実行するためにwordpress_install.shに対し実行権限を与えます。以下のコマンドをTerminalで実行します。(ec2-userのままでOK)

$ chmod 700 wordpress_install.sh

シェルスクリプトを実行

いよいよWordPressをインストールします。以下のコマンドをTerminalで実行します。

$ ./wordpress_install.sh

やったー! なにやら自動的にファイルができてきてますよー

これでCloud9にWordPress関連のファイルがすべてインストールできました。

WordPressを設定する

WEBサーバーPHP環境をRUNする

上部のメニューでRun/ Run With/ PHP(build-in web server)を選ぶとWeb Serverが起動します。(止める場合はTerminalのStopをクリックします)

WordPressをプレビューする

上部のメニューでPreview/ Preview Running Aplicationを選ぶと,

こんな風になり「なにこれ?」ってなりますが、今は気にしなくて大丈夫です。

右にあるアイコンでブラウザの新規タブで開きます。

WordPressの初期設定画面が開きますので、ここで項目を入力してWordPressをインストールしてしまいます。

じゃーん!Hello world!

そこで、このWordPressサイトのURLをコピーし、Preview URLに登録しておきます。Preview/ Configure Preview URL…を選ぶと、

Cloud9の設定画面が開きますので、Preview URLに先程コピーしたURLをペーストします。

と、このようにPreviewから選べるようになります。これを選ぶとブラウザの別タブでプレビューを開くことができます。

Cloud9のペイン内にプレビューを表示することもできるようですが、こうやって別タブでプレビューした方が使いやすいように思います。というのは、Cloud9で全部表示してしまうと画面が狭いので窮屈になりますから。

WordPressをデバックモードにする

以上で一応WordPressの開発環境が構築できたわけですが、wp-config.phpを編集してWordPressをデバックモードにするとエラー情報を表示してくれるので開発には便利です。

wp-config.phpのパーミッションを変更する

今回の手順でWordPressをインストールした場合、wp-config.phpはパーミッション(権限)がなく編集できなくなっています。まず、wp-config.phpのパーミッションを適切に変更します。パーミッションの変更方法についてはCodexをご参照ください。

wp-config.phpを編集して保存

wp-config.php内の該当部分を以下のように変更します。

define('WP_DEBUG', true);

ファイルを保存して完了です。

データーベース接続エラーになる場合

MySqlがストップした場合、データーベース接続エラーになります。その場合、Terminalに以下のコマンドを実行することでMySqlを起動できます。

$ sudo service mysqld start

まとめ

これでめだたくAWS Cloud9上にWordPress開発環境が構築できました。WordPressでプラグインを開発するには、この後もたくさんやることがあります。その後の出来事は以下のブログに書いていますので良かったらご参照ください。

KPWL進捗状況
FileMakerProのカスタムAPP”カンタンPro”をWebアプリケーションとして開発しています。ここでは、開発状況の報告やエピソードなどを記録しています。

 

2019/9/11 WordPressプラグイン開発は一旦終了しLaravelでの開発に切り替えました。

カンタンProWPとは
ファイルメーカーProを使用しないでWEB上でカンタンProの機能を実現するWordPressのプラグインです。2019年7月4日から開発を始めています。

だれでも手軽に、どこでも、安価にカンタンProを利用できるようにすることが開発の目的です。PHP(プログラミング言語)を使った開発になります。PHPについて一から勉強して開発を進めていきます。

コメント