Ich mache etwas sehr ähnliches. Wenn Sie eine Infrastruktur ausführen, die diese Konfiguration unterstützt, empfehle ich, eine Freigabe auf Ihrem Dateiserver (Linux oder Windows Server) bereitzustellen und diese einfach im öffentlichen Dateipfad von Drupal bereitzustellen, wo immer sich das öffentliche Verzeichnis für dieses bestimmte Feld befindet.
Nehmen Sie beispielsweise die folgende Samba-Konfiguration (in /etc/samba/smb.conf, wenn Sie einen Linux-basierten Dateiserver ausführen). Dies steht am Ende der Datei nach allen anderen Konfigurationsoptionen:
[data]
comment = Data directory
browseable = yes
writable = yes
valid users = "@DOMAIN\Domain Admins"
path = /data
create mask = 0664
force create mode = 0664
Die dortige valid users
Syntax lautet "Ermöglicht dieser Benutzergruppe" den Zugriff auf diese Freigabe. In diesem Fall verwenden wir PAM, um unseren Dateiserver mit Active Directory zu verbinden, und diese bestimmte Gruppe wird verfügbar, sobald Sie die beiden verbinden.
Navigieren Sie auf Ihrem Webserver, unabhängig davon, was Ihre Drupal-Site hostet, zum Verzeichnis der öffentlichen Dateien. Angenommen, das Feld, für das Sie die Dateien verfügbar machen möchten, ist öffentlich: // field_with_20k_files /. Sie würden einen ähnlichen Mount-Befehl wie folgt ausführen:
sudo mount -t cifs -o user=domainadministrator,uid=domainadministrator,gid=apache //fileserver/data /path/to/field_with_20k_files
Ich habe gid
festgelegt, welcher Prozess den Webserver ausführt, damit er Zugriff auf dieses Verzeichnis hat. Höchstwahrscheinlich möchten Sie sicherstellen, dass der Webdienst Lese- und Schreibzugriff auf den Webserver hat und tatsächlich Dateien hochladen kann.