🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

1回答

5229閲覧

laravelのアプリをエックスサーバーのサブドメインでデプロイしたい

Ichiro08

総合スコア8

ドメイン

ドメインとは本来、領域や範囲の意味を持ち、インターネット上では特定の部分領域を指します。ネットワークやコンピュータの識別に利用され、所得することでホームページを公開したり、メールアドレスを作成できます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2021/03/13 12:42

編集2021/03/17 10:15

やりたいこと

laravelのアプリをエックスサーバーのサブドメインでデプロイしたい

発生している問題

・参考サイトを見てやったけどデプロイできない
・そのアプリは403エラーになる
・index.htmlを作ればそのページはネット上で見れるようになるがlaravelのページは読み込まれない
・index.htmlを消すとまた403エラーになる

###エラー文

403 Forbidden アクセスしようとしたページは表示できませんでした。 このエラーは、表示するページへのアクセス許可がなかったことを意味します。 以下のような原因が考えられます。 アクセスが許可されていない(パーミッション等によって禁止されている)。 デフォルトドキュメント(index.html, index.htm 等)が存在しない。

参考にしたサイト

Laravelで作ったWEBアプリをXserverにデプロイする方法

index.htmlからlaravelのトップページに行くようにコードを書かないといけないのでしょうか?

追記

シンボリックリンクは繋がった!
しかし、403エラーが出た。

アクセスが許可されていない(パーミッション等によって禁止されている)。 デフォルトドキュメント(index.html, index.htm 等)が存在しない。

この時のエックスサーバーのエラーログ

[Tue Mar 16 07:34:15.272174 2021] [core:error] [pid 40206:tid 140015963059968] [client 153.219.146.226:39376] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://hotpepper.programing-independence.com/

なので、ディレクトリにchmod 777で権限を与えた。
hotpepperディレクトリにindex.htmlを作った。
ただ、まっさらなindex.htmlが反映された。
シンボリックリンクが無効なのか?と思った。

これはシンボリックリンクが意図したところに通っていないのでしょうか?
どのようにすればlaravelのアプリが表示されるでしょうか?


追記②

ls -al ~/ドメイン名/public_html/hotpepper

上記コマンドの実行結果

合計 8 drwx--x--x 2 xs757184 members 71 3月 16 07:50 . drwx--x--x 10 xs757184 members 4096 3月 16 12:30 .. -rw------- 4 xs757184 members 3878 5月 13 2020 .user.ini -rw-r--r-- 1 xs757184 members 0 3月 16 07:50 index.html lrwxrwxrwx 1 xs757184 members 65 3月 16 07:32 public -> /home/キー名/ドメイン名/massage-project/public

ls -al ~/ドメイン名/public_html/hotpepper/

合計 8 drwx--x--x 2 xs757184 members 71 3月 16 07:50 . drwx--x--x 10 xs757184 members 4096 3月 16 12:30 .. -rw------- 4 xs757184 members 3878 5月 13 2020 .user.ini -rw-r--r-- 1 xs757184 members 0 3月 16 07:50 index.html lrwxrwxrwx 1 xs757184 members 65 3月 16 07:32 public -> /home/キー名/ドメイン名/massage-project/public

追記③

間違っているシンボリックリンクを削除します。

cd ~/ドメイン名/public_html/hotpepper/ rm ./public

サブドメインのディレクトリを改名して適当なところへ退避しておきます。

mv ~/ドメイン名/public_html/hotpepper ~/hotpepper.bak

~/ドメイン名/public_html/の下にサブドメインのディレクトリが無いことを確認したら、サブドメインのディレクトリと同じ名前でシンボリックリンクを作成します。

ln -s ~/ドメイン名/massage-project/public ~/ドメイン名/public_html/hotpepper

上記で、シンボリックリンクは貼れたと思う。
しかし、まだ真っ白。
index.htmlのではないかと予想。
エックスサーバーのエラーログにはひっかかっていないことを確認。
でも、laravelのアプリはまだ表示されていない。
何が原因んだろう?


追記④

ls -al ~/ドメイン名/public_html/ を実行した結果

hotpepper -> /home/キー/ドメイン名/massage-project/public

正しくシンボリックリンクは作成できていると思うのだけれど、意図した画面が表示されない。。
どうしてだろう?

