サーチ…


備考

共有ホスティングに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.phpdatabase.phpなどの設定ファイルがありますが、これらのファイルの値をハードコードしないでください。リポジトリをプルするユーザーの構成ファイル。したがって、手動で.envファイルを作成することをお勧めします。

また、laravelは、参照として使用できる.env-exampleファイルを提供します。

それでおしまい。

サーバーでドメインとして設定したURLにアクセスすると、laravelアプリケーションはローカルホスト開発マシンと同じように動作するはずですが、アプリケーションコードは安全で、適切なファイルアクセス権がないユーザーはアクセスできません。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow