Help us understand the problem. What is going on with this article?

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

既にインスタンスを作成して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のインストール

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

// htmlに777の権限
$ 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:geterate

パーミッションの設定

$ 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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away