cloud9@AWSでlaravel7.5開発(ec2+php7.2+mysql5.7)してみた。
1, cloud9@ec2の環境を構築
cloud9サービスから構築するだけ
2, phpも古いのでバージョンアップ、composerのインストール
1 2 3 4 |
sudo yum -y update sudo yum -y install php72 php72-mbstring php72-pdo php72-intl php72-pdo_mysql php72-pdo_pgsql php72-xdebug php72-opcache php72-apcu sudo unlink /usr/bin/php sudo ln -s /etc/alternatives/php7 /usr/bin/php |
3, laravel本体のインストール(無料枠t2.microだとメモリ不足)
スワップファイルで対応
1 2 3 4 |
sudo dd if=/dev/zero of=/swapfile1 bs=1M count=1024 sudo chmod 600 /swapfile1 sudo mkswap /swapfile1 sudo swapon /swapfile1 |
4, cloud9内のブラウザでlaravel表示
1 2 3 4 5 6 7 |
# composerインストール curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer # laravelインストール composer create-project laravel/laravel laravel # Webサーバ起動 php artisan serve --port=8080 |
previewタブからpreview running Applicationで表示される。
https://ハッシュ値.vfs.cloud9.ap-northeast-1.amazonaws.com/
でurlが割当られるけど、外部のブラウザからはOops VFS connection does not exist と非表示状態。
5, この状態で、routes/web.phpなどを修正すると反映されるので、最低限の開発はできる。
6, mysql5.5がインストール済みだけど、古いのでMySQLの最新版をインストールする。
mysql8でもいいけど、aws推しのauroraがmysql5.7互換までしか対応してないので、mysql5.7をインストールする。
1 2 3 4 |
sudo service mysqld stop sudo yum -y erase mysql-config mysql55-server mysql55-libs mysql55 sudo yum -y install mysql57-server mysql57 sudo service mysqld start |
7, laravelからmysqlへ接続する
cloud9は隠しファイル(.env)は非表示になっているので、ソースツリーの歯車マークからshow hidden filesにチェックを入れる。
デフォだと、rootアカウントパス無しだけど、実質ローカルなんで、このままで行こう。
1 2 3 4 5 6 7 8 |
# cloud9標準のmysqlに接続 sudo mysql # laravel用DBインスタンスを生成 mysql> CREATE DATABASE laravel CHARACTER SET utf8mb4; exit # laravelのマイグレーションでテーブル作成 # DB名:laravel user:root passowrd無しがデフォルトなので.env修正しなくても作成できる。 php artisan migrate |
これで、最低限の開発環境が、とりあえず出来た。
CodeCommit経由で本番サーバへの反映出来るようにしないとな~。