2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel をスターサーバーフリーで実装したかった話

Last updated at Posted at 2021-05-27

動機

php を使った Web アプリを作ってみたいと思ったので、最近人気の Laravel に手を出してみることに。
初めにレンタルサーバーを使った簡単な実装を行うことに決めました。
ただ、試してみたいだけなので、金はかけたくない。ということで、Laravel を使える無料レンタルサーバーを探しました。

※最終的に実装は出来ていません。Laravel がスターサーバーフリーで上手くいくのか知りたかった、後学のためにどうして上手くいかないのか知りたい、そんな人向けです。
※「とにかく実装がしたいんだ!」って人は別の無料レンタルサーバー XREA free で Laravel を実装する記事も書いたので、そちら1をどうぞ。
※「俺は実装出来たぜ!馬鹿なやつだな、どうやったか教えてやるよ!」って人は記事を読んで、何処が間違っているか教えてください。

スターサーバーフリー2

PHP, MySQL が使えるレンタルサーバーを無料で借りられます。ただし、MySQL は1つしか使えないそう。(Word Press での利用を想定しているようですが、今回は無理やり Laravel で利用します。)
借りるためにはネットオウルへの登録が必要ですが、特に面倒な手続きはないので無料レンタルサーバーとしてはオススメです。

Laravel 実装に向けて パート1

スターサーバーフリーではシェルが使えないので、ローカル環境で Laravel を構築してそれをアップロードする形になります。
ローカル環境からサーバへ移行するための方法はこのサイト3を参考にしました。
結局、FTP接続で全ファイルを送りました。(半日以上かかりました (^-^;))

Laravel 実装に向けて パート2

スターサーバーフリーではルートディレクトリの index.html, index.php 等が最初に呼び出されるファイルに設定されています。
Laravel で最初に呼び出して欲しいファイルは プロジェクト名/public/index.php です。
最初に呼び出されるファイルを変更する方法として、シンボリックリンクを作成することが考えられます。

$ ln -s /プロジェクト名/public /プロジェクト名

ただ、スターサーバーフリーではシェルが使えないので、シンボリックリンクを作ることが出来ません。したがって、別の方法を考える必要があります。
ローカル環境では

$ pwd
~/プロジェクト名
$ php artisan serve

http://localhost:8000 に表示できます。これは プロジェクト名/ 下の serve.php が動いてくれているようだったので、ファイル名を変更して最初に呼び出されるようにしてみました。

$ pwd
~/プロジェクト名
$ mv serve.php index.php

Laravel 実装に向けて パート3

これで http://ドメイン名 にアクセスすれば Web ページが表示されるようになりましたが、表示されるといっても 500 | server error が出るだけです。
なぜエラーが発生するのか、色々と調べた結果、このサイト4に辿り着きました。

$ php artisan key:generate

をする必要があるそうです。これもシンボリックリンクと同様、ローカル環境で作成して転送しても意味がありません。
もうお気づきでしょうか?……そうです。シェルが使えないので、このコマンドは打てないのです。したがって、私はここでスターサーバーフリーの利用を断念することにしました。
(Laravel が使えないだけで、ブログなどの別の用途には利用可能です。)

結果

スターサーバーフリーではシェルが開放されていないので、Laravel の実装は無理でした。

最後に(自戒の念を込めて)

何でも出来ると思い込んで調べ続けるのは辞めましょう。時間の無駄です。
(Qiita ではもっと上手くいかない例についてもまとめて欲しいです。失敗は成功のもと!)
そのレンタルサーバーで無理なら、別のレンタルサーバーを探す。レンタルサーバーで無理なら、クラウドサービスを探す。クレジットカードが無くて AWS が無理なら、Heroku を使う。など状況自体を変えましょう。
もしかしたら複雑な手順を踏めば出来るのかもしれませんが、簡単に実装出来ない状況が既に間違っています。試作で簡単に出来ないことは、実務でも使い物になりません。

  1. https://qiita.com/okada1220/items/b71710683de8f5368cf2

  2. https://www.star.ne.jp/free/

  3. https://nebikatsu.com/6233.html/

  4. https://qiita.com/miriwo/items/5ad045abf374e87ce64c

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?