いま侍エンジニア塾で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を使う事になってるし(なんで??)、エックスサーバーも使いたいので以下のサーバー要件を満たす必要があることがわかりました。
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

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

⑭エックスサーバーに接続できるはずです。
てことで以上です。

