Как изменить права доступа к файлам в контейнере localhost Windows 10 pro / docker / ddev для сайта Drupal?

Я установил сайт drupal 8.8, используя Composer в системе Windows 10 pro и docker и ddev в качестве среды разработки.

Сайт drupal работает нормально: я не вижу ошибок ни в журнале drupal, ни при запуске ddev description.

Единственное исключение: Drupal выдает предупреждение о том, что sites / default / settings.php необходимо защитить от записи. Раньше я делал это на живом сайте с помощью Filezilla, но это сайт только для разработки, и кажется, что Filezilla не применяет разрешения к локальным файлам - по крайней мере, когда я щелкаю файл правой кнопкой мыши локально, я не нахожу команда для изменения разрешений.

Я попытался изменить разрешения на запись в самой Windows 10, но это, похоже, не имело никакого эффекта - я подозреваю, что для Windows это разные виды разрешений.

Я покопался в Интернете и увидел кое-что, что заставило меня подумать, что я могу использовать phpmyadmin для изменения разрешений. Попался в это и боролся с этим, пока не получил здесь помощь (Как получить доступ к phpmyadmin на локальном хосте DDEV Windows 10 pro с ошибкой слишком длинной записи SSL), но оказывается, что вы не можете изменить права доступа к файлам с помощью phpmyadmin, очевидно .

Я попытался использовать адрес, который подключил меня к phpmyadmin в моем браузере, чтобы подключиться к Putty, но Putty сообщает мне, что хост не существует.

Итак, помощь, которую я ищу: как я могу изменить права доступа к файлам для сайтов / default / settings.php в Windows 10 pro localhost, в которой запущена среда разработки docker / ddev для моего сайта drupal?

Спасибо!


person femrich    schedule 08.12.2019    source источник


Ответы (1)


Полагаю, вы говорите об этом предупреждении?

settings.php warning

Во-первых, вы можете полностью игнорировать это предупреждение. Вы находитесь в локальной среде разработки, поэтому вам не следует беспокоиться о разрешениях файла settings.php.

К сожалению, в среде Windows вы не можете вносить простые изменения разрешений, поскольку Drupal 8 предлагает это сделать.

Обратите внимание, что settings.ddev.php явно предоставляет параметр skip_permissions_harpting, $settings['skip_permissions_hardening'] = TRUE;, чтобы указать Drupal 8 не пытаться изменять разрешения на сайтах / default и sites / default / settings.php , потому что это просто среда разработки, и потому что, когда Drupal делает эти вещи, это только усложняет задачу.

Однако, чтобы упростить работу в Windows (не решает эту проблему) ...

Используйте nfs_mount_enabled

Я вижу, что есть множество проблем с новой "официальной" сборкой композитора Drupal 8.8.0 в Windows. Большинство из них связано с тем, что сборка композитора делает некоторые предположения о возможности установки времени и владения, но монтирование докеров, используемое по умолчанию (CIFS), имеет все, что принадлежит root, поэтому контейнер не может изменять разрешения (даже если они думали, что они '' повторно настежь).

Я обнаружил, что могу обойтись всем этим, используя NFS для монтирования в контейнер, и вы также обнаружите, что это значительно улучшает производительность. Настройте NFS, следуя инструкциям на странице https://ddev.readthedocs.io/en/stable/users/performance/#windows-nfs-setup

person rfay    schedule 08.12.2019
comment
Спасибо большое. Этот вопрос был верхушкой моего айсберга, и ваш ответ прямо сейчас раскрывает некоторые из глубины моих проблем - установки 8.8, которые я выполняю, продолжают давать сбой. Я попробую предложенное вами решение для монтирования NFS и посмотрю, подойдет ли оно мне. Спасибо еще раз! - person femrich; 09.12.2019
comment
Я немного новичок: какая команда git bash для загрузки и запуска сценария в этом случае, пожалуйста ?: Чтобы включить winnfsd в качестве службы, загрузите, проверьте и запустите сценарий windows_ddev_nfs_setup.sh, установленный установщиком (или загрузите из windows_ddev_nfs_setup.sh) в сеансе git-bash в Windows. - person femrich; 09.12.2019
comment
Насколько я понимаю, я бы открыл Git Bash и запустил: wget -0 - github.com/drud/ddev/blob/master/scripts/ | bash Это правильно, @rfay? Спасибо! - person femrich; 10.12.2019
comment
Ой! Исправление: 'wget -0 - raw.githubusercontent.com/drud/ddev / master / scripts / | bash ' - person femrich; 10.12.2019
comment
Нет, просто следуйте инструкциям. Загрузите файл, откройте его для проверки и запустите в окне git-bash. - person rfay; 10.12.2019
comment
К сожалению, я не понимаю, как делать то, что привело к этому. Вы бы порекомендовали мне отменить то, что я сделал с файлом на этом этапе, а затем повторить попытку, следуя инструкциям? - person femrich; 10.12.2019
comment
В окне git-bash в каталоге, где находится сценарий (например, / c / Program Files / ddev), просто запустите bash ./windows_ddev_nfs_setup.sh - person rfay; 10.12.2019
comment
Хорошо, я не уверен, что смогу воспроизвести шаги, которые использовал для этого, но в деталях диспетчера задач я вижу, что winnfsd.exe запущен. Думаю, это означает, что у меня запущен сценарий, поэтому я вернусь к работе. Спасибо за помощь, @rfay! - person femrich; 11.12.2019
comment
@femrich Замечу, что люди, использующие Windows с последними крайними версиями Docker, испытывают некоторые проблемы с тем, с чем вы сталкивались. Не могли бы вы сообщить, какую версию Docker Desktop вы использовали? - person rfay; 15.12.2019
comment
Я использую Docker версии 19.03.5, сборка 633a0ea. Я считаю, что это стабильная версия. Однако я борюсь с этим на нескольких уровнях. Вчера было обновление Windows, которое, казалось, привело к сбою моего локального сайта - оно не перезагружалось, поэтому я удалил и переустановил. (Ничего страшного - я нахожусь на ранних стадиях разработки сайта; но я хотел бы в какой-то момент сосредоточиться на сайте, а не только на среде разработки.) - person femrich; 16.12.2019
comment
Спасибо за ваш ответ. Я действительно просил вашу версию Docker Desktop (что-то вроде 2.0.x.x или 2.1.x.x). (Скорее всего, ваша проблема с локальным проектом будет заключаться в том, что при перезагрузке системы ваш проект перешел в состояние паузы. Я всегда рекомендую ddev poweroff перед перезагрузкой или возиться с докером. Или сделайте это после перезагрузки тоже нормально.) - person rfay; 17.12.2019
comment
@ rfay Спасибо. Как видите, мне есть чему поучиться. Но я стараюсь сохранять хорошее отношение к процессу и благодарен за помощь. Спасибо за подсказку о приостановке - я этого не делал, и это имеет смысл - это была ошибка новичка, которую я (надеюсь, я) больше не буду повторять. Я использую стабильную версию Docker Desktop CE 2.1.05 (40693), поэтому мои проблемы не связаны с рабочей кромкой. При запуске системы, основанной на совместной работе нескольких элементов, поиск проблем, кажется, становится большой проблемой. - person femrich; 17.12.2019
comment
Спасибо за это @femrich! - person rfay; 17.12.2019