もし、あなたがlaravelを使ったサイト作りにチャレンジしてみようと考えている場合、Xサーバーやロリポップなどのレンタルサーバーでもちゃんと動くのか、インストールは簡単なのか、そういう心配がありますよね。
先に結論を言っちゃうと、「Laravelはレンタルサーバーでもバッチリ動く。でも後付けしたい機能がRoot権限が無いせいで動かせない事もたまにある」というのが答えです。
この事について、実際に自分がXサーバーにLaravelをインストールした時に起きた体験談なども織り交ぜて詳しく解説していきます。
Laravelは基本的にレンタルサーバーでOKだよ
LaravelはPHPで出来てます。そしてどこのレンタルサーバーでもPHPは動きます。
WordPressもPHPです。つまり、WordPressが動くサーバー、PHPが使えるサーバーであれば、基本Laravelも何の問題もなく使えます。
例えば、これは実際に私がLaravelでXサーバー上に作った外国人向けの日本語辞書サイトです。
こういったサイトや口コミサイトなどをLaravelを使って全く問題なくレンタルサーバー上に作る事ができます。
レンタルサーバーで使えるPHPのバージョンを確認しよう
PHPには、バージョンがあります。
レンタルサーバーによって使えるバージョンが違います。
Laravelにもバージョンがあり、例えば、Laravel6には、PHP7.2.0以上が必要です。
事前にレンタルサーバーのPHPがどのバージョンが使えるのかは、チェックしといた方がいいですね。「〇〇サーバー、PHPバージョン」のように検索すれば、出てきますよ。
レンタルサーバーだとLaravelで使えない機能が出てくる!?
LaravelはPHPですから、基本的にすべての機能が問題なくレンタルサーバーで動きます。
し・か・し!
ウェブサイトを作ってると、PHP以外の機能を後付けしたくなってくる事が多々あります。
例えば、先程紹介した、私がXサーバーに作った辞書サイト、
ある時、私は「漢字に自動的にふりがなを振る機能を付けたいな」と思いました。
↑こんなふうに。
で、調べていくと、PHPだけじゃ無理っぽい事が分かりました。
そこで使う事になったのが、PythonやPerlという別の言語です。
一応、多くのレンタルサーバーでも、PythonやPerlも動くようにはなってるんですが、
バージョンが限れられていたりして、思ったように動いてくれない事が多々あります。
そして、一番レンタルサーバーで問題なのは、「Root権限がない」って事です。
例えば、PythonやPerlにあなたが詳しくなくても、誰かが便利なプログラムをすでに作ってくれていて、サーバーにそれをインストールすれば、簡単に動かせるとします。
でも、多くのそういったプログラム(パッケージ)をレンタルサーバーにインストールするには
Root権限が必要なんです。
Windowsで何かソフトをインストールする時も、所有者権限がないとインストールできないものもありますよね。
レンタルサーバーのRoot権限は、レンタルサーバー会社が持っているものであり、勝手にユーザーにそこをいじくられると、下手したらサーバーが壊れてしまったり、セキュリティに問題が発生しますから、我々ユーザーにはRoot権限がありません。
でもRoot権限がないとインストールできないよってプログラムが多々あるので、それがレンタルサーバーでLaravelを使う時に問題になってくるわけです。
ただ、このRoot権限がないレンタルサーバーにもこれらの便利なプログラムをインストールする事は可能です。
例えば、Pythonという言語であれば、レンタルサーバーに擬似Python環境が作れるAnacondaやLinuxBrewなどを使う事で、Root権限なしでもプログラムをインストールして使う事も可能です。
実際に私もふりがなプログラムについては、Xサーバーに元から付いてるPythonやCGI機能だけで、なんとかXサーバー上で動かす事もできました。
例えば、筆者の場合は、Mecabという辞書プログラムをXサーバーにRoot権限なしでインストールしたところ、なんとか動いてくれましたが、ユーザー辞書が動いてくれませんでした。
また、FFMpegというwav→mp3のように、動画や音声の形式を変換してくれるPerl/python系ソフトをXサーバーにインストールしましたが、こちらは自分のWindows上(XAMPP上)では正しく動いたにも関わらず、Xサーバー上では何をやっても動きませんでした。これもRoot権限がないのが理由です。
Laravelに付け加えたいプログラムがレンタルサーバーで動かない時はどうする?
どうしても使いたいプログラムがレンタルサーバーで使えない場合は、
- Laravel含めて全部VPSで運用する
- 動かないプログラムだけ、動くサーバーに移す
- 諦めて他の方法を探す
この3つから選びます。
レンタルサーバーではなく、LaravelをVPSで運用する
このRoot権限込みで使えるサーバーというのがあって、それはVPS(Virtual Private Server)、仮想専用サーバーと呼ばれています。
さくらのVPS やConoha VPSなど、有名レンタルサーバーでもVPSを提供している所もあります。
もしくは、AWS(Amazon Web Service)というアマゾン社のサーバーでもVPSと同様にRoot権限ありのサーバーを提供してます。
なので、レンタルサーバーを使わずに、VPSを使ってLaravelを運用するというのも手なんです。
でもVPSはそうとは限らない。Rootをいじれるって事は、変なプログラムを入れたらWindowsやMacがおかしくなる事があるのと一緒で、サーバーがぶっ壊れる可能性もある。そういう時、自分で解決する必要があるんだ。ハッキングされても自己責任だしね。
動かないプログラムだけを、動くサーバーに移す
もしくは、まずはレンタルサーバーでLaravelサイトを作っていき、
レンタルサーバーでは動かないプログラムが出てきた場合は、
その動かないプログラムだけを、違うサーバーやVPSに移して使うっていう方法もありです。
例えば、先程、私の場合は、動画変換ソフトがXサーバーでは動かなかったという話をしました。
だったら変換ソフトだけ、VPSなどを小規模で借りて、そこで変換させて、レンタルサーバーにあるLaravelと連携させるって事も全然可能です。
ただ、動画変換なんていうとんでもない容量をやり取りしそうなプログラムをAWSのような従量課金に置くのは危険ですね。あっという間に高額になるでしょうから(汗)。置くなら、定額のところが良いでしょう。
逆にふりがな付与みたいな大した容量を食わないであろうプログラムなら、AWSの方が少額で達成できると言えます。
変な話、自分のPCを24時間稼働状態にできるなら、自分のPCをサーバー代わりにして、同じ事をする事も可能です。まぁ、容量不足でフリーズしそうですが。
諦めて他の方法を探す
で、最後はレンタルサーバーで動かないプログラムはあきらめるっていうのも手です。
実際、私も動かない機能はあきらめたり、Javascriptでどうにかできないか代替案を探したりして、レンタルサーバーで運用してます。
レンタルサーバーにLaravelのインストールって簡単なの?
レンタルサーバーへのLaravelのインストールは、正直初心者には結構大変です。
→Laravelをレンタルサーバーにインストールのやり方3パターンを初心者向けに解説。
WordPressのように、最初からレンタルサーバーに入ってて、ボタン一つでポチッとなとはいかないんですよ。
少なくともターミナルソフト(コマンドプロンプトのようなソフト)で、コマンドを打ってインストールする必要があるのだけは確かです。あとGIT(GITHUB)も必要になってきます。
→GITとGITHUBとは?全く分からない初心者向けに図入りでやさしく解説!
Laravelはレンタルサーバーでも使える?まとめ
Laravelはレンタルサーバーで十分。ちゃんと使えます。
PHP、HTML、Javascript、こういったウェブで動かす系は一通り動くんで大丈夫です。
唯一の問題は、Root権限がない事。
Root権限がないと動かないプログラムがどうしても必要になったら、AWSやVPSへのお引越しも視野に入れようって感じです。
ちなみに、VPSなら、Conoha VPSがLaravel初心者にも使いやすく、コストも低いです。
Conoha VPSは、管理画面から、Laravel環境をインストールしたり、LAMPやLEMPといったPHPとデータベースのセット環境を選ぶ事もできます。
あと、KUSANAGIっていうWordPressを超高速化する環境、実はLaravelにも高速表示環境としてLEMPの代わりに使えたりもする。KUSANAGI使って爆速Laravelなんて事もConohaなら可能。気が変わっても、一度消して、別の入れたり自由にできるから大丈夫。
Laravelサイトを公開するなら、Conoha VPSが時間課金(1時間1.7円)も使えるので、お試しで初めやすく、初期費用もないので、初心者でも簡単に使えていいですね。