サーチ…
備考
共有ホスティングにLaravelプロジェクトを導入する方法の詳細については、 このGithubレポをご覧ください。
Linuxサーバ上の共有ホスティング上のLaravel 5アプリケーション
デフォルトでLaravelプロジェクトのpublic
フォルダは、誰でもどこからでもリクエストできるアプリケーションのコンテンツを公開し、残りのアプリケーションコードは適切な権限のない人には見えないか、アクセスできません。
開発マシンでアプリケーションを開発した後は、プロダクションサーバーにプッシュしてどこからでもインターネットにアクセスできるようにする必要があります。
ほとんどのアプリ/ウェブサイトでは、まず第一に、GoDaddy、HostGatorなどのサービスプロバイダをホストするホスティングパッケージの共有ホスティングパッケージを使用することです。
注 :プロバイダにdocument_rootを手動で変更するよう依頼することができるので、Laravelアプリケーションをサーバーに(FTP経由で)アップロードし、rootの変更を{app} / publicに要求するだけです。
しかし、このような共有ホスティングパッケージには、端末アクセスとファイルアクセス権に制限があります。デフォルトでは、共有ホスティングアカウントのpublic_html
フォルダにアプリ/コードをアップロードする必要があります。
Laravelプロジェクトを共有ホスティングアカウントにアップロードしたいのであれば、どうやってそれをやりますか?共有ホスティングアカウントのpublic_html
フォルダにアプリケーション(フォルダ)全体をアップロードする必要がありますか? - 確かにNO
public_html
フォルダ内のすべてのものは、セキュリティ上の大きなリスクになる「誰でも公開する」ことができるためです。
共有ホスティングアカウントにプロジェクトをアップロードする手順 - Laravelの方法
ステップ1
public_html
フォルダと同じレベルにlaravelというフォルダ(または好きなもの)を作成します。
Eg:
/
|--var
|---www
|----laravel //create this folder in your shared hosting account
|----public_html
|----log
ステップ2
laravel
フォルダ(サーバーホスト - 共有ホスティングアカウント)のlaravelプロジェクト(開発マシン上)からpublic
フォルダを除くすべてのものをコピーします。
あなたが使用することができます:
- Cパネル:最も遅い選択肢
- FTPクライアント: FileZillaのように、共有ホスティングアカウントに接続し、FTPアップロードによってファイルとフォルダを転送します。
- ネットワークドライブのマップ:開発マシン上にマップされたネットワークドライブを作成して、ネットワークアドレスとして「 ftp:// your-domain-name 」を使用して共有ホスティングアカウントのルートフォルダに接続することもできます。
ステップ3
laravelプロジェクトのpublic
フォルダを(開発マシン上で)開き、すべてをコピーしてpublic_html
フォルダ(サーバホスト - 共有ホスティングアカウント)に貼り付けます。
ステップ4
共有ホスティングアカウント(cpanelエディタまたは他の接続エディタ)のpublic_html
フォルダにindex.php
ファイルを開き、次のようにします。
変化する:
require __DIR__.'/../bootstrap/autoload.php';
に:
require __DIR__.'/../laravel/bootstrap/autoload.php';
そして変更:
$app = require_once __DIR__.'/../bootstrap/app.php';
に:
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
保存して閉じます。
ステップ5
今すぐlaravel
フォルダ(共有ホスティングアカウント-server上)に行き、 server.php
ファイルを開きます
変化する
require_once __DIR__.'/public/index.php';
に:
require_once __DIR__.'../public_html/index.php';
保存して閉じます。
ステップ6
laravel/storage
フォルダ(再帰的に)とその中のすべてのファイル、サブフォルダ、ファイルを共有ホスティングアカウント - サーバー上の777
ます。
注意: linuxのファイルパーミッションに注意してください。両刃の剣のようなものです。正しく使用されないと、あなたのアプリを攻撃に対して脆弱にする可能性があります。 Linuxファイルのパーミッションについては、 https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissionsを参照してください。
ステップ7
ローカル/開発サーバの.env
ファイルはgitで無視されるため、APP_KEYを含むすべての環境変数を持つため無視し、リポジトリにプッシュすることで公開しないでください。 .gitignore
ファイルには.env
が.env
されているので、リポジトリにはアップロードされません。
上記のすべての手順を実行した後、laravelフォルダに.env
ファイルを作成し、使用したすべての環境変数をローカル/開発サーバーの.env
ファイルから.env
サーバーの.env
ファイルに.env
ます。
env()
2番目のパラメータでこの変数をデフォルトで定義するlaravelアプリケーションのconfigフォルダにapp.php
、 database.php
などの設定ファイルがありますが、これらのファイルの値をハードコードしないでください。リポジトリをプルするユーザーの構成ファイル。したがって、手動で.env
ファイルを作成することをお勧めします。
また、laravelは、参照として使用できる.env-example
ファイルを提供します。
それでおしまい。
サーバーでドメインとして設定したURLにアクセスすると、laravelアプリケーションはローカルホスト開発マシンと同じように動作するはずですが、アプリケーションコードは安全で、適切なファイルアクセス権がないユーザーはアクセスできません。