Drupal 8에 웹 루트 외부의 구성 파일에 대한 액세스 권한을 부여하려면 어떻게해야합니까?

발란

방금 Drupal 8에 뛰어 들었고 프로젝트에서 파일 기반 구성을 활성화하는 데 문제가 있습니다. 다음 지침을 사용하고 있습니다. https://www.drupal.org/node/2416555

모든 단계를 따랐지만 구성을 변경하려고 할 때마다 다음 오류가 발생합니다.

Drupal\Core\Config\StorageException: Failed to create config directory 
./../config/active in Drupal\Core\Config\FileStorage->ensureStorage() 
(line 72 of /Users/bbalan/Sites/d8project/web/core/lib/Drupal/Core/Config/FileStorage.php).

내 settings.php의 경로에 문제가 있다고 생각합니다. 지침에는 아마도 보안상의 이유로 웹 루트 외부의 경로를 사용하라는 내용이 있습니다. 내가 가진 것은 다음과 같습니다.

$config_directories = array(
    CONFIG_ACTIVE_DIRECTORY  => './../config/active',
    CONFIG_STAGING_DIRECTORY => './../config/staging',
    CONFIG_SYNC_DIRECTORY    => './../config/sync',
);

모든 구성 디렉토리 권한을 777로 설정했으며 활성 / 스테이징 / 동기화 디렉토리는 이미 수동으로 생성되었습니다 (또한 777도 사용). 내 프로젝트 폴더의 내용은 다음과 같습니다.

-rw-r--r--   1 bbalan  staff   18046  8 Aug 15:22 LICENSE
-rw-r--r--   1 bbalan  staff    4787  8 Aug 15:22 README.md
-rw-r--r--   1 bbalan  staff    2299  8 Aug 17:35 composer.json
-rw-r--r--   1 bbalan  staff  206302  8 Aug 17:35 composer.lock
drwxrwxrwx   6 bbalan  staff     204  8 Aug 15:36 config
drwxr-xr-x   4 bbalan  staff     136  8 Aug 15:22 drush
-rw-r--r--   1 bbalan  staff     481  8 Aug 15:22 phpunit.xml.dist
drwxr-xr-x   3 bbalan  staff     102  8 Aug 15:22 scripts
drwxr-xr-x  42 bbalan  staff    1428  8 Aug 17:36 vendor
drwxr-xr-x  19 bbalan  staff     646  8 Aug 17:23 web

이것은 https://github.com/drupal-composer/drupal-project의 지침에서 Composer로 빌드 된 Drupal 8.1.8 설치 입니다. 모든 Drupal 사이트 파일은 /web. 내 httpd-vhosts.conf는 다음과 같습니다.

<VirtualHost *:80>
    ServerName drupal-8.local
    ServerAlias drupal-8.local
    DocumentRoot /Users/bbalan/Sites/d8project/web/
    <Directory /Users/bbalan/Sites/d8project/web/>
        Options FollowSymLinks
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

어떤 아이디어? /configdir을 웹 루트의 위치 (예 :)로 이동하면 모든 것이 작동 /sites/default/files/config하지만 이는 안전하지 않고 지침에 위배됩니다.

도움을 주셔서 감사합니다!

에드가 파인

구성 디렉토리를 777로 사용하는 것은 권장하지 않습니다. 755는 소유자와 그룹 구성원이 읽고 쓸 수 있기 때문에 훨씬 더 나은 접근 방식입니다. 그룹 구성원의 실행을 허용하려면 775를 시도 할 수도 있습니다. 또한 웹 서버 사용자가 해당 그룹의 일부인지 확인하십시오. Apache는 일반적으로 www-data를 사용합니다. 또한 구성 디렉토리를 sites/default/sync.

$config_directories = array(
    CONFIG_ACTIVE_DIRECTORY  => 'sites/default/config/active',
    CONFIG_STAGING_DIRECTORY => 'sites/default/config/staging',
    CONFIG_SYNC_DIRECTORY    => 'sites/default/config/sync',
);

해당 디렉토리가 존재하고 웹 서버가 그룹의 일부인지 확인하십시오 staff.

내가 확인할 또 다른 것은 Drupal의 상태이며 거기에서 무엇을 알려주는지 확인합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사