まじで自分用のメモ。
メモだけどおかしいところは突っ込んでもらえたらよろこびます。
パーミッション関係に自信がない・・・
サーバの初期設定
$ yum-config-manager --enable remi-php71をしている状態です
$ yum install --enablerepo=remi,remi-php71,remi-php73 php-zip
$ yum -y install php-zip
$ composer global require laravel/installer
パスの登録
macOSとGNU/Linuxディストリビューション:
$ HOME/.composer/vendor/bin
~/.bash_profile に下記を追加
PATH=$PATH:$HOME/.composer/vendor/bin
PATH=$PATH:$HOME/.config/composer/vendor/bin かも
source ~/.bash_profile
apahceのmod_rewriteを有効にする
find / -name 'mod_rewrite.so'
find / -name 'httpd.conf'
下記をhttpd.confの一番下とかに追加する
LoadModule rewrite_module modules/mod_rewrite.so
httpd.confのAllowOverride NoneをすべてAllowOverride Allにかきかえる
Laravel最新版を使う場合はmariaDBのバージョンもふさわしく新しくする必要あり
https://www.petitmonte.com/linux/mariadb_install.html
プロジェクトの初期設定
htaccessをいじる
開発作業
laravel new [プロジェクト名]
デプロイ作業
Laravelプロジェクトをgithubからダウンロードした直後にやること
https://blog.capilano-fw.com/?p=289#i-4
.envファイルの設定
config/app.phpの'timezone' => 'UTC'を'timezone' => 'Asia/Tokyo'とする
# composer install --no-dev
# php artisan storage:link
# sudo chmod 777 storage -R
# sudo chown -R apache:apache storage //ログ書き込みエラーで失敗する対策
# sudo chmod 777 bootstrap/cache -R
# php artisan key:generate
# npm install
# npm run prod
# mysql -u 'ユーザ名' -p'パスワード'
mysql> CREATE DATABASE example CHARACTER SET utf8mb4;
mysql> CREATE USER 'ユーザー名'@'ホスト名' IDENTIFIED BY 'パスワード';
mysql> GRANT ALL PRIVILEGES ON `dbname`.* TO 'username'@'hostname' IDENTIFIED BY 'password';
(キューを使う場合は)キューの非同期処理
プロセス生成
/etc/supervisord.conf に設定を追加
supervisorの設定をする
https://readouble.com/laravel/5.5/ja/queues.html を参照すること
# sudo supervisorctl reread
# sudo supervisorctl update
# sudo supervisorctl start laravel-worker:*
失敗時のテーブル生成(これはmigrationファイルがGitに登録されているはずなので不要)
# php artisan queue:failed-table()
# php artisan migrate
DBのバックアップを定期的に取る
下記を参考にする
試しにバックアップとリストアをして、DBが復旧できることを確認する。
https://centosinstall.com/centos/database/mysql-backup
https://qiita.com/macer_fkm/items/d920ff77f0f5ae5484f9