Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

attempt to create the directory ../config/sync failed, possibly due to a permissions problem. #274

Closed
jrearick opened this issue May 5, 2017 · 11 comments

Comments

@jrearick
Copy link

jrearick commented May 5, 2017

Doing an initial install by running composer create-project drupal-composer/drupal-project ~/Sites/drupal8-composer --no-interaction --stability dev as suggested from the README.md I got the following error on Drupal's install screen:

CONFIGURATION DIRECTORY: SYNC
An automated attempt to create the directory ../config/sync failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the online handbook.

I think this might related to #86 but it seems here that the config directory set in settings.php has already been moved out of the web root. Creating the config/sync directory in the composer root without changing settings.php resolves the issue for me. Should the process create this directory appropriately so a site install can happen immediately after running create-project?

@miloskroulik
Copy link

I've got the same problem and same solution worked for me.

@webflo
Copy link
Member

webflo commented May 6, 2017

Could you provide some information about the environment you are using?

@jrearick
Copy link
Author

jrearick commented May 8, 2017

I'm running with macports on macOS Sierra 10.12.4

Composer version 1.4.1 2017-03-10 09:29:45
PHP 5.6.30 (cli) (built: Apr 24 2017 04:59:14)

Here are the PHP extensions I have installed:

# port installed | grep php56
  php56 @5.6.30_1+libedit (active)
  php56-apache2handler @5.6.30_0 (active)
  php56-curl @5.6.30_0 (active)
  php56-ftp @5.6.30_0 (active)
  php56-gd @5.6.30_0 (active)
  php56-iconv @5.6.30_0 (active)
  php56-ldap @5.6.30_0 (active)
  php56-mbstring @5.6.30_0 (active)
  php56-mcrypt @5.6.30_0 (active)
  php56-mysql @5.6.30_0+mysqlnd (active)
  php56-opcache @5.6.30_0 (active)
  php56-openssl @5.6.30_0 (active)
  php56-pear @20161027_0 (active)
  php56-soap @5.6.30_0 (active)
  php56-sqlite @5.6.30_0 (active)
  php56-uploadprogress @1.0.3.1_1 (active)
  php56-xdebug @2.5.3_0 (active)
  php56-xsl @5.6.30_0 (active)
  php56-zip @5.6.30_0 (active)

Here's the output given when running:

# drupal-composer/drupal-project ~/Sites/mysite --no-interaction --stability dev
Installing drupal-composer/drupal-project (8.x-dev a394f055a6a9ffbb5305a2f0608e8b413734aa7b)
  - Installing drupal-composer/drupal-project (8.x-dev a394f05): Cloning a394f055a6 from cache
