summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamjan Georgievski <gdamjan@gmail.com>2016-07-29 17:47:39 +0200
committerDamjan Georgievski <gdamjan@gmail.com>2016-07-29 17:49:14 +0200
commit982bdb182329602e1776d704a2662bd2ab09bf98 (patch)
treee5b642077e3bf473a2af18ad0334d700e85d2c82
parent696ff90cbee2489bc9befdcea8332f6390deebbc (diff)
downloadnextcloud-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.php2
-rw-r--r--lib/base.php4
-rw-r--r--lib/private/Server.php2
3 files changed, 5 insertions, 3 deletions
diff --git a/cron.php b/cron.php
index b1dedaa84b2..4248157b4c8 100644
--- 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;
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/'
);
});