Laravelプロジェクトをエックスサーバーにデプロイする方法を初心者向けに解説しています。
今回はリモートリポジトリを作成した後、SourceTreeを使ってgit push(ギット プッシュ)を行い、ローカルのプロジェクトをリモートリポジトリに作成します。
これまでの流れは、こちらをご覧ください。
なお、わたしのOSはWindowsで、Laravel8を使用しています。
↓↓↓
10日間無料お試し可能です。
独自ドメインがひとつ無料で使えます。
(キャンペーン情報は変更があるかもしれないので、お申込み前にご確認ください。)
初めてのGit管理:エックスサーバーにリモートリポジトリを作成してみよう
今回は、まずはエックスサーバー上にリモートリポジトリを作成し、そのあとプッシュを実行します。
リモートリポジトリとは、サーバー上のプロジェクトの置き場所です。
リモートリポジトリの作成
① SourceTreeを立ち上げます。
ターミナルをクリックします。
② エックスサーバーにログインするために、下記のコマンドを入力します。
アカウント名は、エックスサーバーのサーバーパネルにログインした後、左側に表示されます。
ホスト名は、エックスサーバーのサーバーパネルにログインした後、【サーバー情報】をクリック。
2行目のホスト名を確認してください。
なお最後の -p 10022 は、ポート番号となります。
③ Enter passphrase for key ’秘密鍵ファイル’ と表示されます。
エックスサーバーに登録してあるパスフレーズを入力してください。
パスフレーズの作成手順は、前回のSSH設定を解説した記事で解説しています。
ちなみにパスフレーズは入力中、ツールはノーリアクションです。
気にせず打ち込んでくださいね。
④ 無事ログインができたら、mkdir git コマンドを入力します。
「git と言う名前のディレクトリを新規作成してね」という意味です。
1 |
mkdir git |
⑤ 作成後、cd git コマンドを入力します。
「(今作成した)gitディレクトリに移動してね」という意味です。
1 |
cd git |
⑥ gitディレクトリの中に、リモートリポジトリを作成します。
git init –bare test.git コマンドを入力します。
「testという名前の空っぽなリポジトリを作成してね」という意味になります。
1 |
git init --bare test.git |
⑦ Initialized empty Git repository in と応対が返ってきます。
in 以下のhomeで始まる部分は後でSourceTreeに登録します。
後で確認できるよう、ターミナルはこのままにし、SourceTreeに戻りましょう。
これでリポジトリ作成手順は終了です。
プッシュの実行
それでは次に、プッシュの手順を解説します。
① SourceTreeの リポジトリメニューから、リポジトリ設定を選択します。
② 追加 ボタンをクリックします。
③ URL/パス に、先ほど作成したリモートリポジトリを、下記のルールで登録します。
アカウント名@ホスト名は、先ほど、「リモートリポジトリの作成」の②で入力したものと同じです。こんな感じになります。
リポジトリのパス は、先ほど作成した homeで始まるパスです。
パスを登録後、デフォルトモードにチェックを入れ、OKボタンを押します。
オプション画面が閉じますので、再度、OKボタンを押します。
④ プッシュメニューをクリックします。
⑤ master にチェックを入れ、プッシュをクリックします。
プッシュがスタートします。
もしエラーになる場合は、③のURL/パス が間違っている可能性が大。
確認してみてください。
わたしは、ここで不要なスペースが入っていて、エラーになりました。
不要なスペースなど入っていないか、チェックしてくださいね。
以上で最初のプッシュが完了です。
次回は、プルに進んでいきましょう。
ようやく半分ぐらい進んだ感じでしょうか。
次回は、本番環境に反映させていきますよ♪
【Laravelをエックスサーバーで公開する方法 目次】
- Gitについて
- SourceTreeをインストール・最初のコミット
- XserverでSSH通信と鍵を設定し、SourceTreeにも反映
- Xserver上にリモートレポジトリ作成・最初のプッシュ(←今ここ)
- Xserver上のリモートレポジトリをクローン・プルの準備
- データベースの作成
- SSH設定とサブドメイン作成
- シンボリックリンクの作成
コメント
いつも貴重な情報を発信していただきありがとうございます。
記載されている手順で進めている中で想定外のメッセージが返ってきたためご質問いたします。
解決策などアドバイスいただければ幸いに存じます。
②のとこで、Xserverにログインするためターミナルから下記のコマンドを打ちました。
ssh アカウント名@ホスト名.xserver.jp -p 10022 ※私の環境に合わせて変更しています。
すると、下記のメッセージが返ってきて認証が成功しません。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
なお、XserverでSSH通信と鍵を設定し、SourceTreeにも反映 は実施済みです。
私の環境は下記になります。他にも環境情報など必要でしたらご連絡ください。
OS:Windows10
サーバー:Xserver
SourceTree:SourceTree 3.4.9 [23 May 2022]
お手数をおかけしますがご教示のほど何卒よろしくお願いいたします。
こちら、秘密鍵の名前が、デフォルトとは異なるのではないかと推測されます。
この場合の対策を記事に追記しました。
「秘密鍵の場所や名前を id_rsa以外に設定してある場合には」の場所、ご覧ください。
いつもお世話になっております。
じゅんこさんの教えのまま、進めていってようやく接続できました。
ありがとうございます。
2点だけ、気になった箇所がありましたので、
余計かもしれませんが、閲覧してつまずいた方の為にも追記しておきます。
例として
————————
サーバーID : testname
ホスト名 : sv111
————————
とします。
【 リモートリポジトリの作成 】の②
ssh アカウント名@ホスト名.xserver.jp -p 10022
↓
ssh testname@sv111.xserver.jp -p 10022
これで成功したので、
【 プッシュの実行 】の③
ssh://アカウント名@ホスト名:10022/リポジトリのパス
↓
ssh://testname@sv111:10022/home/testname/git/test.git/
こちらも同じ流れで設定したのですが、エラーになりました。
接続ができた設定がこちらです。
ssh://testname@sv111.xserver.jp:10022/home/testname/git/test.git/
細かい部分ですが、xserver.jpを含んだホスト名という認識になるのですね。
考えればわかることかもしれませんが、指示通りに記入していっているので
こういう1つのつまづきで、エラーにふりまわされる素人ですみません。
③の説明内の画像が100222となっているので、
まさか、ここの数値も間違っているのか?などと試した次第でした。
記事自体を修正された場合は、このコメントは消していただいてかまいません。
せっかく、細かく教えていただいたのにもったいなという思いと、
同じくらい素人で、ここでつまづいた方の為に共有しておきたいと思いました。
本も購入させていただきました☆ 引き続き、お世話になります。
CodeNoviceさん、
記事修正しました。
分かりやすくご指摘いただき、助かりました!
また、コメントも嬉しく拝読しました。
ありがとうございます^^