Created project in /Users/jrearick/Sites/mysite
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 102 installs, 0 updates, 0 removals
  - Installing cweagans/composer-patches (1.6.1): Loading from cache
  - Installing drupal-composer/drupal-scaffold (2.3.0): Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (20%)�����������������Downloading (40%)�����������������Downloading (60%)�����������������Downloading (80%)�����������������Downloading (100%)
  - Installing composer/installers (v1.3.0): Loading from cache
  - Installing jakub-onderka/php-console-color (0.1): Loading from cache
  - Installing jakub-onderka/php-console-highlighter (v0.3.2): Loading from cache
  - Installing dnoegel/php-xdg-base-dir (0.1): Loading from cache
  - Installing nikic/php-parser (v3.0.5): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.3.0): Loading from cache
  - Installing symfony/var-dumper (v2.8.20): Loading from cache
  - Installing psr/log (1.0.2): Loading from cache
  - Installing symfony/debug (v2.8.20): Loading from cache
  - Installing symfony/console (v2.8.20): Loading from cache
  - Installing psy/psysh (v0.8.3): Loading from cache
  - Installing symfony/expression-language (v2.8.20): Loading from cache
  - Installing doctrine/lexer (v1.0.1): Loading from cache
  - Installing doctrine/annotations (v1.2.7): Loading from cache
  - Installing gabordemooij/redbean (v4.3.4): Loading from cache
  - Installing psr/http-message (1.0.1): Loading from cache
  - Installing guzzlehttp/psr7 (1.4.2): Loading from cache
  - Installing guzzlehttp/promises (v1.3.1): Loading from cache
  - Installing guzzlehttp/guzzle (6.2.3): Loading from cache
  - Installing ircmaxell/password-compat (v1.0.4): Loading from cache
  - Installing symfony/polyfill-php55 (v1.3.0): Loading from cache
  - Installing symfony/polyfill-php54 (v1.3.0): Loading from cache
  - Installing symfony/http-foundation (v2.8.20): Loading from cache
  - Installing symfony/dom-crawler (v3.2.8): Loading from cache
  - Installing symfony/css-selector (v2.8.20): Loading from cache
  - Installing doctrine/collections (v1.4.0): Loading from cache
  - Installing symfony/process (v2.8.20): Loading from cache
  - Installing symfony/filesystem (v2.8.20): Loading from cache
  - Installing alchemy/zippy (0.4.3): Loading from cache
  - Installing symfony/finder (v2.8.20): Loading from cache
  - Installing symfony/yaml (v2.8.20): Loading from cache
  - Installing drupal/console-extend-plugin (0.6.0): Loading from cache
  - Installing webflo/drupal-finder (0.2.1): Loading from cache
  - Installing twig/twig (v1.33.2): Loading from cache
  - Installing symfony/translation (v2.8.20): Loading from cache
  - Installing symfony/event-dispatcher (v2.8.20): Loading from cache
  - Installing symfony/dependency-injection (v2.8.20): Loading from cache
  - Installing symfony/config (v2.8.20): Loading from cache
  - Installing stecman/symfony-console-completion (0.7.0): Loading from cache
  - Installing drupal/console-en (1.0.0-rc18): Loading from cache
  - Installing dflydev/placeholder-resolver (v1.0.2): Loading from cache
  - Installing dflydev/dot-access-data (v1.1.0): Loading from cache
  - Installing dflydev/dot-access-configuration (v1.0.1): Loading from cache
  - Installing drupal/console-core (1.0.0-rc18): Loading from cache
  - Installing drupal/console (1.0.0-rc18): Loading from cache
  - Installing zendframework/zend-stdlib (3.1.0): Loading from cache
  - Installing zendframework/zend-escaper (2.5.2): Loading from cache
  - Installing zendframework/zend-feed (2.8.0): Loading from cache
  - Installing zendframework/zend-diactoros (1.4.0): Loading from cache
  - Installing symfony/validator (v2.8.20): Loading from cache
  - Installing symfony/serializer (v2.8.20): Loading from cache
  - Installing symfony/routing (v2.8.20): Loading from cache
  - Installing symfony/psr-http-message-bridge (v1.0.0): Loading from cache
  - Installing symfony/polyfill-iconv (v1.3.0): Loading from cache
  - Installing symfony/http-kernel (v2.8.20): Loading from cache
  - Installing symfony/polyfill-apcu (v1.3.0): Loading from cache
  - Installing symfony/class-loader (v2.8.20): Loading from cache
  - Installing symfony-cmf/routing (1.4.0): Loading from cache
  - Installing stack/builder (v1.0.4): Loading from cache
  - Installing paragonie/random_compat (v2.0.10): Loading from cache
  - Installing masterminds/html5 (2.2.2): Loading from cache
  - Installing egulias/email-validator (1.2.14): Loading from cache
  - Installing easyrdf/easyrdf (0.9.1): Loading from cache
  - Installing doctrine/inflector (v1.1.0): Loading from cache
  - Installing doctrine/cache (v1.6.1): Loading from cache
  - Installing doctrine/common (v2.7.2): Loading from cache
  - Installing composer/semver (1.4.2): Loading from cache
  - Installing asm89/stack-cors (1.1.0): Loading from cache
  - Installing drupal/core (8.3.2): Loading from cache
  - Installing webmozart/assert (1.2.0): Loading from cache
  - Installing webmozart/path-util (2.3.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (2.0.4): Loading from cache
  - Installing pear/console_table (v1.3.0): Loading from cache
  - Installing consolidation/output-formatters (3.1.8): Loading from cache
  - Installing consolidation/annotated-command (2.4.8): Loading from cache
  - Installing drush/drush (8.1.11): Loading from cache
  - Installing symfony/browser-kit (v3.2.8): Loading from cache
  - Installing fabpot/goutte (v3.2.1): Loading from cache
  - Installing behat/mink (v1.7.1): Loading from cache
  - Installing behat/mink-browserkit-driver (v1.3.2): Loading from cache
  - Installing behat/mink-goutte-driver (v1.2.1): Loading from cache
  - Installing jcalderonzumba/gastonjs (v1.0.3): Loading from cache
  - Installing jcalderonzumba/mink-phantomjs-driver (v0.3.3): Loading from cache
  - Installing mikey179/vfsstream (v1.6.4): Loading from cache
  - Installing sebastian/version (1.0.6): Loading from cache
  - Installing sebastian/global-state (1.1.1): Loading from cache
  - Installing sebastian/recursion-context (1.0.5): Loading from cache
  - Installing sebastian/exporter (1.2.2): Loading from cache
  - Installing sebastian/environment (1.3.8): Loading from cache
  - Installing sebastian/diff (1.4.1): Loading from cache
  - Installing sebastian/comparator (1.2.4): Loading from cache
  - Installing doctrine/instantiator (1.0.5): Loading from cache
  - Installing phpunit/php-text-template (1.2.1): Loading from cache
  - Installing phpunit/phpunit-mock-objects (2.3.8): Loading from cache
  - Installing phpunit/php-timer (1.0.9): Loading from cache
  - Installing phpunit/php-file-iterator (1.4.2): Loading from cache
  - Installing phpunit/php-token-stream (1.4.11): Loading from cache
  - Installing phpunit/php-code-coverage (2.2.4): Loading from cache
  - Installing phpspec/prophecy (v1.7.0): Loading from cache
  - Installing phpunit/phpunit (4.8.35): Loading from cache
symfony/var-dumper suggests installing ext-symfony_debug ()
psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :))
psy/psysh suggests installing ext-posix (If you have PCNTL, you'll want the POSIX extension as well.)
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
alchemy/zippy suggests installing guzzle/guzzle (To use the GuzzleTeleporter with Guzzle 3)
symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (Generate service proxies to lazy load them)
zendframework/zend-feed suggests installing zendframework/zend-cache (Zend\Cache component, for optionally caching feeds between requests)
zendframework/zend-feed suggests installing zendframework/zend-db (Zend\Db component, for use with PubSubHubbub)
zendframework/zend-feed suggests installing zendframework/zend-http (Zend\Http for PubSubHubbub, and optionally for use with Zend\Feed\Reader)
zendframework/zend-feed suggests installing zendframework/zend-servicemanager (Zend\ServiceManager component, for easily extending ExtensionManager implementations)
zendframework/zend-feed suggests installing zendframework/zend-validator (Zend\Validator component, for validating email addresses used in Atom feeds and entries ehen using the Writer subcomponent)
symfony/validator suggests installing symfony/intl ()
symfony/validator suggests installing symfony/property-access (For using the 2.4 Validator API)
symfony/serializer suggests installing symfony/property-access (For using the ObjectNormalizer.)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
easyrdf/easyrdf suggests installing ml/json-ld (~1.0)
phpdocumentor/reflection-docblock suggests installing dflydev/markdown (~1.0)
phpdocumentor/reflection-docblock suggests installing erusev/parsedown (~1.0)
pear/console_table suggests installing pear/Console_Color2 (>=0.1.2)
drush/drush suggests installing ext-pcntl (*)
drush/drush suggests installing drush/config-extra (Provides configuration workflow commands, such as config-merge.)
behat/mink suggests installing behat/mink-selenium2-driver (slow, but JS-enabled driver for any app (requires Selenium2))
behat/mink suggests installing behat/mink-zombie-driver (fast and JS-enabled headless driver for any app (requires node.js))
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Writing lock file
Generating autoload files
Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)Downloading (connecting...)���������������������������Downloading (0%)           ���������������������������Downloading (100%)> DrupalProject\composer\ScriptHandler::createRequiredFiles
Create a sites/default/settings.php file with chmod 0666
Create a sites/default/files directory with chmod 0777

