Amazon Lightsail(LAMP) + PhpStorm を使った開発のススメ
WEBサービスを公開する場合、Docker、EC2を準備して開発を進めることが多いが課題やミニマムサービスの場合、AWSのVPS(Lightsail) + PhpStormを使うとサクッとLAMP環境が構築でき最適解と感じた。
Amazon Lightsail(LAMP)インスタンス作成
所要時間:1分
- コンソール画面よりLightsailを選択
- インスタンスの作成をクリック
- プラットフォームの選択 → Linux/Unix を選択
- 設計図の選択 → LAMP(PHP7) を選択
- オプション
- SSH キーペアの変更 → 新規作成し新しいキーペアを作成
- インスタンスプランの選択 → 1GB/1CPU プランを選択 ※ 512MB/1CPU だと稀にメモリエラーになる。
- インスタンスの作成をクリック
- 作成後、接続IPアドレスが表示される。
静的IPアドレス
所要時間:30秒
今のままだとIPアドレスが変わるため、静的IPアドレスと紐付けを行う
- コンソール画面 → ネットワーク → パブリック IP → 静的IPのアタッチをクリックで紐付け完了
サーバー確認
所要時間: 2分
作業開始にあたり一通り設定ファイルのパス、コマンドを確認
SSH
$ ssh bitnami@xxx.xxx.xxx.xxx -i ~/.ssh/xxx.pem
アプリパス ※ phpMyadminなどのログインパスワード
$ cat bitnami_application_password
公開サーバー
/home/bitnami/htdocs
設定ファイル
必要に応じて設定を変更
php.ini
$ sudo vi /opt/bitnami/php/etc/php.ini
my.cnf
$ sudo vi /opt/bitnami/mysql/conf/my.cnf
サービス再起動
設定変更を行った場合再起動を行う
Lightsail(LAMP)はctlscript.sh を使って再起動を行う
$ sudo /opt/bitnami/ctlscript.sh restart apache
Restarted apache
$ sudo /opt/bitnami/ctlscript.sh restart php-fpm
Restarted php-fpm
$ sudo /opt/bitnami/ctlscript.sh restart mysql
Restarted mysql
PhpStormと連携
所要時間:2分
言わずとも知れた有名IDE
PhpStormのデプロイ機能を使い、LightsailにPhpStormからアップロード及びダウンロードをできるようにする。
- Tools → Deployment → Cofiguration を選択
- connectionタブを選択
- Type → SFTP、Host → 接続IPアドレス、User name → bitnami、Authentication → Key pair、Private key path → 作成したキーペア(xxx.pem)、Root path → /home/bitnami
- Mappingタブを選択
- Local path → エディタルート
- Deployment path → htdocs
- Tools → DeploymentからUpload、Downloadが可能、Automatic Uploadにチェックするとファイル変更すると自動でアップロードを行って便利
phpMyAdmin確認
所要時間:1分
phpMyAdminの接続はポートフォワーディングを使う
$ ssh -N -L 8888:127.0.0.1:80 -i ~/.ssh/xxx.pem bitnami@xxx.xxx.xxx.xxx
ブラウザ確認
http://127.0.0.1:8888/phpmyadmin/
パスワードは $ cat bitnami_application_password
の値を使う。
大体、5〜7分でLAMP環境の公開サーバーとデプロイ環境を準備することができた。
突発的な課題、サービス提供に利用してみてはいかがだろう?
いいね!と思ったら LGTM お願いします
【PR】週末ハッカソンというイベントやってます! → https://weekend-hackathon.toyscreation.jp/about/