ownCloudのApache .htaccess警告を安全にクリアする

ApacheでホストされているownCloud Classicのインストールでは、アクティブな仮想ホストのownCloudウェブルートにAllowOverride All対応するApache<Directory>ブロック内に設定を追加することで、「AllowOverride All」または「.htaccessが機能していません」という警告を修正できます。Apacheの設定をテストし、サービスを再起動して、ownCloudの管理概要を更新してください。ファイルシステム全体に対してオーバーライドを有効にしないでください。

DocumentRootと、AllowOverride Allが設定された対応するownCloud Directoryブロックを表示するApache仮想ホストエディタ
オーバーライドは、ownCloudのファイルシステムパスに一致するApacheディレクトリブロック内に配置する必要があります。

警告の意味

Apache のAllowOverrideディレクティブは、どの設定が.htaccessファイルに適用できるかを制御します。ownCloud ディレクトリでオーバーライドが無効になっている場合、Apache は ownCloud が提供する.htaccessファイルのルールを無視できます。これはリライトやセキュリティ ルールに影響を与える可能性があるため、ownCloud の現在の 10.16 マニュアルAllowOverride Allには Apache 設定例が含まれています。

このディレクティブは Apache セクションでのみ有効です。 、ブロック、または URL パス<Directory>内には使用できません。また、Apache は管理者に対し、グローバル ブロックでオーバーライドを有効にしないよう警告しています。代わりに、設定の範囲を ownCloud のインストール ディレクトリに限定してください。ownCloud 10.16 Apache インストール ガイドと Apache のリファレンスを参照してください。.htaccess<Location><Directory "/">AllowOverride

Apacheを編集する前に

  • ownCloudを処理するWebサーバーがApacheであることを確認してください。このディレクティブはNginxの設定は行いません。Apacheがプロキシの背後にある場合は、ownCloudファイルを配信しているApacheホストを特定してください。
  • ownCloud の実際のインストール パス (例: ) を見つけてください/var/www/owncloud。ブラウザの URL (例: ) ではなく、Apache が提供するファイルシステム パスを使用してください/owncloud。
  • 変更する前に、アクティブな仮想ホストファイルをバックアップしてください。DebianまたはUbuntuでは、ownCloudのガイドでは を使用しています/etc/apache2/sites-available/owncloud.confが、他のディストリビューションでは場所が異なります。
  • HTTPとHTTPSの仮想ホストが別々になっているか確認してください。設定はownCloudからのリクエストを処理する仮想ホストに設定してください。両方の仮想ホストがファイルを直接配信する場合は、両方を同じように設定してください。

DebianまたはUbuntuでは、sudo apachectl -SApacheの仮想ホストと、それらを定義する設定ファイルを一覧表示します。これにより、HTTPS仮想ホストがownCloudのサービスを継続している間、使用されていないデフォルトサイトを編集する必要がなくなります。

該当するディレクトリブロックにディレクティブを追加します。

アクティブなvhostファイルを開き、既存のownCloud<Directory>セクションを探します。そこに該当行を追加または修正します。標準的なインストールの場合/var/www/owncloud、該当部分は次のようになります。

DocumentRoot /var/www/owncloud

<Directory /var/www/owncloud/>
  Options +FollowSymLinks -Indexes
  AllowOverride All
  Require all granted
</Directory>

この短い例のように、vhost全体を置き換えるのではなく、既存の設定にこの設定を統合してください。ownCloudディレクトリが別の場所にある場合は、両方のパスを実際のパスに置き換えてください。Apacheは、ディレクトリパスがファイルに使用するファイルシステムパスと一致することを要求します。

Allこのディレクトリ内のサーバー設定を上書きするために、ファイル内で許可されているすべてのディレクティブを許可します。これは広範な権限であるため、このブロックはownCloudのWebルートに限定してください。警告を非表示にするためだけに、、、または無関係なサイトに対して.htaccess変更しないでください。AllowOverride None//var/www

テスト、再読み込み、検証

DebianまたはUbuntuでは、ownCloudはmod_rewriteApacheの設定に必要なドキュメントを提供します。有効になっていない場合は、以下のコマンドで有効にしてください。

sudo a2enmod rewrite

適用する前に設定を確認してください。

sudo apachectl -t

Apacheがエラーを報告した場合のみ続行しますSyntax OK。更新されたvhostを読み込むようにApacheを再起動します。

sudo systemctl reload apache2

サービス名を使用しているディストリビューションでは、代わりにそのディストリビューションの configuration-test コマンドと reload コマンドを使用してください。ownCloud の[設定] > [管理] > [概要]httpdに戻り、ページを更新してください。Apache が編集された vhost を読み取り、ownCloud の処理を​​行っている場合、警告は解消されるはずです。.htaccess

a2enmod rewriteを実行してApache rewriteモジュールが有効になっていることを示すLinuxターミナル
ownCloudの書き換え動作が警告の一部となっている場合は、Apacheの書き換えモジュールが有効になっていることを確認してください。
Apacheをリロードする前にapachectl -tを実行して「Syntax OK」と表示されるLinuxターミナル
サービスを再起動する前に、Apacheの設定を確認してください。
ownCloudスタイルの管理概要ページ(AllowOverride警告は表示されません)
再読み込み後、管理概要画面を再度開き、.htaccessの警告が解消されているかどうかを確認してください。

