サーチ…
備考
共有ホスティングに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アプリケーションはローカルホスト開発マシンと同じように動作するはずですが、アプリケーションコードは安全で、適切なファイルアクセス権がないユーザーはアクセスできません。