LoginSignup
2
1

More than 3 years have passed since last update.

初心者おばちゃんの簡単にLaravelをレンタルサーバへアップする方法

Posted at

Symbolic linkをつかってレンタルサーバのディレクトリ変更を最小限でおさえてアップロードする。

Nov 6, 2018にアップしたこちらの動画をありがたいことに、いまだに見てくださっておられる方々がいてまして、文面にあげておこうかと思いました。とても勇気がわきます、ありがとうございます。:relaxed:
Laravelを簡単にレンタルサーバにアップする方法

Hard link との違い

Hard link は、Hard link を削除することで参照先ファイル・ディレクトリが削除される。
Symbolic link は、Symbolic link を通じての参照先ファイル・ディレクトリの削除はできない。

こちら@att55さま、『貼ろうよ Symbolic link』を参照させて頂いております。

とういうことなので、Symbolic Linkを使用しております。

使用環境

ハード

GoDaddy(cPanel)
Windows
PuTTy
Dosコマンド

ソフト

Bush
PSCP

目的

レンタルサーバとLaravelのバージョンが違っていたり、ローカル側の環境をレンタルサーバ側にスタティックに合わせてからアップしなくてもよいように、最初のコミットだけで次回から一連の決まった方法でレンタルサーバに更新できるようにしたい。

方法

何もやっていないレンタルサーバで一からLaravel環境を整備

Laravelの準備

ls /***ディレクトリの中身を確認***/
wget https://getcomposer.org/installer /***Composerをダウンロード***/
ls /***「installer」ファイルがあることを確認***/
php installer --check /***Laravelのバージョンチェック←CorrectとでればOK***/
php installer /***composer.phar*と.composer/ができる***/
rm -f installer /***いらなくなったインストーラーを削除***/

テスト用にプロジェクトをつくる

php composer.phar create-project laravel/laravel laraelTestRun 

SymlinkをはってディフォルトのPublicをLaravelに変更
(symlinkをはってLaravelのpublicを、あたかもレンタルサーバディフォルトのpublic_htmlであるかのように見せる。)

mv public_html public_htmlBK /***名前変更してWWW直下のパブリックを無効にする。***/
ln -s laravelTestRun/public public_html 
ls /***public_html@という新しいディレクトリができていることを確認***/

ブラウザから確認できればOK

ローカルからLaravelプロジェクトをアップロードする

  • 普通に圧縮したファイルをレンタルサーバのコンソール画面からアップロードします。
  • コンソール画面からZIPファイルを解凍します。(結局この方法が一番早くローカルのLaravelを移せました)
  • 先にテストしたLaravelプロジェクトのSymlinkをunlinkします。
unlink public_html

もし同じプロジェクトであった場合には、以下のように解凍する前に古い方を再帰的に削除してください。

rm -rf laravelTestRun
  • もう一度、アップロードしたプロジェクトのために、SymlinkをはってディフォルトのPublicに変更

アップロード後の作業

Dosから、PSCPをつかって環境ファイルやイメージファイルをアップロードします。

環境ファイル

C:\User\neko>pscp c:\savefiles\.env neko@ssh.laravelTestRun.com:/home/neko/laravelTestRun/

イメージファイル(ブログで/storage/app/public/に入るようにしてます)

C:\Users\neko>pscp -r c:/storage/app/public/ neko@ssh.laravelTestRun.com:/home/neko/laravelTestRun/storage/app/public/
  • プロジェクトの中のstorageを削除してartisanでsymlinkをつくる(アップロードするたびに必要)
cd laravelTestRun/public
rm -r storage
cd laravelTestRun
php artisan storage:link

*注:/home/neko/laravelTestRun/storage/app/public/の階層にあるstorageのイメージファイルを、artisanでlaravelTestRun/publicの階層へSymlinkをはってやるため、最初からあったlaravelTestRun/public/storageを削除しています。なのでディレクトリに気を付けてください。

以上です。

動画はこちらです。
Untitled.png

ありがとうございました。

beerneko テック動画集はこちらです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1