#はじめに
EC2:AmazonLinux2
php7.4:laravel8
apache2.4
の環境を構築する
#aws EC2インスタンス作成
awsにログイン
「EC2」を検索し、移動
「t2.micro」「確認と作成」を選択
セキュリティグループ設定
起動
「キーペアのダウンロード」「インスタンスの作成」
#ssh接続
今回は「putty」でssh接続をします。
ダウンロードした「test.pen」を選択
「test.ppk」で保存
#環境構築
「test.ppk」を設定
「ec2-user」でログイン
#初期設定
パッケージを最新に更新
$ sudo yum update -y
タイムゾーンを日本時間にセット
$ sudo vim /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=false
日本時間にセット
$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
$ sudo vim /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
#PHP7.4インストール
$ sudo amazon-linux-extras install php7.4
$ php -v
PHP 7.4.21 (cli) (built: Jul 7 2021 17:35:08) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
拡張モジュールをインストール
$sudo yum install php-mbstring php-pecl-memcached php-gd php-apcu php-xml php-mysql php-mysqlnd
/etc/php.ini 設定変更
/etc/php.ini
$sudo vim /etc/php.ini
# HTTPヘッダにPHPのバージョンを記載しない(一応セキュリティ的にOffにしておいたほうが良い)
# expose_php = On
expose_php = Off
# メモリ上限を引き上げる(結構デフォルトのメモリは少なめなので増やしておくことが多い)
# memory_limit = 128M
memory_limit = 256M
# POST送信の許容サイズを引き上げる
# post_max_size = 8M
post_max_size = 16M
# アップロードファイルの許容サイズを引き上げる
# upload_max_filesize = 2M
upload_max_filesize = 16M
# timezoneの設定
# date.timezone =
date.timezone = Asia/Tokyo
php-fpmの再起動
$ sudo systemctl restart php-fpm
#apache2.4インストール
sudo yum install httpd
起動
sudo systemctl start httpd
起動確認
sudo systemctl status httpd
※『active (running)』が出ればOK
表示できることを確認
laravelのルート「/」以外 Not foundになるため、.htaccessの有効にする
$ sudo vim /etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/"
↓
DocumentRoot "/var/www/html/【laravelパス】/public/"
<Directory "/var/www/html">
AllowOverride None
</Directory>
↓
<Directory "/var/www/html">
AllowOverride All
</Directory>
再起動
$ sudo systemctl restart httpd
#Laravelインストール
Composerをインストール
curl -sS https://getcomposer.org/installer | php
composer のコマンドで実行できるように、PATHが通っている場所へ移動
sudo mv composer.phar /usr/local/bin/composer
cd /var/www/html
sudo chmod 777 /var/www/html/
composer create-project --prefer-dist laravel/laravel test
$ cd /var/www/html/test
$ composer update
$ chmod -R 777 bootstrap/cache
$ chmod -R 777 storage
$ cp .env.example .env
$ php artisan key:generate