summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontends/etc/dserver/dtail.json.tpl4
-rwxr-xr-xfrontends/etc/rc.d/dserver.tpl9
2 files changed, 11 insertions, 2 deletions
diff --git a/frontends/etc/dserver/dtail.json.tpl b/frontends/etc/dserver/dtail.json.tpl
index 6b96fba..634fcca 100644
--- a/frontends/etc/dserver/dtail.json.tpl
+++ b/frontends/etc/dserver/dtail.json.tpl
@@ -90,7 +90,7 @@
},
"Server": {
"SSHBindAddress": "0.0.0.0",
- "HostKeyFile": "cache/ssh_host_key",
+ "HostKeyFile": "/var/db/dserver/ssh_host_key",
"HostKeyBits": 2048,
"MapreduceLogFormat": "default",
"MaxConcurrentCats": 2,
@@ -120,7 +120,7 @@
"LogDir": "/var/log/dserver",
"Logger": "Fout",
"LogRotation": "Daily",
- "CacheDir": "cache",
+ "CacheDir": "/var/run/dserver/cache",
"SSHPort": 2222,
"LogLevel": "Info"
}
diff --git a/frontends/etc/rc.d/dserver.tpl b/frontends/etc/rc.d/dserver.tpl
index aec80f5..ee250aa 100755
--- a/frontends/etc/rc.d/dserver.tpl
+++ b/frontends/etc/rc.d/dserver.tpl
@@ -9,8 +9,17 @@ daemon_user="_dserver"
rc_reload=NO
rc_pre() {
+ # /var/run is wiped by /etc/rc at boot — recreate the runtime dirs and
+ # repopulate the SSH key cache on every service start (a daily cron job
+ # keeps it fresh afterwards). The SSH host key lives in persistent
+ # /var/db/dserver so it survives reboots (a regenerated host key would
+ # break clients' known_hosts).
install -d -o _dserver /var/log/dserver
install -d -o _dserver /var/run/dserver/cache
+ install -d -o _dserver -m 0700 /var/db/dserver
+ if [ -x /usr/local/bin/dserver-update-key-cache.sh ]; then
+ /usr/local/bin/dserver-update-key-cache.sh
+ fi
}
rc_cmd $1 &