AWS EC2にて
Ubuntu 18.04.5 LTS
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
パッケージ確認
ii php7.2 7.2.24-0ubuntu0.18.04.7 all server-side, HTML-embedded scripting language (metapackage)
ii php7.2-cli 7.2.24-0ubuntu0.18.04.7 amd64 command-line interpreter for the PHP scripting language
ii apache2 2.4.29-1ubuntu4.14 amd64 Apache HTTP Server
ii mysql-server-5.7 5.7.33-0ubuntu0.18.04.1 amd64 MySQL database server binaries and system database setup
Laravel8サーバー条件
php7.3以上
MySQL5.7以上(migrationの ('email')->unique()がこけるので実質5.7)
nodejs v12.14以上(npmでこけるものがあるのでこれも実質12.14)
php7.4をインストール
php7.2を残したまま切り替えできる
https://www.souichi.club/wordpress/php-version-up/
何故か入っていない、mbstringとdomをインストール
apt install php7.4-mbstring php7.4-xml php7.4-mysqlnd php7.4-curl
php.iniにてタイムゾーンだけ設定しておく
/etc/php/7.4/apache2/php.ini
timezone = Asia/Tokyo
nodejs アップグレード
nvmで入っているので、インストールするだけ
nvm install v15.8.0
nvm
Laravel8 インストール
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') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mkdir ~/bin
mv composer.phar ~/bin/composer
composer インストール
composer create-project laravel/laravel example-app
Apache2設定
デフォルトのドキュメントルートを付け替える
ubuntu:~/example-app $ sudo mv /var/www/html /var/www/html_org
ubuntu:~/example-app $ sudo ln -s /home/ubuntu/example-app/public /var/www/html
パーミッション設定
https://qiita.com/engulisyu/items/ad819d06ea0cd31411df
sudo usermod -a -G www-data ubuntu
sudo chown -R ubuntu:www-data ~/example-app
sudo find ~/example-app -type d -exec chmod 750 {} \;
sudo find ~/example-app -type f -exec chmod 640 {} \;
sudo chmod -R 770 ~/example-app/storage/ ~/example-app/bootstrap/cache/
データベース設定
# mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO devuser@localhost IDENTIFIED BY '1234' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> CREATE DATABASE devdb CHARACTER SET utf8mb4;
mysql> \q
.env
DB_DATABASE=devdb
DB_USERNAME=devuser
DB_PASSWORD=1234
Laravel Starter Kits (Breeze)インストール
cd example-app
php artisan migrate
composer require laravel/breeze --dev
php artisan breeze:install
npm install
npm run dev
Apache2のrewriteが効かない
a2enmod rewrite して、/var/wwwのoverride Allする
https://qiita.com/ryokurosu/items/7bae243614c0894e048d
/dashboardへアクセス