[st-kaiwa3 r]Laravelをレンタルサーバーにインストールするには、どんな方法があるの?FTPでアップロードしてけばいいの?[/st-kaiwa3]
Laravelをレンタルサーバーにインストール/アップロードするには、次の方法のいずれかを使います。
- レンタルサーバーにターミナルでSSH接続し、ComposerからLaravelをインストールする。
- 自分のPC上にあるLaravelサイトを、FTPでサーバーにアップロードする。
- 自分のPC上にあるLaravelサイトを、GITを介してサーバーにコピー(デプロイ)する。
[st-kaiwa3 r]ターミナル、SSH、Composer、GIT・・・ワケワカメ用語のオンパレードですでに絶望しか感じないんだけど・・・orz[/st-kaiwa3]
[st-kaiwa1 r]だよね(汗)、自分もそうだったよ。一つ一つ分かりやすく解説するからまずはリラックスして。
1はまっさらなLaravelをレンタルサーバーに直接インストールする方法。2と3は、PCで作ったLaravelサイトをレンタルサーバーにアップロードする方法だよ。
それぞれのメリットとデメリット、必要な道具を解説していくよ。[/st-kaiwa1]
レンタルサーバーにまっさらなLaravelをインストールする場合
レンタルサーバーにまだ何も書いてない、まっさらなLaravelを直接インストールしたい場合は、ターミナルがまず必要になります。
ターミナルというのは、Windowsで言えば、コマンドプロンプトの事です。
サーバーとターミナルをSSH接続(暗号接続)して、コマンドでLaravelをインストールするという事になります。
ターミナルはRLoginやTeraTermなどを使います。
[st-kaiwa3 r]コマンドとかすごく難しそうだけど、他に方法はないの?PC上に一旦Laravelをダウンロードして、FTPでアップロードみたいな。[/st-kaiwa3]
[st-kaiwa1 r]PCにLaravelをインストールするにも、コマンドプロンプトでコマンドを打ってインストールするから、どっちも同じだよ。そして、PC上で作ったLaravelサイトをサーバーにアップロードするパターンでもターミナルは必要になる。
避けたい気持ちは痛いほど分かるよ。自分もそうだった。でも慣れるから大丈夫。一歩一歩急がば回れで覚えて行こう。[/st-kaiwa1]
流れを説明すると、
- ターミナルのダウンロードとサーバーへの接続
- Composerのインストール
- Laravelのインストール
という手順になります。
まず、RLoginなどのターミナルをPCにインストールします。
そして、サーバーに接続します。接続の仕方はそれぞれのレンタルサーバーのウェブサイトに書いてあります。
[st-kaiwa1 r]「〇〇サーバー SSH接続」とか「〇〇サーバー ターミナル」と検索すれば、接続の仕方が出てきますよ。[/st-kaiwa1]
接続が出来たら、そのターミナルを使って、まずはComposer(コンポーザー)をサーバーにインストールします。
Composerは、LaravelやLaravelのパッケージ(便利アイテム)をphp artisan なんたらかんたら~という呪文を入れるだけで、全自動インストールしてくれる、超優秀プログラムです。
Composer自身のインストールも、ターミナルに php7.2 composer.phar install という呪文を入れるだけで簡単にできます。(phpのバージョンは調べる必要がありますが、詳しくは実際のインストール手順記事で解説します。)
Composerをインストールできたら、今度はLaravelをインストールしたいURLのフォルダに行き、Laravel installのコマンド composer create-project “laravel/laravel=6.*” laravel を打てば、これまた勝手に全部インストールしてくれます。
例えば、abc.comというフォルダがサーバーにあるなら、そのフォルダにインストールすればOKです(publicフォルダではなく、直下にインストールします)。あとは、シンボリックリンクというのを設定する事で、ちゃんとABC.comでLaravelサイトが表示できるようになります。
[st-kaiwa1 r]いろいろゴニョゴニョ書いたけど、ようは2回ターミナルに呪文を入れれば、インストール自体は完了。あとはシンボリックリンクを使ってURLと紐付けるだけって事。できそうでしょ?
ただ、あなたの場合はPC上でLaravelサイトをすでに作ってて、それをアップロードしたいというパターンかもしれないので、その方法も解説します。[/st-kaiwa1]
レンタルサーバーにFTPでLaravelサイトをアップロードする方法
FTPでサーバーにアップロードする方法ですが、
- PCで作ったLaravelサイトの全フォルダを丸っとアップロードする
- ComposerでLaravelをサーバーにインストールして、書き換えたファイルだけ入れ替える
のどちらかを行えば、可能です。
先程と重複しますが、abc.comというフォルダがサーバーにあるなら、そのフォルダにアップロード(もしくはインストール)すればOKです(publicフォルダではなく、直下にインストールします)。あとは、シンボリックリンクというのを設定する事で、ちゃんとabc.comでLaravelサイトが表示できるようになります。
ただ、1つ大事な事として、FTPでアップロードを使おうとも、ターミナルでSSH接続はいずれにしても100%必須です。このシンボリックリンク作成もコマンドで作成する必要がありますし、Laravelを扱う上でも、migrationなどの作業で、コマンドを使う必要は多々出てきます。
FTPでアップロードできるから、ターミナルでのSSH接続がいらなくなるってわけじゃない事は注意してください。
[st-kaiwa1 r]ちなみにFTPでサイトまるごとアップロードは現実的じゃない。日が暮れちゃうよ。だからComposerで空のLaravelをサーバーにインストールして、そこに書き換えた部分だけFTPで上書きするのが無難だね。[/st-kaiwa1]
[st-kaiwa3 r]実はPC上でもうかなりサイトを作り込んでるから、どのファイルが変更済みなのか分からないんだ。だからまるごと全部アップロードしようと思ってるんだけど。[/st-kaiwa3]
[st-kaiwa1 r]だったら絶対GIT(ギット)を使うべき。GITを使えば、FTPで半日かかるアップロードが3分、いや1分で終わるからね。[/st-kaiwa1]
[st-kaiwa3 r]そ、そうなの?ねぇ、でもさ、そのGITとかGITHUBとかいう奴さ、他のサイトでも必ず紹介してるけど、何をどうするのかサッパリワケワカメでとてもやる気に慣れないんだけど。[/st-kaiwa3]
[st-kaiwa1 r]自分も最初はそうだったよ。例えば、Laravelの練習サイトをサーバーにアップロードするんだったら、イジってるファイルは5つぐらいでしょ?ならFTPでアップロードした方が早い。
でも、本格的に作ったサイトをアップロードするんなら、絶対GITが必要。というのもGITは毎回どのファイルの何行目を変更したかまで勝手に記録してくれるから、やっぱり元通りに戻したいって時もすぐに戻せるんだ。FTPじゃ手動でバックアップしなきゃいけないし、バックアップ忘れたら、戻せないでしょ?[/st-kaiwa1]
[st-kaiwa3 r]そ、その通りだね。GITが分からなすぎるから、分かりやすく教えてエロい人![/st-kaiwa3]
→GITとFTPの違い。なぜわざわざGITを使う?初心者向けにやさしく解説。
レンタルサーバーにGITでLaravelサイトをコピー(デプロイ)する
これが一番多くの人に使われてるレンタルサーバーにLaravelを設置する方法です。
GITというシステムを使って、PC上で作ったLaravelサイトをそのまま丸っとサーバーに1分でコピーできるすんごいシステムです。
しかもGITは、毎回どのファイルをイジったか、何行目をどう変更したかまですべて記録してくれます。つまりGITがあれば、バックアップをしてなくても、元のコードがどんなコードだったかが分かるので、誤ってサイトを消してしまったり、コードミスがあっても元通りに簡単に戻せます。
[st-kaiwa1 r]GITは1分でコピーできちゃうすんごいシステムだけど、それ自体をインストールしたり設定するのが最初は意味不明すぎて、みんなGITって聞いただけで、全力疾走で逃げ出っしゃうのだ。[/st-kaiwa1]
[st-kaiwa3 r]うん、もうじんましんが出てくるよ。吐きそうだよ。[/st-kaiwa3]
GITを一言で言うなら「コードのバックアップを全部取ってくれるシステム」です。
GITHUBはそのバックアップを保存してくれるサイトで、GITを使うなら必須サイトとなります(無料プランで全部できます。)
このGITを使ってレンタルサーバーにLaravelサイトをコピーするには、
- GITをPCにダウンロード、インストールする
- SourceTreeをダウンロード、インストールする
- GITHUB無料アカウントを作成する
- SourceTreeを使ってPCのLaravelサイトをGITHUBにクローンする
- ターミナルを使って、GITHUBからレンタルサーバーにLaravelサイトをクローンする
- composer installというコマンドを使って、vendorフォルダをインストールする
- シンボリックリンクを使ってURLと紐付ける。
こういう流れになります。クローンっていうのは、全コピするって事です。
[st-kaiwa1 r]実際のやり方は、別の記事で超細かく解説していくとして、レンタルサーバーへのLaravelのアップロードはこういう流れになるんだ。(vendorっていうフォルダだけはアップロードできないから、サーバー上でインストールする必要があるよ)[/st-kaiwa1]
[st-kaiwa3 r]うわー、やっぱ面倒くさいね。できれば避けたい・・[/st-kaiwa3]
[st-kaiwa1 r]でも、大変なのは最初のインストールとGITHUBの登録だけで、1度設定してしまえば、4と5を繰り返すだけ。この2つの動作合わせて1分以内でできちゃうよ。[/st-kaiwa1]
[st-kaiwa3 r]んー、なんかさ、直接PCとサーバーでやり取りすればいいのに、いちいちGITHUB通すのがよく分からないんだけど[/st-kaiwa3]
[st-kaiwa1 r]GITHUBはバックアップ中継地点って感じなんだ。例えば、PCのLaravelサイトをイジったと同時に、サーバーのLaravelサイトをFTPでイジったとする。で、どっちのどこをイジったか分からなくなったみたいな事が起こるわけよ。そういう時にGITHUBでどっち側のどこをイジったかっていうのを区別する事もできるし、別々のバックアップとして保存する事もできるんだ。[/st-kaiwa1]
[st-kaiwa3 r]なるほど、そう考えるとミスでサイト壊しちゃったなんて事もなくなりそうだね。でもお高いんでしょう?[/st-kaiwa3]
[st-kaiwa1 r]いや、全部無料プランで出来るから。お金はかからないから安心して大丈夫だよ。[/st-kaiwa1]
GITでサーバーにアップロードをちゃんと理解するなら、この記事から↓
GITとGITHUBとは?全く分からない初心者向けに図入りでやさしく解説!
GITでLaravelサイトをアップロードする手順はこちら↓
GITでレンタルサーバーにアップロード。やり方とコマンドを完全解説!
というわけで、レンタルサーバーへのLaravelのインストール、アップロードの仕方の流れ、なんとなく掴めたでしょうか。
まずは、練習がてら、ターミナルのインストールとサーバーへのSSH接続から始めてみてください。これがないと、どれもできないので。