警告が続く場合

  • アクティブなvhostを確認してください。再度実行しsudo apachectl -S、変更されたファイルがownCloudで使用されているホスト名とポートに属していることを確認してください。AllowOverride All一致しないブロック内の行は効果がありません。
  • 正確なパスとセクションを確認してください。ブロックがリテラル<Directory /path/to/owncloud/>セクションであり、パスがインストールディレクトリと一致していることを確認してください。Apache はAllowOverrideと を.htaccess無視します<Location>。
  • 必要な場合にのみ、古い ownCloud ルールを再生成してください。vhostが正しくても ownCloud の書き換えルールを更新する必要がある場合は、マニュアルを参照occ maintenance:update:htaccessしてください。ownCloud ディレクトリから、たとえばウェブサーバーユーザーとして実行しますsudo -u www-data php occ maintenance:update:htaccess。ウェブサーバーユーザーは、この更新のために指定されたファイルを書き込む権限を持っている必要があります.htaccess。ファイルをすべてのユーザーが書き込み可能にしないでください。インストールのガイダンスに従って、ファイルの所有権または権限を修正してください。
  • 500エラーが発生した後は、Apacheのエラーログを確認してください。構文チェックによってApacheのメイン設定は検証されますが、.htaccessモジュールが欠落している場合やディレクティブが許可されていない場合は、ディレクティブが失敗する可能性があります。エラーログを使用して、特定のモジュールまたはルールを特定してください。

ownCloud のドキュメントに記載されている index.php なしの URL 設定ではmod_rewrite、 、mod_env、および書き込み可能なルートも必要とされます.htaccess。これは関連する書き換え設定であり、ownCloud のディレクトリを超えてオーバーライドを広げる理由ではありません。設定で PHP-FPM を使用している場合は、Apache オーバーライドの警告に対処するために PHP ハンドラを変更するのではなく、そのインストールに関する現在の ownCloud のガイダンスに従ってください。警告でデータ ディレクトリがパブリックにアクセスできる可能性があると示されている場合は、データ ディレクトリが Web ルートの外にあるか、明示的な Apache ルールによって保護されていることも確認してください。.htaccess警告をクリアしただけでは、プライベート ファイルが直接要求されないという証明にはなりません。

ドキュメント化された動作とプラットフォームの制限については、ownCloud のindex.php なし URL ガイダンスとOCC コマンド リファレンスを参照してください。

コメントを残す

ownCloudのApache .htaccess警告を安全にクリアする

ownCloudのApache .htaccess警告を安全にクリアする

ownCloudのウェブルートに対してのみAllowOverride Allを設定し、アクティブなApache仮想ホストを検証し、安全にリロードして.htaccessルールを復元します。

ownCloud Enterprise Auditingを設定し、ログを確認する

ownCloudのエンタープライズ監査アプリを有効にし、admin_auditイベントを保護されたログファイルにルーティングして、実際のユーザー操作が記録されていることを確認します。

ownCloud Infinite ScaleをOIDCを使用してKeycloakに接続します。

ownCloud Infinite ScaleをOIDCを使用してKeycloakに接続します。

Keycloakのレルム発行者、Webクライアント、およびユーザークレームを整合させることで、ownCloud Infinite ScaleがWebクライアントとモバイルクライアント全体でユーザーを確実にサインインできるようにします。

ownCloudのファイルを共有を失うことなく新しい所有者に移動する

ownCloudのoccコマンドを使用して、所有ファイルと共有フォルダを転送し、何が残るかを把握し、古いアカウントを削除する前にアクセス権を確認してください。

ownCloud 10のクエリを安全にインデックス管理することで高速化

ownCloud 10のデータベースインデックスに注意が必要な場合、サポートされているスキーマ更新を安全に適用する方法、クエリチューニングやデータベースの変更がより適切な解決策となる場合について学びましょう。

ownCloudでLinuxマウントなしでSMB/CIFS共有をマウントする

外部ストレージを介してWindowsまたはSambaネットワーク共有をownCloudに接続し、認証情報を確認し、アクセスできないフォルダのトラブルシューティングを安全に行います。

occコマンドを使用してownCloudファイルバージョンを安全に削除する

occコマンドを使用してownCloudファイルバージョンを安全に削除する

1つのアカウントまたはすべてのユーザーについて、保存されているownCloud Server Classicのすべてのファイルバージョンを削除し、完全削除と保持期間に基づく有効期限切れを区別します。

ownCloudモバイル接続が拒否されましたか?URLと接続可能性を確認してください。

ownCloudモバイル接続が拒否されましたか?URLと接続可能性を確認してください。

ownCloudモバイル接続拒否の原因を特定するには、サーバーURL、電話ネットワーク、HTTPSエンドポイント、およびサーバーログを正しい順序で確認してください。

systemdタイマーを使用してownCloudのバックグラウンドジョブを確実に実行する

オンデマンドのジョブ実行を、ownCloudでサポートされているocc system:cronコマンドを15分ごとに実行するsystemdタイマーに置き換えます。

壊れたルートを見つけてownCloud WebDAV同期を復元する

Apache、Nginx、またはリバースプロキシを経由してWebDAVリクエストをトレースし、認証済みのPROPFINDテストを使用してownCloudの同期が機能することを確認します。