初心者向けにLaravelプロジェクトをエックスサーバーにデプロイする方法を解説しています。
7回目の今回は、本番環境用のURLの作成方法です。
ユーザーにとってセキュリティ面で安心できる https:// で始まるサブドメインをエックスサーバーで設定していきましょう。
これまでの流れは、こちらをご覧ください。
なお、わたしのOSはWindowで、Laravel8を使っています。
↓↓↓
10日間無料お試し可能です。
独自ドメインがひとつ無料で使えます。
(キャンペーン情報は変更があるかもしれないので、お申込み前にご確認ください。)
初めてのLaravelデプロイ:エックスサーバー上でサブドメインを作り、https化(SSL化)して本番用URLを作ろう
サブドメインとは、ドメインを分割するために作るドメイン名のこと。
ひとつのドメインを使って複数のサイトを立ち上げるときに便利です。
たとえば、★★★.com というドメインがあるとします。
サブドメインを作ることで、〇〇○.★★★.com 、△△△.★★★.com など、複数のドメインを作成できます。
今回はまずエックスサーバー上でサブドメインを作成した後、これをhttps化(SSL化)し、さらにLaravelプロジェクトに設定を変更していきます。
エックスサーバーでサブドメインを作成
① まずはエックスサーバーのサーバーパネルにログインしてください。
右側の ドメイン メニューからサブドメインをクリックします。
②ドメイン一覧の中から、サブドメインを作成するURLを選択します。
右側の選択するメニューをクリックします。
③ サブドメイン設定追加タブでサブドメイン名を入力し、無料独自SSLを利用するにチェックをいれます。
ここでは test.addisteria.com というサブドメインを作成します。
確認画面へ進むをクリックしてください。
*なお最近は「ドキュメントルート」というものが付いています。本ブログでは、下記のような設定(ドキュメントルートで2つ目を選択)を選択したという前提で説明を進めていきます。
なお作成後、サブドメインにアクセスしても「このサイトにアクセスできません。」と表示されます。サイトにもありますが、サブドメインが利用可能になるまで最大1時間程度かかります。
しばしお茶でも飲んで休憩致しましょう。
④ しばらく後、作成したサブドメインにアクセスしてみてください。
次のような画面が出ていれば、サブドメインが作成されています。
作成したサブドメインをhttps化(SSL化)する方法
デフォルトでは、URLは http:// で始まります。
ただhttp:// で始まるサイトはセキュリティリスクが高く、アクセスすると、「保護されていない通信」と表示されたりします。
危険なサイトだと思われてしまうかも。
https:// で始まるURLに変換しましょう。
方法について、エックスサーバーのマニュアルには、下記のように記載されています。
Webサイトにおけるすべての表示を常時SSL化する場合は、「.htaccess編集」で以下の記述を追加します。
123 RewriteEngine OnRewriteCond %{HTTPS} !onRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
引用元:xserver Webサイトの常時SSL化
早速、.htaccessの編集をしていきましょう。
まず、FTPツールでLaravelプロジェクトに接続します。
publicフォルダの中の .htaccess ファイルの上から6行目あたりに、RewriteEngine On とあります。
この下に、下記を貼り付けてください。
1 2 |
RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
ファイルを保存して閉じます。
これでSSL化はOKです。
サブドメイン作成後のLaravelプロジェクトの設定
あとは、作成したサブドメインをLaravelのプロジェクトにも設定しておきましょう。
公開用の.envファイルの APP_URL に、作成したサブドメインを入力してください。
さらにもうひとつ、大事な変更点があります。
APP_DEBUG を falseにしておいてください。
ここがtrueになっていると、エラーが起こったときに、コードなどの情報が表示されてしまいます。
開発中は助かりますが、公開するときは、情報は表示されたくないですよね。
そこで、falseに変更します。
編集後、.envファイルを保存します。
もしまだアップロードしていなければ、Laravelプロジェクト内にアップロードしてください。
これで、サブドメインの設定は完了。
ただ、今の段階では、https://サブドメインのURL を表示させても、「まだホームページがアップロードされていません」と出てしまいます。
次回はサブドメインを入力するとLaravelプロジェクトが表示されるようにしていきます。
次回がこのシリーズの最終回です。
あともう一歩、がんばっていきましょう♪
【Laravelをエックスサーバーで公開する方法 目次】