LoginSignup
22
26

More than 3 years have passed since last update.

AWS EC2 Amazon Linux 2 に Laravel 環境構築 + デプロイ [とりあえず最速でデプロイしたい人向け]

Last updated at Posted at 2019-11-22

既にインスタンスを作成してssh接続が完了している前提です。
デプロイする場合は、githubにリモートリポジトリが作られている必要があります。
AmazonLinux2にLaravel環境を構築して各種設定を行い、実際に動かすまでの手順を共有します。

Apache 2.4
MySQL 8.0.18
PHP 7.3

yumアップデート

$ sudo yum update -y

Apacheのインストール

// インストール
$ sudo yum install httpd
// 起動
$ sudo systemctl start httpd
// 自動起動設定
$ sudo systemctl enable httpd
// 動作確認
$ systemctl status httpd.service

MySQLのインストール

// mysql8.0リポジトリの追加
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y
// インストール
$ sudo yum install mysql-community-server -y

// 起動
$ sudo systemctl start mysqld.service
// 自動起動設定
$ sudo systemctl enable mysqld.service
// 動作確認
$ systemctl status mysqld.service

// デフォルトパスワード確認
$ sudo cat /var/log/mysqld.log | grep password
// 初期設定
$ mysql_secure_installation

初期設定でrootのパスワードを設定してください。
rootログイン後は各自MySQLの設定を行ってください。

PHPのインストール

$ sudo amazon-linux-extras install php7.3
$ sudo yum install php-cli php-xml php-json php-mbstring php-process php-common php-fpm php-zip php-mysqlnd -y

Gitのインストール

$ sudo yum install git

githubとssh接続

$ cd ~/.ssh
$ ssh-keygen -t rsa -b 4096
$ cat ~/.ssh/id_rsa.pub
コピーしてgithubに公開鍵を登録する
$ ssh -T git@github.com

composerのインストール

$ sudo curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

Laravelのインストール

// メモリ不足を回避するためにswapfileを作成する
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

// htmlに777の権限
$ sudo chmod -R 777 /var/www/html
$ cd /var/www/html
$ composer create-project --prefer-dist laravel/laravel app_name
または、
$ sudo git clone clone_url

// .envファイルの設定
$ cd app_name
$ cp .env.example .env
必要項目を設定する

Laravelの設定

$ cd
$ sudo chown -R ec2-user:apache /var/www/html
$ sudo chmod 2775 /var/www/html && find /var/www/html -type d -exec sudo chmod 2775 {} \;
$ cd /var/www/html/app_name
$ composer install
$ composer update
$ php artisan key:generate

パーミッションの設定

$ sudo chmod -R 777 storage
$ sudo chmod -R 775 bootstrap/cache

Apacheの設定

$ sudo vi /etc/httpd/conf/httpd.conf

// 変更
DocumentRoot /var/www/app_name/public

// 追加
<Directory "/var/www/html/app_name/public">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Apacheの再起動

sudo systemctl restart httpd

これでアクセスすれば表示されるます。
もし違っている部分があれば指摘していただけると幸いです。

参考記事
https://medium.com/@hbayraktar/how-to-install-laravel-5-on-amazon-linux-2-303ef2d38fa4

22
26
1

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
22
26