@qupro
Copy link

qupro commented Jun 25, 2017

@webflo same issue than #274 (comment)

I have manually created ../config/sync directories but when I try to access to site after installation ends it results in a "File not found" blank page.

Then checking directories and files owner I see that all of them have my user as user and group (no "www-data" group), all files permissions are 0644 and all directories are 0755.

To test if It was a permissions/owner issue I have changed everything too less restrictive option (0777 and user:www-data) but error "File not found" continue.

Nginx error log says:

2017/06/25 19:15:47 [error] 9160#0: *627 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: xx.xx.xx.xxx, server: xxx, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxx

Command used for installing :

composer create-project drupal-composer/drupal-project:8.x-dev test --stability dev --no-interaction

Enviroment:
3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 x86_64 GNU/Linux
PHP 5.6.30-0+deb8u1 (cli)
Composer version 1.3.0
Drupal 8.3.4

@qupro
Copy link

qupro commented Jul 17, 2017

Sorry previous Nginx error commented in #274 (comment) was not related with ../config/sync. If It helps someone solution It's explained in 2.

  1. Regarding config/sync issue:

After manually create config and sync directories, drupal "report status" warnings about ../config/sync folder was not writeable and in "Recent log messages" warnings about "Couldn't write .htaccess file. Please create a .htaccess file in your ../config/sync directory [...]" so I changed ../config permisions to 775 (644 before) and owner and group to [myuser]:www-data ([myuser]:[myuser] before). Not sure if it's is the best option but none combination of 755/775 with [myuser]/[www-data] works for me except this.

  1. To solve Nginx error:

