ファイルが別のサーバーにアップロードされるようにD7を構成する方法


9

Drupal 7では、アップロードのデフォルトパスは、パブリックファイルシステムパスのファイルシステムオプションで設定されます。このパスで別のサーバーを指定することは可能ですか?私たちが開発中のDrupal 7 Webサイトには約20kのファイルがあり、それらをWebサーバーとは別のサーバーに配置したいと考えています。別のサーバーを指定できない場合、これを処理できるユーザー提供のモジュールはありますか?


このタスクを完了しましたか。
シンドレラ2012年

これに関するモジュールはありますか?
Dushyant Joshi 2017

回答:


8

私は非常に似たようなことをします。この構成が可能なインフラストラクチャを実行している場合は、ファイルサーバー(LinuxまたはWindowsサーバー)で共有を提供し、その特定のフィールドのパブリックディレクトリがどこにあっても、Drupalのパブリックファイルパスにマウントすることをお勧めします。

たとえば、次のSamba構成を使用します(Linuxベースのファイルサーバーを実行している場合は、/ etc / samba / smb.confにあります)。これは、他のすべての構成オプションの後のファイルの最後にあります。

[data]
    comment = Data directory
    browseable = yes
    writable = yes
    valid users = "@DOMAIN\Domain Admins"
    path = /data
    create mask = 0664
    force create mode = 0664

そこでのvalid users 構文は、「このユーザーグループを許可して」この共有にアクセスすることを許可しています。この場合、PAMを使用してファイルサーバーをActive Directoryに接続しています。この2つを接続すると、この特定のグループが使用可能になります。

DrupalサイトをホストしているWebサーバーで、公開ファイルディレクトリに移動します。ファイルを使用可能にするために必要な特定のフィールドがpublic:// field_with_20k_files /だとします。同様のマウントコマンドを次のように実行します。

sudo mount -t cifs -o user=domainadministrator,uid=domainadministrator,gid=apache //fileserver/data /path/to/field_with_20k_files

私は、gidWebサーバーを実行しているプロセスに設定しているため、そのディレクトリにアクセスできます。ほとんどの場合、WebサービスがWebサーバーへの読み取りおよび書き込みアクセス権を持ち、実際にファイルをアップロードできることを確認する必要があります。


すべての回答は適切ですが、インフラストラクチャを制御できるため、新しいモジュールをインストールする必要がないため、この回答はDrupalの観点から実装するのが最も簡単で簡単です。私たちはWindows環境にいますが、提供された非常に詳細な手順に感謝します!
John81、2012年

その場合、基本的にはSambaの構成をスキップして、適切なWindows権限が設定されたユーザー名とパスワードを使用して直接mountコマンドを実行するだけで済みます。ご不明な点がありましたらお知らせください。
レスターピーボディ

これを実行しようとしていますが、問題があります。私のサービスセンターはWindowsサーバーをマウントできましたが、そこからどこに行くべきかわかりませんでした。/ mount_file_pathをパブリックファイルディレクトリとして使用しようとしましたが、存在せず作成できなかったというエラーが表示されます。
nmillin 2012

5

また、優れたオプションはストレージAPIです。これについての引用は次のとおりです(モジュールのプロジェクトページから):

...は、管理されたファイルのストレージと提供のための低レベルのフレームワークです。モジュールとすべてのコア機能は、この低レベルの機能を提供するために、他のモジュールに依存しません。サブモジュールは、ストレージAPIが他の提供されたモジュールと対話できるようにすることを歓迎しますが、このモジュールの低レベルの機能に必要でない限り、storage.infoファイルにdependency []ステートメントがあってはなりません。

次の機能があります。

  • プラグイン可能なアーキテクチャ-任意のストレージサービスで動作するように拡張できます。
  • 冗長性-複数のサービスにファイルを保存し、サービスを提供するサービスを瞬時に変更するように構成できます。つまり、問題のあるサービスによってサイトがダウンすることはありません。
  • アクセス制御API-eコマースに使用できます。
  • 重複排除 -同一のファイルが同じコンテナに保存されている場合、1つのインスタンスのみが作成されます。これにより、帯域幅とストレージが節約されます。
  • ファイルと画像フィールドの統合-「コアブリッジ」サブモジュールを有効にします。
  • 監査モジュール-ファイルのマニフェストをデータベースに記録されているものと比較して、レコードが正確であることを確認します。

4

この領域でも役立つ2つのモジュールは、CDN(Economist.comを含む多くの大規模サイトで使用されます)とAmazon S3(特にローカルファイルシステムの代わりにAmazon S3を使用するため)です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.