Як налаштувати D7, щоб файли завантажувались на інший сервер


9

У Drupal 7 шлях за замовчуванням для завантаження встановлюється в параметрах файлової системи в конфігураційному файлі Публічна файлова система. Чи можливо вказати інший сервер на цьому шляху? У мене є веб-сайт Drupal 7, який ми розробляємо, і він матиме близько 20 тис. Файлів, і я хотів би поставити їх на інший сервер, ніж веб-сервер. Якщо неможливо вказати інший сервер, ніж є модулі, що надаються користувачем, які можуть це впоратися?


Ви виконали це завдання.
Cindrella

Будь-який модуль щодо цього?
Dushyant Joshi

Відповіді:


8

Я роблю щось дуже схоже. Якщо ви працюєте з інфраструктурою, яка здатна до такої конфігурації, я рекомендую подати долю на вашому файловому сервері (Linux або Windows Server) і просто встановити її в публічний шлях файлів Drupal, де б не був публічний каталог для цього конкретного поля.

Наприклад, візьміть таку конфігурацію Samba (знайдена в /etc/samba/smb.conf, якщо ви запускаєте файловий сервер на базі Linux). Це відбувається в самому кінці файлу після всіх інших параметрів конфігурації:

[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, і ця конкретна група стає доступною після того, як ви підключите їх.

На своєму веб-сервері, незалежно від розміщення вашого сайту Drupal, перейдіть до каталогу загальнодоступних файлів. Скажіть, що конкретне поле, для якого доступні файли, є загальнодоступним: // field_with_20k_files /. Ви б запустили подібну команду mount так, як:

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

У мене gidвстановлено будь-який процес, на якому працює веб-сервер, щоб він мав доступ до цього каталогу. Швидше за все, ви хочете переконатися, що веб-служба має доступ до читання та запису на веб-сервер, насправді здатна завантажувати файли.


Усі відповіді хороші, але оскільки ми маємо контроль над інфраструктурою, ця відповідь є найпростішою та найпростішою з точки зору Drupal, оскільки ми не повинні встановлювати жодних нових модулів. Ми в середовищі Windows, але дякуємо за надані неймовірно детальні кроки!
Джон81

У такому випадку ви можете просто пропустити конфігурацію Samba і просто запустити команду mount безпосередньо, використовуючи ім'я користувача та пароль, що мають відповідні налаштування дозволів Windows. Повідомте мене, якщо у вас є питання.
Лестер Пібоді

Я намагаюся це зробити, але у мене виникають проблеми. Мій сервісний центр зміг встановити сервер Windows, але ми не знали, куди звідти піти. Я намагався використовувати / mount_file_path як каталог загальнодоступних файлів, але я отримую помилку, що вона не існує і не може бути створена.
nmillin

5

Також відмінним варіантом буде API зберігання . Ось цитата про це (зі сторінки проекту модуля):

... - це низькорівневий фреймворк для керованого зберігання та обслуговування файлів. Модуль та всі основні функції залишатимуться агностичними для інших модулів, щоб забезпечити цю функцію низького рівня. Підмодулі вітаються, щоб дозволити API зберігання взаємодіяти з іншими внесеними модулями, але у файлі storage.info ніколи не повинно існувати оператор залежності [], якщо це не потрібно для функцій низького рівня цього модуля.

Він має такі особливості:

  • Підключена архітектура - її можна розширити для роботи з будь-яким сервісом зберігання даних.
  • Надлишок - це може бути налаштовано для зберігання ваших файлів у декількох сервісах та миттєво змінити, який саме обслуговується. Це означає, що ваш сайт не буде зруйнований службою, яка має проблеми .
  • API контролю доступу - може використовуватися для електронної комерції.
  • Дедуплікація - коли ідентичні файли зберігаються в одному контейнері, буде створений лише один екземпляр. Це економить пропускну здатність і зберігання.
  • Інтеграція полів файлів і зображень - увімкніть підмодуль "основний міст".
  • Модуль аудиту - порівнює маніфест файлів із тим, що записано в базі даних, щоб гарантувати точність запису.

4

Два модулі, які також можуть допомогти в цій області, - це CDN (використовується багатьма великими сайтами, включаючи Economist.com) та Amazon S3 (спеціально для використання Amazon S3 замість локальної файлової системи).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.