I set correctly the corresponding nginx directive for the site.
In /etc/nginx/sites-availiable/[example] , root was pointing to the composer project folder (var/www/example) instead to drupal folder (var/www/example/web):

server {
	#listen	80;
	server_tokens off;
    	server_name example.domain.es;

	root /var/www/example/web;

Trying to find the solution I changed more params in fastCGI_params section of nginx directive and in other related files like etc/php5/fpm/pool.d/example.conf, although It seems not be related to the config/sync error solution.

@qupro
Copy link

qupro commented Nov 19, 2017

Explanation and solution here https://drupal.stackexchange.com/a/233459/55010

@xvendo
Copy link

xvendo commented Jan 15, 2018

Hi @webflo would It be possible to add the recommended and needed permission setting to the readme.md? Would be very helpful for people and for you, dealing with all that issues.

@xvendo
Copy link

xvendo commented Jan 15, 2018

To all with permission erros. Please follow this guide and never symlink your home/project-dir!
https://askubuntu.com/questions/767504/permissions-problems-with-var-www-html-and-my-own-home-directory-for-a-website/767534#767534

@wikak
Copy link

wikak commented Jul 12, 2018

In your settings.php file :

  • Comment line 788 : #$config_directories['sync'] = '../config/sync';.
  • Add this line at the bottom $config_directories = array(
    CONFIG_SYNC_DIRECTORY => 'sites/default/filess/config_HASH',
    );

More information here

@hansfn
Copy link
Contributor

hansfn commented Jan 23, 2022

Interesting - this is still a problem today. Very annoying. My PR 415 didn't get much response.

@AlexSkrypnyk
Copy link
Collaborator

This pull request/issue has been inactive for over a year and is being closed due to inactivity. If the issue still persists or the contribution is still relevant, please feel free to reopen it or create a new one.

Thank you for your understanding and your contributions to the project!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants