※2020/1/27現在
前回に引き続き、AWSのEC2に現在最新のLaravelを導入したいと思います。
PHPやDBサーバ(Mysql)の設定、Laravelの導入・動作確認の流れを説明します。
○ 読者対象
・初心者の方
・兎に角、AWS上にLaravel環境を早く構築したい方
5.PHPのインストール(所要時間: 約 5分)
○ PHPの導入をします。
Amazon Linux 2 は Red Hat Enterprise Linux 7がベースになっています。
その為、CentOS7の設定を基に行っていきます。※amazon-linux-extras等は使いません
remiリポジトリをインストールします。
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
amzn2-core等のリポジトリが優先されて使われる為、repoファイルにて優先度を下げます。
sudo vim /etc/yum.repos.d/amzn2-core.repo sudo vim /etc/yum.repos.d/amzn2-extras.repo ※priorityを99に変更します。
php7.2やその他パッケージをインストールします。
sudo yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-pecl-zip php-gd php-xml php-mcrypt php -v ※確認
6.MYSQL5.6のインストール(所要時間: 約 5分)
○ MYSQLの導入をします。
Laravelの公式(https://readouble.com/laravel/6.x/ja/database.html)では
MYSQL5.6~と書かれている為、MYSQL5.6を導入します。
mysql57リポジトリをインストールします。
sudo yum install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
デフォルトはMYSQL5.7がインストールの対象となっている為、MYSQL5.6を対象にします。
sudo yum-config-manager --disable mysql57-community sudo yum-config-manager --enable mysql56-community
MYSQL5.6をインストールし、初回起動等の設定を行います。
sudo yum -y install mysql-community-server systemctl enable mysqld systemctl start mysqld
7.Laravel6のインストール・動作確認(所要時間: 約 10分)
○ Laravel6の導入をします。
さて、本題のLaravel導入になります。ここからはLaravelの公式(https://readouble.com/laravel/6.x/ja/installation.html)
通りに行っていきます。
composerの設定を行います。
以下公式より、composerを設定します。
https://getcomposer.org/download/
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'c5b9b6d368201a9db6f74e2611495f369991b72d9c8cbd3ffbc63edff210eb73d46ffbfce88669ad33695ef77dc76976') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/local/bin/composer
Laravel6の設定を行います。
ここで以下コマンドにてエラーが発生しましたので、以下公式通りに対処します。
対処(https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors)
composer global require laravel/installer 以下エラー [ErrorException] proc_open(): fork failed - Cannot allocate memory 対処 sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 sudo /sbin/mkswap /var/swap.1 sudo /sbin/swapon /var/swap.1 再度実行 composer global require laravel/installer
プロジェクトを生成します。
composerが実行できるように設定 cd /var/www/ sudo chown ec2-user:ec2-user html/ cd /var/www/html/ プロジェクトの作成 composer create-project --prefer-dist laravel/laravel test パーミッションの変更 cd /var/www/html/test sudo chmod -R 0777 storage sudo chmod -R 0777 bootstrap/cache
Webサーバ(Apache)に作成したプロジェクトのパスを通します。
sudo vim /etc/httpd/conf.d/site.conf 以下追記 NameVirtualHost *:80 <VirtualHost *:80> ServerName XX.XX.XX.XX ※ElasticIPアドレス DocumentRoot /var/www/html/test/public <Directory /var/www/html/test/puclic> AllowOverride All </Directory> </VirtualHost> 再起動 sudo systemctl restart httpd
これで、Laravelの最初の画面が表示されると思います。
色々と割愛してしまったのですが、以降もDBの設定(mysql初期設定、laravel設定ファイル書換)やドメインの設定・
SSL等(SSLの取得、Apacheの設定等)の設定が必要になってきます。
今後Laravelの良さ等を記事にできたらと思います。
ここまでお読みいただきありがとうございました。