Webアプリケーションに適切なファイル権限を設定することは、Webホスティングの重要な部分です。このチュートリアルでは、LinuxWebサーバーでホストされているLaravelアプリケーションでファイルのアクセス許可を適切に構成する方法を学習します。
まず、Webサーバーが実行されているユーザー名を特定します。デフォルトのケースをいくつか示します
- Linux上のNginxはアカウントを使用します– www-data
- Debianシステム上のApacheはアカウントを使用します– www-data
- RedhatシステムのApacheはアカウントを使用します– apache
Laravelファイルのパーミッションを設定する
Webサーバーがwww-dataで実行されていると仮定します システム上のユーザー。したがって、すべてのファイルはWebサーバーユーザーと同じユーザー所有権を持つ必要があります。 chownコマンドを使用して、すべてのファイルとディレクトリの所有者とグループ所有者を再帰的に設定します。
sudo chown -R www-data:www-data /path/to/laravel
次に、すべてのファイルに644のアクセス許可を設定し、すべてのディレクトリに755のアクセス許可を設定します。これはchmodコマンドで実現でき、以下のようにコマンドをまとめて検索できます。
sudo find /path/to/laravel -type f -exec chmod 644 {} \;
sudo find /path/to/laravel -type d -exec chmod 755 {} \;
Laravelを正しく機能させるには、ストレージ、キャッシュ、その他のディレクトリに対するWebサーバーへの読み取りおよび書き込み権限を付与する必要があります。したがって、次のコマンドを実行します。
cd /path/to/laravel
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
これで、Laravelアプリケーションは適切な権限で保護されます。ただし、すべてのファイルにはWebサーバーの所有者とグループ所有者がいるため、FTP/sFTPを介した変更中に問題が発生する可能性があります。この問題を解決するには、ユーザーをWebサーバーのユーザーグループに追加します。
sudo usermod -a -G www-data ubuntu
別のチュートリアルを読んで、WebサーバーのドキュメントルートのSFTPアカウントを適切に作成してください。
結論
このチュートリアルでは、Laravelアプリケーションのファイル権限を適切に構成する方法を学びました。