diff options
author | Damjan Georgievski <gdamjan@gmail.com> | 2016-07-29 17:47:39 +0200 |
---|---|---|
committer | Damjan Georgievski <gdamjan@gmail.com> | 2016-07-29 17:49:14 +0200 |
commit | 982bdb182329602e1776d704a2662bd2ab09bf98 (patch) | |
tree | e5b642077e3bf473a2af18ad0334d700e85d2c82 | |
parent | 696ff90cbee2489bc9befdcea8332f6390deebbc (diff) | |
download | nextcloud-server-982bdb182329602e1776d704a2662bd2ab09bf98.tar.gz nextcloud-server-982bdb182329602e1776d704a2662bd2ab09bf98.zip |
introduce NEXTCLOUD_CONFIG_DIR env variable (see #300)
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`.
-rw-r--r-- | cron.php | 2 | ||||
-rw-r--r-- | lib/base.php | 4 | ||||
-rw-r--r-- | lib/private/Server.php | 2 |
3 files changed, 5 insertions, 3 deletions
@@ -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; diff --git a/lib/base.php b/lib/base.php index d22490ca5dc..bd6f6cc9706 100644 --- a/lib/base.php +++ b/lib/base.php @@ -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 . diff --git a/lib/private/Server.php b/lib/private/Server.php index fd6ecdc297e..d5808d7f17c 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -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/' ); }); |