8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AmazonLinux2 Laravel 環境構築 メモ

Last updated at Posted at 2020-03-04

今回の環境

  • EC2:Amazon Linux2
  • PHP 7.3
  • Composer
  • Laravel Framework 6.17.1

初期設定

パッケージのアップデート~タイムゾーンの更新まで

AWS EC2 + Amazon Linux2 + 初期設定やってみた メモ

Apacheインストール

毎度おなじみ「Apache」さん

インストール
$ sudo yum install httpd
Apache起動
$ sudo systemctl start httpd
起動確認
$ sudo systemctl status httpd

Active: active (running) みたいなのが出ればよし

システム起動時に起動する設定
$ sudo systemctl enable httpd

Windowsで言うところのスタートアップみたいな

上記設定の確認
$ sudo systemctl is-enabled httpd

enabled って出ればOK

調べていたら「Nginx」っていうのもあったのでそのうち触ってみたい
ApacheとNginxについて比較

PHPインストール

インストール
$ sudo amazon-linux-extras install php7.3
バージョンの確認
$ php -v

PHP 7.3.14 (cli) (built: Feb 21 2020 01:59:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
インストールされたモジュールの確認
$ sudo yum list php* | grep php7.3
関連モジュールのインストール
$ yum install php-xml php-mbstring php-dom php-zip

次のどれかが無かったらインストール
ないとLaravelのインストール時やプロジェクト作成時にコケるらしい。

  • php-xml
  • php-mbstring
  • php-dom
  • php-zip

PHPの設定

こちらを参考に

AmazonLinux2でLaravelの開発環境構築
nginx と PHP-FPM の仕組みをちゃんと理解しながら PHP の実行環境を構築する

設定ファイルを開く
$ sudo vi /etc/php.ini

開いたら次のように修正

php.ini
# HTTPヘッダにPHPのバージョンを記載しない(セキュリティ的に)
# 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の再起動(php.iniの設定を反映させるため)
$ sudo systemctl restart php-fpm

Laravel プロジェクトの作成

Laraveインストール AmazonLinux2

compoerインストール
$ curl -sS https://getcomposer.org/installer | php

# Pathの通っている/usr/binに移動させる
$ mv composer.phar /usr/local/bin/composer

これでcompoerを使う準備ができた。
さっそくプロジェクトを作っていこう。

「/var/www/html」あたりにプロジェクトを作るか!
と思ったらエラーになるので、今回は他のところに作ります。
※どうしても作成したい場合は権限をいじってね

作業フォルダの作成と移動
$ mkdir ~/html
$ cd ~/html
Laravelプロジェクトの作成
$ composer create-project --prefer-dist laravel/laravel blog

※ VSCodeのRemote-SSHを使って操作していますが、プロジェクト作成時に処理落ちすることがあります。

プロジェクトの更新
$ cd ~/html/blog
$ composer update
権限周りの変更
$ cd ~
$ chmod -R 775 ~
$ chmod -R 775 ~/html
$ chmod -R 777 ~/html/blog/bootstrap/cache
$ chmod -R 777 ~/html/blog/storage

Laravel のバージョン確認

プロジェクトフォルダで次のコマンド

バージョン確認コマンド
$ cd ~/html/blog/
$ php artisan -V

Apacheの設定

conf作成
$ sudo vi /etc/httpd/conf.d/xxxxx.conf

※「xxxxx.conf」は任意の名前です。

xxxxx.conf
DocumentRoot /home/ec2-user/html/blog/public
<Directory /home/ec2-user/html/blog/public>
    #.htaccessを利用可能にする
    AllowOverride All

    #アクセス許可
    Require all granted
</Directory>

これを書き込んで保存

確認

サーバーアドレスをブラウザで叩いて動作確認
demo画面が表示されたらOK

laravel_demo.png

MySql5.6 インストール

リポジトリの追加
$ sudo yum install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

Amazon Linux2 さんにはMySql 5.6がいないのでリポジトリを追加してあげる

リポジトリの切り替え
$ sudo yum-config-manager --disable mysql57-community
$ sudo yum-config-manager --enable mysql56-community

追加したリポジトリのデフォルトは5.7なので
次の状態にする。

  • 5.7を無効
  • 5.6を有効
インストールから起動まで
$ sudo yum -y install mysql-community-server
$ sudo systemctl enable mysqld
$ sudo systemctl start mysqld

上から順にこんな感じの設定

  • インストール
  • サービス自動起動有効
  • サービス起動
起動確認
$ sudo systemctl status mysqld

確認はApacheの時と同じく
Active: active (running) みたいなのが出ればよし

初期設定
mysql_secure_installation

「Enter current password for root (enter for none): 」
訳:rootの現在のパスワード入れてね!

無いのでそのままEnter
あとは全部「y」でOK

チュートリアルの紹介

環境設定後はチュートリアルをやりたい人(私)用にチュートリアルをいくつか見つけてきました。

8
6
2

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
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?