Разрешение папки мультимедиа при развертывании приложения django с Ansible

Я развертываюсь с Ansible, в задаче я проверяю, существует ли папка, например, для журнала, ресурсов и т. Д., И даю им разрешение 755

- name: Ensure source, static, media and logs directories exist
  file: dest={{ item }} mode=755 owner={{ app_user }} group={{ app_group }} state=directory
  with_items:
    - "{{ static_dir }}"
    - "{{ media_dir }}"
    - "{{ logs_dir }}"

Я запускаю приложение с app_user и который находится в группе Apache, поэтому все мои файлы и каталоги имеют app_user:apache разрешение.

С указанным выше разрешением я не могу загружать файлы в каталог мультимедиа, но когда даю chown -R g+w media разрешение на загрузку в каталог мультимедиа происходит, но затем ansible перестает работать, когда медиа получает apache:apache разрешение.

Как мне решить эту проблему, какое разрешение я даю для папки мультимедиа?

Мой проект Django находится в /var/www/www.example.com/ и СМИ в /var/www/www.example.com/src/media/

В папке www.example.com есть app_user:apache chown.

1 ответ

Файловому модулю Ansible требуется полный восьмеричный номер, предоставленный mode параметр, а не сокращенная трехзначная версия, которую мы привыкли использовать с chmod команда.

Как упомянуто на http://docs.ansible.com/ansible/file_module.html, "уход от начального нуля, скорее всего, приведет к неожиданным результатам".

Пытаться:

file: dest={{ item }} mode=0755 owner={{ app_user }} group={{ app_group }} state=directory

Надеюсь, это поможет.

Другие вопросы по тегам