ec2にLAMP環境(apache2.4, MySQL5.7 php7.2)とlaravel5.8を入れてみた
参考URL:
https://miyabi-lab.space/blog/16
mysqlのインストールは、過去記事参照
1, apacheをインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo yum -y install httpd # 起動 sudo systemctl start httpd # 確認(active:runningになればOK) sudo systemctl status httpd # システム起動時に毎回起動するように設定 sudo systemctl enable httpd # 確認 sudo systemctl is-enabled httpd |
2, phpのインストール
yumのリストを見てみると、php5.4という古さ!
1 2 |
sudo yum list | grep php php.x86_64 5.4.16-45.amzn2.0.6 amzn2-core |
ec2では、amazon-linux-extrasというyum代わりのツールを使ってインストールするみたい。
これならphp7.2があった。
1 2 3 4 |
amazon-linux-extras 15 php7.2 available \ [ =7.2.0 =7.2.4 =7.2.5 =7.2.8 =7.2.11 =7.2.13 =7.2.14 =7.2.16 =7.2.17 =7.2.19 ] |
grep amzn2extra-php7.2をインストールすると、yumで、amzn2extra-php7.2 リポジトリが使えるようになるので、PHP拡張モジュールをyumでインストール
1 2 3 4 5 6 |
$ sudo amazon-linux-extras install php7.2 $ sudo yum -y install php72-php-cli php72-php-common php72-php-devel php72-php-fpm php72-php-gd php72-php-mysql php72-php-mysqlnd php72-php-mbstring php72-php-pdo php72-php-xml #再起動 sudo systemctl restart php-fpm.service sudo systemctl restart httpd.service |
3, laravelプロジェクトをcomposerでインストールしたら怒られた!
1 2 3 4 5 6 |
composer create-project laravel/laravel ftplaravel - laravel/framework v5.8.9 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - phpunit/phpunit 7.5.x-dev requires ext-dom * -> the requested PHP extension dom is missing from your system. #適当に拡張モジュールを入れたら行けた yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-gd php-xml |
4, laravelインストール中にコケる。aws/ec2のt2.microのせいか、メモリが足らない・・・?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
- Installing symfony/polyfill-ctype (v1.11.0): Downloading (100%) The following exception is caused by a lack of memory or swap, or not having swap configured Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details PHP Warning: proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 952 Warning: proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 952 [ErrorException] proc_open(): fork failed - Cannot allocate memory create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>] |
5, amazon-linux2にスワップファイルを追加。
スワップファイルとか、久々に聞いたな。
1GBのswapファイルを追加。なぜかデフォルトだとSwap領域が0byteなんだ…。嫌がらせか?
https://apecell.com/2016/01/25/id/120
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
dd if=/dev/zero of=/swapfile1 bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 バイト (1.1 GB) コピーされました、 13.9149 秒、 77.2 MB/秒 mkswap /swapfile1 mkswap: /swapfile1: パーミッション 0644 は安全な値ではありません。 0600 をお勧めします。 スワップ空間バージョン 1 を設定します。サイズ = 1024 MiB (1073737728 バイト) ラベルはありません, UUID=2c76825f-a574-4dda-af5f-2cc1b4b88a15 swapon /swapfile1 swapon: /swapfile1: パーミッション 0644 は安全な値ではありません。 0600 をお勧めします。 chmod 600 /swapfile1 #起動時に毎回作成されるように/etc/fstabも修正。以下の1行を追加 swap /swapfile1 swap defaults 0 0 free --mega total used free shared buff/cache available Mem: 983 253 580 0 149 571 Swap: 1023 2 1021 |
これで、やっとlaravelがセットアップ出来た~。