追記⑤

hotpepperディレクトリ内のindex.htmlが表示されていた。
inde.htmlを削除したら真っ白だった画面が404 not foundに変わった。
真っ白の時も、404のと時もエックスサーバーのエラーログは何もなかった。
ローカルでは今も通常通りに動いている。

ls -al ~/ドメイン名/public_html/hotpepper/

上記のコマンドを実行した結果

合計 20 drwxr-xr-x 4 xs757184 members 171 3月 16 22:59 . drwxrwxrwx 13 xs757184 members 4096 3月 15 23:02 .. -rw-r--r-- 1 xs757184 members 603 3月 12 22:08 .htaccess drwxr-xr-x 2 xs757184 members 61 3月 12 22:08 css -rw-r--r-- 1 xs757184 members 0 3月 12 22:08 favicon.ico drwxr-xr-x 2 xs757184 members 83 3月 12 22:08 img -rw-r--r-- 1 xs757184 members 0 3月 16 22:59 index.html -rw-r--r-- 1 xs757184 members 1731 3月 12 22:08 index.php -rw-r--r-- 1 xs757184 members 24 3月 12 22:08 robots.txt -rw-r--r-- 1 xs757184 members 1183 3月 12 22:08 web.config

追記⑥

index.htmlを削除したら上記に書いてある通りに404エラーになる

追記⑦

この404エラーはエックスサーバーのエラーログには載っていなかった。
404エラーが出るように設定し直してもエックスサーバーのエラーログには出て来なかった。
だからlaravelが出しているのかもしれない

追記⑧

http://hotpepper.programing-independence.com
イメージ説明


具体的な正解が分かる方、
よろしくお願い致します!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lulucom

2021/03/14 01:05 編集

シンボリックリンクを正しく作成できているかがわかる情報も質問へ掲載していただけますか?
Ichiro08

2021/03/14 02:35

ありがとうございます! シンボリックリンクが正しく設定されていませんでした。 まだ設定できないので、詳細を記載させて頂きました。 どこかに間違いがありますか?
Lulucom

2021/03/18 00:18 編集

エラーメッセージの掲載ありがとうございます。 シンボリックリンクを作成するコマンドで、シンボリックリンクのパスに誤りがあるように思います。 以下が正しいのではないでしょうか?(「ドメイン名」等の部分は実際のドメイン名です) ln -s ~/ドメイン名/massage-project/public ~/ドメイン名/public_html/サブドメインのディレクトリ名
Ichiro08

2021/03/14 02:51

ありがとうございます! シンボリックリンク設定出来ました。 今度は、下記エラーが出て解決できていません。 違う所の設定に問題があるのでしょうか? ------------------------------------------------------------------------------------------------------ Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster@programing-independence.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Lulucom

2021/03/14 02:51

エラーメッセージで原因が分かりそうですので、スクリーンショットは削除していただいて大丈夫です。
Lulucom

2021/03/14 02:59 編集

「参考にしたサイト」では > サブドメインを利用する場合は、.htaccessの設定は不要です。 と書かれています。そのあたりは大丈夫そうでしょうか。(変更していなければ大丈夫だと思いますが)
Ichiro08

2021/03/14 03:01

はい、.htaccessは設定していません。 どこかのパーミッションがないのでしょうか?
Ichiro08

2021/03/14 22:32 編集

ありがとうございます! エラーログ見れました。 解決方法はこのサイトのような設定でしょうか? http://blog.livedoor.jp/tora0092-tech/archives/13978420.html でも.htaccessは設定不要と書いてありましたし、混乱しています。 エラーログの内容 --------------------------------------------------------------------------------------- [Sun Mar 14 19:27:40.146940 2021] [core:error] [pid 55400:tid 140015853954816] [client 3.8.12.221:51506] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. ---------------------------------------------------------------------------------- 質問の追記をこちらにしました! public_html/hotpepper/というディレクトリが作成されました。 それは数日前からpublic_html/hotpepper_rename/と名前を変えてpublic_html/内に置いてあります。 まとめるとこういうことでしょうか? massage-projectの名前をhotpepperに変更。 public_html/に移動させる。 public_html/hotpepper/という状態になる。 massage-project→hotpepperに変えたコマンド ln -s ~/programing-independence.com/hotpepper/public ~/programing-independence.com/public_html/hotpepper.programing-independence.com を打つ。
Lulucom

