search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

updated at

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

動機

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

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
What you can do with signing up
0
Help us understand the problem. What are the problem?