Hatenaいま侍エンジニア塾でPHPのLaravelを使ったアプリ作成ということで、その学習を始めたところです。環境はCloud9を使って学習していますけど、将来レンタルサーバー(エックスサーバー)にデプロイ(アップロード)したいと思っていて。今のところどうやって開発して、どうやってレンタルサーバーで動かすかというのを理解していません。・開発環境はCLoud9でそれをレンタルサーバーにFTPアップロードすれば動くのか?・レンタルサーバーにTeraTermで接続してLaravelアプリを生成して、そこで開発を進めるのか?これがわかっていません。個人的には本番環境と全く同じ環境が開発環境(Cloud9)に作れれば問題ないと思うのですが、例えばPHPバージョンやMySQLバージョンが違って動作しないとかになると、どうすればよいかわからなくなるので。いちおう侍エンジニア塾のインストラクターに聞いてはいるのですが、自分の知識が足りないせいかうまく質問したいことが質問できず。インストラクターから回答をいただいてはいるものの、それを理解することができていない状況なのです。以下2つを試してみました。自分のPCはWindowsです。5.7のサーバー要件サーバー要件がここに書かれている。https://readouble.com/laravel/5.7/ja/installation.htmlHomesteadというのをローカルPCにインストールすればバージョンを気にすることなく開発に取り掛かれるみたいですね。Laravelの本家サイトではこのHomesteadというのを使う事を強く推奨しているみたいです。侍エンジニア塾の学習ではCloud9を使う事になってるし(なんで??)、エックスサーバーも使いたいので以下のサーバー要件を満たす必要があることがわかりました。PHP拡張これらの要件について私は知識を持ち合わせていません。ことでエックスサーバーのPHPバージョンを変更しないといけないようです。Cloud9で生成したLaravelアプリをエックスサーバーにデプロイまずはCloud9でLaravelアプリを生成してみます。それをエックスサーバーにFTPソフトを使ってアップロードして動くかを見てみます。laravelapp3サーバーを起動します。--port=80804これでプレビューを実行してLaravelの画面出ればOKできました!これで生成したlaravelappフォルダをレンタルサーバーにアップすれば外部からアクセスできるようになるはず。Cloud9のlaravelappフォルダを右クリックしてダウンロードを実行すれば、zipファイルがダウンロードできるので、それを解凍して、5laravelappフォルダを/ドメイン名/public_html/sejuku配下に置く6publicというフォルダでトップページを見ることができた。http://ドメイン名.xsrv.jp/sejuku/laravelapp/public/これでlaravelをデプロイできたのだろうか。PHPバージョンは古いままなんだけど。動作確認の仕方がわからないけど。エックスサーバーでLaravelのプロジェクトを作成ここからはcloud9ではなくて、直接エックスサーバーにlaravelプロジェクトを生成するやり方をやってみよう。いくつかのブログ等を参考にさせていただいてやってみた。Laravelプロジェクトを作成エックスサーバーにSSH接続をする1エックスサーバーのサーバーパネルにログイン2対象のドメインを設定し3SSH設定をクリック4SSH設定を「ONにする」をクリック5「公開鍵認証用鍵ペアの生成」タブからパスフレーズを入力し確認ボタン6次の画面で公開鍵認証用の鍵ペア生成確定ボタンを押せば、自動的にダウンロード画面が出るので保存する8Teratermをダウンロードしてインストールする(https://ja.osdn.net/projects/ttssh2/)最初に新しい接続の画面が出るのでキャンセルしておく9設定メニュー→SSH認証10以下の画面のようにしてRSA/DSA/ECDSA/ED25519鍵を使うにチェックを入れて、秘密鍵を先ほどダウンロードしたファイルに設定、OKをクリック11ファイルメニュー→新しい接続と進み12次の画面のように入力ホストに自分のドメイン名TCPポートは1002213エックスサーバーのユーザー名と、先ほどエックスサーバー上で入力したパスフレーズを入力して、OKを押せば14エックスサーバーに接続できるはずです。エックスサーバーのPHPバージョンを変更する1まずはSSHでエックスサーバーに接続して現在のPHPのバージョンを確認しておきます。5.4.16(cli)となっている。ここにエックスサーバーで使えるPHPの一覧が出てくる。PHP7.2のパスを確認。https://www.xserver.ne.jp/manual/man_program_soft.php2自分のホームディレクトリにbinディレクトリを作成。$HOME/bin画像ではいったんpwdで現在地を確認している。$HOME/bin/phplsコマンドで確かに生成されていることを確認。-l4環境変数にパスを追加するviエディタで.bash_profileを開く。~/.bash_profileviエディタは使うのが難しい。コマンドを入力したら、まずは「編集モード」というのにする必要があるので、キーボードの[i]キーを入力。キーボードの矢印キーを使ってカーソルを動かすことができるので、該当行に来たら必要な文を入力。編集モードを終えるために、[:]キーを押してから、[w][q]と押せば、ファイルを保存して終了になります。.bash_profileは個人の環境変数を編集するファイル、とのこと。こちらの1行を追加して$HOME/binをパスに追加。7.2.6(cli)となっていることを確認。ドメイン名/public_html/この下に生成します。successfullyとなったのでOKっぽい。3ブラウザでアクセスしてみる。アクセスする際のURLはhttp://ドメイン名/laravelapp/public/となる。以下の内容が書かれた.htaccessファイルを用意して、ドメイントップの直下に配置する。[QSA,L]これでhttp://ドメイン名/でアクセスできるようになる。.htaccessファイルはアクセスしてきたURLを転送する働きが書かれている。.htaccessファイルじゃなくて、httpd.confファイルを編集してこれを実現できることもある様子。レンタルサーバーによって提供されいている機能が違うのかもしれない。まとめこれで一通りLaravelのTOP画面が表示できたので今のところヨシとしてるわけですけど、なんだか間違ってる気もする。将来的にもっと理解を深めてから再チャレンジするかもしれない。今の自分の課題は、Laravelの学習をどこでやるか(これはCloud9で構築してもらったのでそこを使う予定)、そして本番環境をどのように使うか、ということですね。書籍の学習を進めて侍エンジニア塾のインストラクターにもう1度ヒアリングしてみよう。Hatena0関連記事Cloud9でphp.iniを編集しdate関数で日本時間を表示する侍エンジニア塾に入ってPHPの学習を進めています。Homeにインストール侍エンジニア塾でLaravelの開発環境をローカルに作るという事になりました。...PHPやるのに覚えておきたい関数リファレンス(備忘録)関数の使い方とか、便利関数とかをメモ。Village」でインタビューさせていただきました!新着記事ネットワークエンジニアは「楽」と「きつい」が同居する仕事ネットワークエンジニアの方にヒアリングしたことがあります。...SESの闇はヤバいのか?やめとけと言われる理由とホントのところ今日はSESを中心に受託開発や自社開発の話をしたいと思います。ここにこのブログに寄せられるよくある質問を書いていきます。TOPグループサイト|Happiant。