web-dev-qa-db-ja.com

デプロイLaravel 5共有ホスティングでFTPのみを使用

laravel 5プロジェクトをクライアントホストにデプロイする必要があります。

私のクライアントの計画は基本的なホスティングです:cpanelなどのないLinux + MySql(つまり、管理パネルなし)。

FTP経由でのみアクセスでき、www.mycustomerweb.comという名前のフォルダーにのみアクセスできます。これは、www.mycustomerweb.comフォルダーと同じレベルにディレクトリを作成できないことを意味します。その内部のみ(共有ホスティングと呼ばれると思います)。

1年前、私はLaravel 4で作成したプロジェクトを次のように展開しました。

  1. コンテンツをルートフォルダーに移動し、index.phpとbootstrap.phpを更新するパブリックフォルダーを削除しました
  2. ローカルホストでプロジェクト全体を終了(Xamppを使用)
  3. ftp経由ですべてのファイルをwww.myclientweb.comにアップロードしました。

私の質問は:

  1. laravel 4プロジェクトですべてをうまくやったのですか?セキュリティの問題に陥った可能性があります(つまり、サイトは安全ですか)。

  2. laravel 5プロジェクトを同じサイトにデプロイするにはどうすればよいですか? Laravel 5では、Laravel 4で行ったようにパブリックフォルダーを削除できません。

今、ローカルホストにLaravel 5の新規インストールをセットアップし、ftp経由ですべてのファイルをwww.myclientweb.comフォルダーにアップロードしました。

確かにこれは正しい方法ではありません...

ウェブとStackoverflowで長い間検索しましたが、運がありませんでした。

本当に助かります。

読んでくれてありがとう。

18
Andrew F.

L4とL5に違いはないので、L4に対して行ったのと同じことを行います。

2
Karwan Jacksi
  1. 「protected」という名前の新しいフォルダーを作成します
  2. 「パブリック」フォルダーを除くすべてを「保護」フォルダーに移動します
  3. 「パブリック」フォルダー内のすべてをルートに移動します
  4. ルートフォルダー(パブリックフォルダーから)のindex.phpを編集します。

require __DIR__.'/../bootstrap/autoload.php';require __DIR__.'/protected/bootstrap/autoload.php';に編集します

$app = require_once __DIR__.'/../bootstrap/app.php';$app = require_once __DIR__.'/protected/bootstrap/app.php';に編集します

10
Agung Kessawa

更新
これは危険なプロセスです。これを使用することにより、悪意のあるユーザーにバグを見つける許可を与えます。お気に入り、 http://project-url/storage/logs/laravel.log まだ開いています。


前の回答:
コメントをほとんどチェックしない人、@ Andrew F.はすでに答えを出しています。
しかし、彼はcomposerおよびpackage。
フォーマット済みの回答は次のとおりです。

  1. パブリックのすべてのファイルを親フォルダーに移動します。
  2. index.phpのパスを更新します。
  3. .htaccessに次の行を追加します。
    RewriteRule ^(server\.php | gulpfile\.js |\.env | composer。* | package。*)-[F、L、NC]
8
ssi-anik

Laravel 5.1を共有ホスティングスペースに入れようとしている場合、またはlaravel 5/5.1を共有ホスティングのサブディレクトリに入れようとしている場合次のようにアクセスできます。

http://mywebsite.com/mylaravel/

だから、この答えはあなたのためです、まずあなたが会うことを確認してください

Laravel 5.1の要件:

- PHP 5.5
- PHP extension Mcrypt
- PHP extension Mbstring
- PHP extension OpenSSL

ここであなたのための2つのチュートリアル:

リンク1

リンク2

Apacheでは、これを次のように達成できます

    RewriteEngine on
    RewriteBase /

  # Rewrites all URLS without blog in them
    RewriteCond %{REQUEST_URI} !^/blog/

  # Rewrites all URLS [Replace "example" with the actual domain, without the TLD (.com, .net, .biz, etc)]
    RewriteCond %{HTTP_Host} ^(www\.)?example\.

  # Rewrite all those to insert /folder
    RewriteRule ^(.*)$ /blog/$1 [L]
0
HARENDRA SINGH