]> source.dussan.org Git - nextcloud-server.git/commitdiff
introduce NEXTCLOUD_CONFIG_DIR env variable (see #300)
authorDamjan Georgievski <gdamjan@gmail.com>
Fri, 29 Jul 2016 15:47:39 +0000 (17:47 +0200)
committerDamjan Georgievski <gdamjan@gmail.com>
Fri, 29 Jul 2016 15:49:14 +0000 (17:49 +0200)
nextcloud by default uses the `/config/` directory in the source/application tree for its config file(s).
with this commit that directory can be overridden by the `NEXTCLOUD_CONFIG_DIR` environment variable.

in uwsgi, you would use the option `--env "NEXTCLOUD_CONFIG_DIR=/tmp/nx-config/"`
in apache `SetENV …`
and the cli command can be run with: `NEXTCLOUD_CONFIG_DIR=/tmp/nx-config ./occ` (or just use `export` once in the
shell).

NEXTCLOUD_CONFIG_DIR can be supplied with or without the trailing slash (`/`), but in all cases `$configDir` will have
it automatically added if needed.

The other changes are several occurrences of `OC::$SERVERROOT . '/config'` to `OC::$configDir`.

cron.php
lib/base.php
lib/private/Server.php

index b1dedaa84b2308d3f93aeee12dd3787995a1e3a8..4248157b4c86b3860e5f82f7e168ff8ef0a670cb 100644 (file)
--- a/cron.php
+++ b/cron.php
@@ -90,7 +90,7 @@ try {
                        exit(0);
                }
                $user = posix_getpwuid(posix_getuid());
-               $configUser = posix_getpwuid(fileowner(OC::$SERVERROOT . '/config/config.php'));
+               $configUser = posix_getpwuid(fileowner(OC::$configDir . 'config.php'));
                if ($user['name'] !== $configUser['name']) {
                        echo "Console has to be executed with the same user as the web server is operated" . PHP_EOL;
                        echo "Current user: " . $user['name'] . PHP_EOL;
index d22490ca5dc7e96c2f1d3641e8cfb9de734c0db4..bd6f6cc9706fe455d1e673436a0b61c5b2091b3f 100644 (file)
@@ -123,6 +123,8 @@ class OC {
                        self::$configDir = OC::$SERVERROOT . '/' . PHPUNIT_CONFIG_DIR . '/';
                } elseif(defined('PHPUNIT_RUN') and PHPUNIT_RUN and is_dir(OC::$SERVERROOT . '/tests/config/')) {
                        self::$configDir = OC::$SERVERROOT . '/tests/config/';
+               } elseif($dir = getenv('NEXTCLOUD_CONFIG_DIR')) {
+                       self::$configDir = rtrim($dir, '/') . '/';
                } else {
                        self::$configDir = OC::$SERVERROOT . '/config/';
                }
@@ -216,7 +218,7 @@ class OC {
                // set the right include path
                set_include_path(
                        OC::$SERVERROOT . '/lib/private' . PATH_SEPARATOR .
-                       OC::$SERVERROOT . '/config' . PATH_SEPARATOR .
+                       self::$configDir . PATH_SEPARATOR .
                        OC::$SERVERROOT . '/3rdparty' . PATH_SEPARATOR .
                        implode(PATH_SEPARATOR, $paths) . PATH_SEPARATOR .
                        get_include_path() . PATH_SEPARATOR .
index fd6ecdc297ef6893aab2854ecf5160e653a7befc..d5808d7f17cafec723c30864c05d65e62ddc7e3a 100644 (file)
@@ -616,7 +616,7 @@ class Server extends ServerContainer implements IServerContainer {
                $this->registerService('MimeTypeDetector', function (Server $c) {
                        return new \OC\Files\Type\Detection(
                                $c->getURLGenerator(),
-                               \OC::$SERVERROOT . '/config/',
+                               \OC::$configDir,
                                \OC::$SERVERROOT . '/resources/config/'
                        );
                });