BBB bit2byte blog

bit2byte

エックスサーバーのサブドメインにLaravelを設置する方法

2024.09.04.水

井上 飛鳥

Engineer

今回はエックスサーバー上のサブドメインにPHPのLaravelを設置する方法についてご紹介します。

使用ドメインとサーバー

  • 使用ドメイン: app.example.com
  • 使用サーバー: エックスサーバー

システム構築の流れ

サブドメイン「app.example.com」へのアクセスで、Laravelフレームワークを使ったWebシステムにアクセスできるようにします。

エックスサーバーでは、使用したいドメインを登録すると、サブドメインも自由に設定可能になります。
(ネームサーバーをエックスサーバーにする必要あり)

例えば、今回使用する「app.example.com」というサブドメインも簡単に作成できます。

サブドメインの設定

エックスサーバー上でサブドメインを作成すると、メインドメインのディレクトリ内にサブドメイン用の公開ディレクトリが自動で生成されます。

ドメインの選択

エックスサーバー管理画面の「サブドメイン設定」をクリックしドメイン選択の画面を開きます。
事前にドメインをエックスサーバーで管理していることが前提です。
※他社で取得している場合はネームサーバーをエックスサーバーのものにしておく必要があります。

サブドメインの設定

赤枠エリアでにサブドメイン名を入力し、公開パスとなるドキュメントルートのタイプを選びます。 今回は/example.com/public_html/app.example.com/ を選んだことにします。

このディレクトリにファイルを配置すれば、指定のURLでWebシステムにアクセスできるようになります。

ただし、Laravelフレームワークでは、プログラムファイルと公開用ディレクトリが事前に用意されています。

publicディレクトリがLaravel指定の公開パスになるため、エックスサーバーの公開パスとは異なってしまいます。

このままサーバーに配置すると、URLが「https://app.example.com/public」のようになってしまい、見栄えも悪く、public以外のLaravelのプログラムファイルもアクセスできる状態となりセキュリティ上の懸念が発生します。

セキュリティ対策とディレクトリ構成の調整

セキュリティを考慮して、プログラムファイルを公開ディレクトリに置かないようにするため、シンボリックリンクを利用して公開ディレクトリを調整します。

シンボリックリンクの作成手順

サブドメイン用の公開ディレクトリが自動で作成されるため、このディレクトリを削除し、同じ名前でシンボリックリンクを作成します。

SSHでサーバーにログインし、次のコマンドを実行します。


ln -s /home/{XサーバーのプロジェクトID}/{Laravelのディレクトリ}/public /home/{XサーバーのプロジェクトID}/example.com/public_html/app.example.com

これにより、Laravelの公開用ディレクトリだけが正しく公開され、プログラムファイルは安全に保護されます。

井上 飛鳥代表取締役

<Web業界との関わり>
Webは20歳のころ自分のHPを作成する事から始まり、当時はHTMLよりもFlash MXでFlashサイトを作ったりしていました。
その後サーバーサイドに興味を持ち、様々な企業様のWeb制作・システム開発に携わらせていただきました。

<会社名Bit2Byteの由来>
企業前からイメージしていたものです。
昔から仕事や悩みなどを1人で抱え込む事が多かったのですが、何事も1人だけではできず、皆の協力で成り立っているものだと深く思い、1人から皆に繋げていく意味を込めて名付けました。

お客様の立場になり問題を解決できるよう会社一丸となって本当に感謝される事を目的としています。

Recommend