初心者がlaravelをロリポップレンタルサーバーに導入した手順

# 初心者でもlaravelをレンタルサーバーに導入！

- 今まで生のPHPかcodeigniterしか使ったことない完全なlaravel初心者。
- なので初心者目線で色々書いてます。（主にターミナルへの愚痴）
- なんかみんなAWSとかばっかだけど、laravelを導入したい既存のサイトのサーバーがロリポップだったのでなんとかしてみた。
- macで実行してます。
- laravel5.5
- 追記 ロリポップさんから直接連絡をもらえました。(2019/8月)
　スタンダートプランでは現状はPHPのバージョンが7.1系だからLaravel5.5までしか動かない。
　ハイスピードプランはPHP7.3系なので最新のLaravel6.0も入れられる
　
- こちらのサイトめちゃくちゃ参考にしました。この記事で行き詰まった方はこちらもご参考ください。

[ロリポップにcomposerをインストールしてLaravel5.5を公開する](http://0gravity000.sunnyday.jp/ProgramingNote/2017/10/21/tip_09_02_008/)


## 前提条件

ロリポップでSSHが使えること。
つまりはスタンダードプラン、エンタープライズプランの契約であること。

php 7.1に設定していること（これもロリポップのユーザーページにて）

## まずはロリポップのユーザーページでSSH認証
<img width="239" alt="スクリーンショット 2019-04-17 19.09.16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/400532/06915be4-6368-89ca-57df-490f21fe5b5d.png">
このメニューにあるSSHをクリックしたらすぐ認証できます。


## ターミナルからロリポップに入る！

### ターミナルは怖くない！

もう本当にターミナルが苦手…（泣）
しかし頑張りましょう。
ターミナルがなんぞやって方はググってください。
超抵抗がある方はありそうですが、意外とコピペが上手にできればなんとかなります。

まずはターミナルでこちらを入力。

```
$ ssh アカウント名@サーバー名 -p接続ポート
```
このアカウント名やサーバー名が？な方はご安心を、
先ほどのSSHを認証したところと同じ画面にもう一度行けば全部綺麗に書いてくれてますので
そのままコピペしましょう。そしてエンター！

### パスワード入力

上記のコマンドがうまくいくとパスワードを求められます。

```
password:
```
ってだけ！
**パスワードはSSHのパスワードです！**
こちらもさっきのページにのっています。
自分はここで延々とロリポップのパスワードとかを打って弾かれてました。
SSHパスワードが勝手に発行されてるとは…。

### ディレクトリの移動

パスワードの入力もうまくいくと、
ターミナルが

```
[アカウント名~]$
```
とだけいきなり出してきます。
（可愛くなさすぎてヤバイ。OKくらい言ってくれ。）

ここでターミナルのコマンドである


```
ls
```
と入力すると、

```
web
```

このwebという中に入りたいので
ターミナルのコマンドの

```
cd web
```
といれます。必ずスペース（空白）は必要です。

すると

```
[アカウント名 web]$
```
と分かりづらいですがちゃんとwebの中に入れました！
ちなみに後で気づいたのですが、
今いる位置はロリポップFTP開いた最初のページにいる感じです！
ここにlaravelが入った「フォルダ」をインストールするのです。


### composerをインストール

PHPやってたら嫌というほど出てくるこの人。
laravelはこのcomposerを通してインストールするので、まずはこの人をインストールするしかない！

```
/usr/local/php7.1/bin/php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
```
こちらをコピペでターミナルに打ち込みます。
意味はわからなくていいと思います。（よくない）

するとインストールが開始されます！
すごい！

Composer (version 1.8.5) successfully〜〜〜
と出ればOK。
（2019/4/16現在）

確認したい人は、ロリポップFTPの最初のページに
composer.phar
があることを確認できるはずです。

### PHPのPATHを通します。

```
export PATH="$PATH:/usr/local/php7.1/bin"
```
このままコピペでOKですが、PATHとは？とか興味ある方は調べてみてください〜。
ちなみにこれを入力してエンターしてもターミナルは何も言いません。
けどエラーとかも出しません。
なんて冷たい…。

### あとはlaravelをインストールするだけ！

```
/usr/local/php7.1/bin/php composer.phar create-project --prefer-dist laravel/laravel フォルダ名 "5.5.*"
```
laravelは5.7も出ているようですが、情報の多い5.5にしてます。
（2019/4/16現在）

スタンダードプランでは、上記の通りそもそも5.5しか入らないので注意。

フォルダ名はlaravelを公開したい独自ドメインで指定しているフォルダ名です。
ロリポップのユーザーページの「独自ドメイン設定」からご確認を！

ここで
**独自ドメインの公開（アップロード）フォルダについて大事な補足！**

上記のフォルダ名はだいたい、

example.comとかなら

example

となっていますが、

laravelを使う場合は、

example/public

とする必要があります。
laravelをインストールしたら分かりますが、中にpublicというフォルダがあり
ここが公開フォルダのためです。

なのでロリポップの独自ドメイン設定の部分の確認・変更で
先に変更しておきましょう。（一瞬です）

ちなみに当然ですがターミナルに打ち込むフォルダ名はexampleの部分だけでOKです。

さて仕切り直して、

さきほどのコマンドをターミナルを入力したら、
バーーーーーーとインストールが始まります。
数分はかかります！

set successfully.と出ればOK。

あとは実際のURLをブラウザで入力すれば、、、
<img width="1114" alt="スクリーンショット 2019-04-17 20.20.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/400532/09994043-0e8b-54a4-acc7-32e8a10d745e.png">

というデフォルトページが！

これにてlaravelの導入完了です！


がここで
###500エラー出た方。

実は自分も最初の30分くらい500エラーでした。
色々情報を探し実行しましたが変化なし…
調べ終わって意気消沈してる時に、もう一回更新したらさらっと表示されました・・・・・。

多分ですが、直前でレンタルサーバーのPHP設定を7.1に変えたりしていたのでその反映に時間がかかったのかなぁと思っています。
こういうケースに該当する場合は少し待ってみたら改善されるかも…。


ローカル環境とサーバー環境の統一化も面倒ですし、Laravelのレンタルサーバーでの運用はとても大変ですが、
どうしてもと言う場合は頑張ってみてください！