LoginSignup
4
3

More than 1 year has passed since last update.

AWS EC2 Laravel8 Apache 環境構築

Last updated at Posted at 2021-07-24

はじめに

EC2:AmazonLinux2
php7.4:laravel8
apache2.4
の環境を構築する

aws EC2インスタンス作成

awsにログイン
「EC2」を検索し、移動
WS000018.JPG

「インスタンス」を選択
WS000000.JPG

「インスタンスの作成」を選択
WS000000.JPG

「Amazon Linux 2 」を選択
WS000001.JPG

「t2.micro」「確認と作成」を選択

WS000002.JPG

セキュリティグループ設定

WS000003.JPG

WS000005.JPG

起動

WS000006.JPG

「キーペアのダウンロード」「インスタンスの作成」

WS000008.JPG

インスタンス作成完了(起動までしばらく時間がかかります)
WS000009.JPG

ssh接続

今回は「putty」でssh接続をします。

検索から「puTTYgen」を起動
WS000010.JPG

ダウンロードした「test.pen」を選択

WS000011.JPG

WS000012.JPG

「test.ppk」で保存

WS000013.JPG

環境構築

作成したインスタンスを選択、IPアドレスを確認
WS000014.JPG

「test.ppk」を設定

WS000016.JPG

「Open」「はい」を選択
WS000017.JPG

「ec2-user」でログイン

WS000018.JPG

WS000019.JPG

初期設定

パッケージを最新に更新

$ 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

http://13.231.219.67/
WS000000.JPG

表示できることを確認

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

http://13.231.219.67/test/public/
WS000001.JPG

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3