2021/03/14 12:51 編集

質問を編集できますので、こちらではなく質問へ追記をお願いいたします。 ところで、エックスサーバーでサブドメインを追加されたとき、public_html/hotpepper/というディレクトリが作成されましたか?そうであれば、そのhotpepperディレクトリを別の場所へ退避した後、同じhotpepperという名前でシンボリックリンクファイルを作成する必要がありそうです。
Lulucom

2021/03/15 14:25

> まとめるとこういうことでしょうか? いいえ、そうではないです。シンボリックシンク作成を以下のように行うという意味です。 ln -s ~/ドメイン名/massage-project/public ~/ドメイン名/public_html/hotpepper > 質問の追記をこちらにしました! いいえ、元の質問本文へ追記をお願いします。ここのコメント欄は本来は回答者が質問者へ質問の修正依頼をするためのものなんです。せっかくここに色々書いてくださっても、回答する方たちは見落とす可能性が高いです。
Lulucom

2021/03/16 04:18 編集

ls -al ~/ドメイン名/public_html/hotpepper ls -al ~/ドメイン名/public_html/hotpepper/ 上記2つのコマンドの実行結果も質問へ掲載ください。見せたくない部分は伏せていただいて大丈夫です。
Lulucom

2021/03/16 12:21

ls -al ~/ドメイン名/public_html/ を実行したとき hotpepper -> /home/キー名/ドメイン名/massage-project/public のようなシンボリックリンクがあれば良いはずなのですが・・・
Lulucom

2021/03/16 12:44

> 真っ白 ということはエラーではないということでしょうか。Laravelのログやエックスサーバーのログには何かエラーは出ますか?元は正しく動いてたLaravelプロジェクトですか?
Lulucom

2021/03/16 12:49

ls -al ~/ドメイン名/public_html/hotpepper/ 上記コマンドを今の状態で実行すると何が表示されますか? Laravelプロジェクトのpublic/の下にあるものが表示されれば良いはずなのですが・・・
Lulucom

2021/03/16 13:23 編集

追記⑤って ls -al ~/ドメイン名/public_html/ の実行結果ではないでしょうか。 ls -al ~/ドメイン名/public_html/hotpepper/ の実行結果に差し替えていただけますか。
Lulucom

2021/03/16 14:03

Laravelプロジェクトのpublic/の下に空のindex.htmlファイルがありますが、それが真っ白になる原因ではないでしょうか。そのindex.htmlファイルを削除するとどうでしょうか。
Lulucom

2021/03/17 01:20

index.htmlが無くてもindex.phpがあれば404エラーにはならないと思うんですけどね・・・ その404エラーページはエックスサーバーが出しているものですか?それともLaravelが出しているものですか?
Lulucom

2021/03/17 10:14 編集

その404エラーページのスクリーンショットと404エラーが出るURLを掲載できますか?見せたくない情報は伏せていただいて大丈夫です。もし、Laravelの404エラーページならLaravelアプリ側の問題ということになると思います。
Lulucom

2021/03/18 00:21 編集

スクリーンショットありがとうございます。Laravelのエラーページですのでアプリ側の問題であり、デプロイはできたと考えて良いと思います。 php artisan route:list で見れるルーティングの一覧で / へGETリクエストされた場合に動くアクションを調べ、404エラーを起こしそうな原因を調べるのが良いでしょう。
guest

回答1

0

シンボリックリンクが正しくないと思いますので、下記の手順で再作成するとどうでしょうか。

間違っているシンボリックリンクを削除します。

cd ~/ドメイン名/public_html/hotpepper/ rm ./public

サブドメインのディレクトリを改名して適当なところへ退避しておきます。

mv ~/ドメイン名/public_html/hotpepper ~/hotpepper.bak

~/ドメイン名/public_html/の下にサブドメインのディレクトリが無いことを確認したら、サブドメインのディレクトリと同じ名前でシンボリックリンクを作成します。

ln -s ~/ドメイン名/massage-project/public ~/ドメイン名/public_html/hotpepper

投稿2021/03/16 11:27

編集2021/03/16 11:31
Lulucom

総合スコア1899

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問