チュートリアル 初級

Laravel を Git で管理する(初回)

2018/05/02

ローカルで Laravel のデモページを表示することができたら、さくらレンタルサーバにアップします。

Git を使ってデプロイ作業をします。

環境は

・レンタルサーバー → さくらレンタルサーバー
・Gitホスティングサーバー → Bitbucket

で話を進めます。

おさえておきたいポイントは三つあります。

1.SSH 認証鍵を Bitbucket に設定
2.envファイルの設定
3./vendor はサーバー側でインストールする

順に見ていきます。

 

1.SSH 認証鍵を Bitbucket に設定

公開鍵・秘密鍵を作成して

・ローカル → Bitbucket
・さくらレンタルサーバー → Bitbucket

を接続します。

 
1.コンソールで SSH 認証の公開鍵と秘密鍵を作成

$ cd ~/.ssh
$ ssh-keygen -t rsa -C { Bitbucketで登録したメールアドレス }

 
2.公開鍵の内容をクリップボードに保存

lessやcatコマンドなどで公開鍵の内容を表示し、クリップボードにコピーします。

$ cat id_rsa.pub

 
3.Bitbucket に公開鍵を登録

Bitbucket にログイン後、左下のユーザアイコンをクリックし、以下を選択します。

ユーザアイコン => 「Bitbucket setting」

続いて、左側のメニューの項目「セキュリティ」から以下を選択します。

「セキュリティ」 => 「SSH キー」 => 「鍵を追加」
警告BitBucket では SSH キーを「ユーザーアカウント自体」と「各レポジトリ毎」に設定できるようになっています。各レポジトリ毎に設定したものは Deployment Key といって、Read only のため書き込みできません。

これでリモートリポジトリからプッシュ、プルができるようになります。

「開発環境」「デプロイ環境」ともにこの操作を行います。

 

2.envファイルの設定

envファイルは環境ごとに個別に用意して環境の違いをなくすファイルです。

DB接続情報やメールの設定などを設定します。

リポジトリからクローンをしてもenvファイルはgetできません。

ターミナル上で編集するか、それが苦手な人はローカルで編集してFTPで個別にアップロードする必要があります。

 

3./vendor はサーバー側でインストールする

クローンをしても /vendor 以下のファイルは get できません。

これは gitignore で/vendor以下のファイルは管理対象から外されているためです。

サーバー側で「composer install」コマンドを実行してインストールする必要があります。

 

チュートリアル

ローカルで作成した Laravelプロジェクトを Git でデプロイ(初回)してみます。

 

デプロイ環境のイメージ

・レンタルサーバー → さくらレンタルサーバー
・Gitホスティングサーバー → Bitbucket

 

手順

最初の一歩として次の2パターンがあると思います。

① 自分がローカルでコードを書いてリモートに上げて他の人にとっていってもらう
② ほかの誰かが書いてくれたコードをリモートからとってくる

今回は①のパターンで進めます。

②のパターンの場合は落としてきたコードを格納するフォルダを作成し git clone を実行します。

1)ローカルリポジトリ → リモートリポジトリの設定
 1.リモートリポジトリの作成
 2.ローカル → リモート(プッシュ)

2)リモートリポジトリ → サーバーリポジトリの設定
 1.Bitbucket(git)→ さくら(サーバー)接続作業
 2.クローン(リモートリポジトリ → サーバー)
 3..envファイル編集
 4.composer installの実行
 5.public→www(シンボリックリンク)

3)動作確認

 

1)ローカルリポジトリ → リモートリポジトリの設定

1.リモートリポジトリの作成

Bitbucketのサイトにアクセスしてリモートリポジトリを作成します。

 

2.ローカル → リモート(プッシュ)

まずは、ユーザ設定をします。

$ git config --global user.name "ユーザ名"
$ git config --global user.email メールアドレス

 
プロジェクトフォルダに移動してgitを初期化

$ cd { プロジェクトフォルダ }
$ git init

 
ローカルリポジトリにコミット

$ git add -A
$ git commit -a -m "first commit"

 
BitBucketにあるリモートリポジトリにプッシュします。

$ git remote add origin bitbucket:{ Username } / { リポジトリの設定で入力したName }.git
$ git push origin master
警告事前に Bitbucket に公開鍵を登録しておきます。
でないと、git push ができません。

 

2)リモートリポジトリ → サーバーリポジトリの設定

1.Bitbucket(git)→さくら(サーバー)接続作業

さくらレンタルサーバと bitbucket をつなげます。

ローカルでやった作業をここでも同じ作業を行います。

 

2.クローン(リモートリポジトリ → サーバー)

さくらレンタルサーバーでは既にGitがインストールされています。

なので、いきなりクローンから入ります。

【 構文 】
git clone [リポジトリ] [ディレクトリ]

上記の構文にそって、コマンドを実行します。

$ git clone https://{ Gitアカウント }@bitbucket.org/{ Gitアカウント }/{ リポジトリ }.git ディレクトリ(プロジェクト名)
警告Clone コマンドを実行する前に composer で Laravel をインストールしておきます。
composer create-project "laravel/laravel=5.2.*" { プロジェクト名 }

 

3..envファイル編集

さくらレンタルサーバーの管理画面でDBを作成します。

その情報をenvファイルに記述します。

DB_HOST=(ホスト名)
DB_DATABASE=(アカウント名)
DB_USERNAME=(ユーザー名)
DB_PASSWORD=(パスワード)

記述したらFTPでアップロードします。

Linuxコマンドが苦手でない方はターミナル上で作成すると早いです。

 

4.composer installの実行

gitignoreで /vendorが指定されているのでコピーされていません。

ターミナル上で composer install を実行します。

% cd {Laravelプロジェクト}
% php ../composer.phar install

 

5.public→www(シンボリックリンク)

さくらレンタルサーバーの公開ディレクトリは /home/{ アカウント }/www 以下です。

プロジェクト直下にあるpublicディレクトリにシンボリックリンクをかけます。

 

3)動作確認

http://{ アカウント }.sakura.ne.jp/{ プロジェク名 }/

にアクセスして表示されればOK。

以上です。

 

-チュートリアル, 初級