完全なる自分への備忘録です! ひたすら手順だけを書きます。♪~( ̄ε ̄;)
参考サイトはこちら。↓↓(この方のサイト、めっちゃわかりやっす!ありがたや~。)
https://arrown-blog.com/laravel-sakura-deploy/
1. データベースを設定する。
さくらのレンタルサーバーのコントロールパネルから、データベースの作成を行う。
データベース名と、接続用パスワードを打ち込む。
2. サーバーにSSH接続をする。
Poderosa(Poderosaじゃなくてもいいけど、私の場合Poderosaにしておいた。)を開いて、SSH接続をする。
手順は↓のページの、『ログインとログアウト』の項目のとこ参照。
https://help.sakura.ad.jp/206054152/
『Webcome To FreeBSD!』というメッセージがPoderosaのターミナルに表示されればログイン成功!
3. GitHubからデータを引っ張ってくる。
事前にデプロイしたいLaravelプロジェクトをGitHubにアップしておく。
手順1: pwdコマンドで現在のフォルダ位置を確認する。
『/home/アカウント名』になっていればOK。
手順2: 以下コマンドを打ち込んでGitHubからサーバーへデータを取り込む。(私のaddress-bookっていう名前のプロジェクトの場合。)
git clone https://github.com/Tomochan-taco/address-book
lsコマンドで該当するLaravelプロジェクトのフォルダが出てくればOK!
4. vendorフォルダの中身をアップする。
vendorフォルダはGitHubにプッシュされないような設定になっているらしい。( ゚ ω ゚ ) ナント! !
なので、vendorフォルダの中身をさくらのサーバーにアップする。
その為に、まずはcomposerをインストールする。
手順1: cdコマンドでLaravelプロジェクトの中に移動しておく。
『/home/アカウント名/Laravelプロジェクト名』になっていればOK!
手順2: 以下のコマンドを入力して、composerをダウンロードする。
curl -sS https://getcomposer.org/installer | php
*** メモ *****************************
curlは、サーバーへデータ転送を行うコマンド。
-sは、ブロック単位でのファイルサイズを表示するオプション。
-Sは、ファイルサイズでソートする。大きなファイルが先頭にくるオプション。
***********************************
手順3: 以下のコマンドを入力して、composerをインストールする。
php composer.phar
↓のような画面が出てくればOK!
% php composer.phar
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.0.9 2021-01-27 16:09:27
Usage:
command [options] [arguments]
手順4: 以下コマンドを入力して、Laravelのvendorデータをインストールする。
php composer.phar install
lsコマンドを入力して、vendorフォルダが出てくればOK!
5. .envファイルをサーバ上のLaravelプロジェクトにコピーする。
データベース接続設定をする為に、.envファイルを作成してデータベース情報を入力していく。
コードの編集作業をしなくてはならないが、さくらのレンタルサーバーの初期設定ではdeleteキーが使えないので、使えるように設定する。
手順1: まずはcdコマンドで『/home/アカウント名』に移動する。
手順2: 以下コマンドを入力して、.vimrcファイルを新規作成する。
vim .vimrc
手順3: アルファベットのiを押してINSERTモードに切り替えたら、以下コードを貼り付ける。
set backspace=indent,eol,start
escキーを押して、:wqを入力して保存する。
以上で、deleteキーを使えるようにする設定は完了。
手順4: cdコマンドでLaravelプロジェクトの中に移動したら、以下コマンドを入力して、.envファイルを新規作成する。そして、ローカルで作った.envファイルの中身を貼り付ける。
vim .env
*** メモ *****************************
lsコマンドで.envファイルを表示させる時は、ls -a と入力する。
***********************************
手順5: .envファイルの中の該当箇所を編集する。
DB_CONNECTION=mysql
DB_HOST=データベースサーバ
DB_PORT=3306
DB_DATABASE=さくらインターネットのレンタルサーバで作成したデータベース名
DB_USERNAME=アカウント名
DB_PASSWORD=データベースパスワード
手順6: 以下のコマンドを入力して、アプリケーションキーの設定をする。(Laravelプロジェクト内にいることを確認すること!)
php artisan key:generate
「Application key set successfully.」というメッセージが表示されれば、成功。
手順7: マイグレーションしてみる。
php artisan migrate
ちゃんとテーブルが出来ていれば成功。
6. public/index.phpをwww内にコピーする。
現在、Laravelのプロジェクトが存在する場所は以下の通り。
『/home/アカウント名/Laravelプロジェクト名』
しかし、さくらのレンタルサーバーの公開フォルダは、『/home/アカウント名/www』。
つまり、wwwの中にフォルダを作って、その中にLaravelプロジェクトのpublicフォルダの中身をコピーしないといけない。
手順1: cdコマンドでwwwの中に移動したら、mkdirコマンドでフォルダを作成する。
※以下は、Laravelのプロジェクトを「アカウント名.sakura.ne.jp/フォルダ名」でアクセスできるようにしたい場合
mkdir フォルダ名
手順2: cdコマンドでフォルダの中に移動したら、以下コマンドを入力して、Laravelプロジェクトのpublicフォルダの中身をコピーする。
※以下は、Laravelのプロジェクトを「アカウント名.sakura.ne.jp/フォルダ名」でアクセスできるようにしたい場合
cp -r /home/アカウント名/Laravelプロジェクト名/public/. /home/アカウント名/www/フォルダ名
『アカウント名.sakura.ne.jp』にアクセスさせたい場合は、コピー先は『/home/アカウント名/www/』。
*** メモ *****************************
『cp -r /home/アカウント名/Laravelプロジェクト名/public/* /home/アカウント名/www/フォルダ名』
↑↑のように、コピー元を『public/*』としてアスタリスクにすると、フォルダ内のすべてのファイルをコピーはするのですが、.htaccessなどの隠しファイルまではコピーされない為、『public/.』にするといいと思います。
私の場合、『public/.』でコピーすると、正常に表示/動作しました。
***********************************
手順3: コピーしたフォルダに移動したら、以下コマンドを入力して、index.phpを編集する。
cd /home/アカウント名/www/フォルダ名
vi index.php
手順4: 下記の二か所をデータ置き場所に応じて編集する。
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
↓↓
(/home/アカウント名/www/フォルダ名にデータをコピーした場合)
require __DIR__.'/../../Laravelプロジェクト名/vendor/autoload.php';
$app = require_once __DIR__.'/../../Laravelプロジェクト名/bootstrap/app.php';
```
```
(/home/アカウント名/www/にデータをコピーした場合)
require __DIR__.'/../Laravelプロジェクト名/vendor/autoload.php';
$app = require_once __DIR__.'/../Laravelプロジェクト名/bootstrap/app.php';
```
以上で、『アカウント名.sakura.ne.jp/プロジェクト名』にアクセスすると、表示されます。(\*´∀`\*)/ ヤッター。