0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

*備忘録*さくらのレンタルサーバにLaravelプロジェクトをデプロイ・アップロードする。

Posted at

完全なる自分への備忘録です! ひたすら手順だけを書きます。♪~( ̄ε ̄;)
参考サイトはこちら。↓↓(この方のサイト、めっちゃわかりやっす!ありがたや~。)
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/プロジェクト名』にアクセスすると、表示されます。(\*´∀`\*)/ ヤッター。
0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?