Laravelのアプリを生成してブラウザで確認するまで(Cloud9とエックスサーバー)

  • URLをコピーしました!

いま侍エンジニア塾でPHPのLaravelを使ったアプリ作成ということで、その学習を始めたところです。

環境はCloud9を使って学習していますけど、将来レンタルサーバー(エックスサーバー)にデプロイ(アップロード)したいと思っていて。

今のところどうやって開発して、どうやってレンタルサーバーで動かすかというのを理解していません。


・開発環境はCLoud9でそれをレンタルサーバーにFTPアップロードすれば動くのか?
・レンタルサーバーにTeraTermで接続してLaravelアプリを生成して、そこで開発を進めるのか?

これがわかっていません。

個人的には本番環境と全く同じ環境が開発環境(Cloud9)に作れれば問題ないと思うのですが、例えばPHPバージョンやMySQLバージョンが違って動作しないとかになると、どうすればよいかわからなくなるので。


いちおう侍エンジニア塾のインストラクターに聞いてはいるのですが、自分の知識が足りないせいかうまく質問したいことが質問できず。

またインストラクターから回答をいただいてはいるものの、それを理解することができていない状況なのです。

なので、とりあえず以下2つを試してみました。

①Cloud9で生成したLaravelアプリをダウンロードして、レンタルサーバーにFTPアップロードして動くのか?
②エックスサーバーでLaravelのプロジェクトを作成できるか?

目次

環境を確認

自分のPCはWindowsです。

Cloud9

PHPバージョン PHP 7.1.23 (cli)
composerバージョン Composer version 1.8.0 2018-12-03 10:31:16

エックスサーバー

PHPバージョン PHP 5.4.16(cli)
composerバージョン Composer version 1.6.3 2018-1-31 16:28:17

2018年12月18日時点

Laravel 5.7のサーバー要件

サーバー要件がここに書かれている。
https://readouble.com/laravel/5.7/ja/installation.html

HomesteadというのをローカルPCにインストールすればバージョンを気にすることなく開発に取り掛かれるみたいですね。

Laravelの本家サイトではこのHomesteadというのを使う事を強く推奨しているみたいです。

けど、侍エンジニア塾の学習ではCloud9を使う事になってるし(なんで??)、エックスサーバーも使いたいので以下のサーバー要件を満たす必要があることがわかりました。

PHP >= 7.1.3
OpenSSL PHP拡張
PDO PHP拡張
Mbstring PHP拡張
Tokenizer PHP拡張
XML PHP拡張
Ctype PHP拡張
JSON PHP拡張
BCMath PHP拡張

これらの要件について私は知識を持ち合わせていません。
てことでエックスサーバーのPHPバージョンを変更しないといけないようです。

Cloud9で生成したLaravelアプリをエックスサーバーにデプロイ

まずはCloud9でLaravelアプリを生成してみます。

それをエックスサーバーにFTPソフトを使ってアップロードして動くかを見てみます。

①composerコマンドでlaravelアプリを生成

% composer create-project laravel/laravel プロジェクト名 --prefer-dist

②生成したプロジェクトに移動して

% cd laravelapp

③サーバーを起動します。

php artisan serve --port=8080

④これでプレビューを実行してLaravelの画面出ればOK

できました!

これで生成したlaravelappフォルダをレンタルサーバーにアップすれば外部からアクセスできるようになるはず。

Cloud9のlaravelappフォルダを右クリックしてダウンロードを実行すれば、zipファイルがダウンロードできるので、それを解凍して、

⑤laravelappフォルダを/ドメイン名/public_html/sejuku配下に置く

⑥publicというフォルダでトップページを見ることができた。

http://ドメイン名.xsrv.jp/sejuku/laravelapp/public/

これでlaravelをデプロイできたのだろうか。。PHPバージョンは古いままなんだけど。。

動作確認の仕方がわからないけど。

エックスサーバーでLaravelのプロジェクトを作成

ここからはcloud9ではなくて、直接エックスサーバーにlaravelプロジェクトを生成するやり方をやってみよう。

いくつかのブログ等を参考にさせていただいてやってみた。

Step1. エックスサーバーにSSH接続をする
Step2. エックスサーバーのPHPバージョンを変更
Step3. Laravelプロジェクトを作成

エックスサーバーにSSH接続をする

①エックスサーバーのサーバーパネルにログイン

②対象のドメインを設定し

③SSH設定をクリック

④SSH設定を「ONにする」をクリック

⑤「公開鍵認証用鍵ペアの生成」タブからパスフレーズを入力し確認ボタン

⑥次の画面で公開鍵認証用の鍵ペア生成確定ボタンを押せば、自動的にダウンロード画面が出るので保存する

⑧Teratermをダウンロードしてインストールする
(https://ja.osdn.net/projects/ttssh2/)

最初に新しい接続の画面が出るのでキャンセルしておく

⑨設定メニュー→SSH認証

⑩以下の画面のようにして
RSA/DSA/ECDSA/ED25519鍵を使うにチェックを入れて、秘密鍵を先ほどダウンロードしたファイルに設定、OKをクリック

⑪ファイルメニュー→新しい接続と進み

⑫次の画面のように入力
ホストに自分のドメイン名
TCPポートは10022

⑬エックスサーバーに接続できるはずです。

⑭エックスサーバーに接続できるはずです。

てことで以上です。

目次