2020年9月13日追記----------------------
以下のサイトに詳しく書いたので基本的にこちらを参考にしてください。
サーバはconohaVPSなのでさくらとの契約のあたりはこのページと合わせて。
Laravelプロジェクトを本番サーバにデプロイ
サーバーと契約
さくらネットのHPから簡単に契約できました。
契約したら1、2分でIDとかがメールで届きました。
仮登録という件名のメールにサーバーのパスワードとか入ってました。
これを大事にメモしておく。
自分のアドレスのパス
さくらネットでは(というか他もそうかもしれないが)
/home/hoge/www/
がホームディレクトリになる。
(hogeは自分のユーザー名)
試しに何か転送してみる
試しに適当なindex.htmlを作成して
scp index.html hoge@hoge.sakura.ne.jp:~/www
か、FTPソフトでwww直下においてみる。
ドメイン名にもユーザー名と同じhogeがつくのでハマりやすいです。ていうか軽くハマりました。
メールちゃんとみたほうが良いです。
それで
http://www.hoge.sakura.ne.jp/index.html
にアクセスして開けたらとりあえず自分のサーバー領域は稼働しています。
apachとか自分で立ち上げなくても初めから常時起動しています。
Laravelアプリを転送
本当はgitをうまく使うと楽に管理できるらしいのですが、そういうのはもっと詳しく書いている人がいるのでそちらをみてください。私もそのうちチャレンジするつもりです。
というわけで、今回はゴリ押しでアプリのフォルダごと一式全部さっきのwwwフォルダ直下にscpで送ります。
これはFTPソフトよりターミナルが楽だと思います。
scp -r helloApp hoge@hoge.sakura.ne.jp:~/www
scp -r でフォルダ丸ごとコピーできます。
これで
http://hoge.sakura.ne.jp/helloApp/public/index.php
がアプリのトップページになります。
間のpublicとかなくすやり方も他のページググったら出てきます。
MySQLにつなぐ
繋ぎ方はローカルサーバーより簡単だったので
やり方は他のページを見てもらうとして、
ハマったことだけ書きます。
.envファイルを編集するのですが、sshでサーバーのシェルに入ってvimを使おうとしたらカーソルキーが使えなくて操作できなかった。筆者の環境がたまたまかもしれない。
ですが、さくらの管理ページから入ると専用のWEBエディタが使えてメモ帳みたいな感じで簡単に編集できました。
パスワードなどが違ってDBに接続できない。
ホスト名とか必要なことが一式管理ページにあるのでそれを使えば動きました。
パスワードとかがきちんと合えば、sshでアプリのフォルダにcdで入って
php artisan migrate
php artisan db:seed
でローカルのDBがサーバーに再現できちゃいます。すごい。
テーブル名が大文字・小文字が違って繋がらない。
マイグレーションまでできたは良いが、あるはずのテーブルがselectできないと言われた。
まさかと思いつつエラーメッセージに合わせたら動いた。
ローカルでは動いていたんだけど。
どうもMySQLはバージョンによって大文字小文字を同一視したり分けたりするらしいです。
対応は他の方が書いてくれています。
↑生のSQL発行