summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2020-12-17 15:08:14 +0100
committerSimon Rettberg2020-12-17 15:08:14 +0100
commitb5c3eb9e01b09367935f558a57633b68a65a1a21 (patch)
treeb6c322f3089192124779b9d7a29c8365eb39533f
parent[SSPS] slx-cert: Put hostname in SAN too, chromium requires this (diff)
downloadsetup-scripts-b5c3eb9e01b09367935f558a57633b68a65a1a21.tar.gz
setup-scripts-b5c3eb9e01b09367935f558a57633b68a65a1a21.tar.xz
setup-scripts-b5c3eb9e01b09367935f558a57633b68a65a1a21.zip
[SSPS] Refactor static_files: Submodules with tree
Add submodules (aka directories) to static_files, named according to what component they are for. Add function "install_files" to copy the contents of one of those modules to the root directory. This should make the resulting setup more obvious and require less manual copying of files everywhere.
-rw-r--r--satellit_installer/includes/10-configurations.inc108
-rw-r--r--satellit_installer/includes/10-install_packages.inc10
-rw-r--r--satellit_installer/includes/10-script_dropper.inc4
-rw-r--r--satellit_installer/includes/10-sudo_config.inc22
-rw-r--r--satellit_installer/includes/20-setup_samba.inc35
-rw-r--r--satellit_installer/includes/50-copyscripts.inc35
-rw-r--r--satellit_installer/includes/50-install_dnbd3-server.inc30
-rw-r--r--satellit_installer/includes/50-install_ldadp.inc13
-rw-r--r--satellit_installer/includes/50-install_taskmanager.inc18
-rw-r--r--satellit_installer/includes/60-setup_logging.inc6
-rw-r--r--satellit_installer/includes/90-patch_slxadmin.inc34
-rw-r--r--satellit_installer/includes/90-set_directory_permissions.inc13
-rwxr-xr-xsatellit_installer/satellit_installer22
-rw-r--r--satellit_installer/static_files/dnbd3/etc/dnbd3-server/alt-servers (renamed from satellit_installer/static_files/dnbd3/alt-servers)0
-rw-r--r--satellit_installer/static_files/dnbd3/etc/dnbd3-server/rpc.acl (renamed from satellit_installer/static_files/dnbd3/rpc.acl)0
-rw-r--r--satellit_installer/static_files/dnbd3/etc/dnbd3-server/server.conf (renamed from satellit_installer/static_files/dnbd3/server.conf)0
-rw-r--r--satellit_installer/static_files/dnbd3/etc/systemd/system/dnbd3-master-proxy.service (renamed from satellit_installer/static_files/dnbd3/dnbd3-master-proxy.service)0
-rw-r--r--satellit_installer/static_files/dnbd3/etc/systemd/system/dnbd3-server.service (renamed from satellit_installer/static_files/dnbd3/dnbd3-server.service)0
l---------satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-master-proxy.service1
l---------satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-server.service1
-rw-r--r--satellit_installer/static_files/finish_setup_public_key.pem14
-rw-r--r--satellit_installer/static_files/ldadp/etc/systemd/system/ldadp@.service10
-rw-r--r--satellit_installer/static_files/lighttpd/etc/lighttpd/lighttpd.conf (renamed from satellit_installer/static_files/lighttpd.conf)0
-rw-r--r--satellit_installer/static_files/lighttpd/etc/systemd/system/lighttpd.service.d/10-dynamic_php_children.conf2
-rwxr-xr-xsatellit_installer/static_files/lighttpd/opt/openslx/slx-cert (renamed from satellit_installer/static_files/slx-cert)0
-rwxr-xr-xsatellit_installer/static_files/lighttpd/usr/local/sbin/patch_lighttpd_phpchildren (renamed from satellit_installer/static_files/patch_lighttpd_phpchildren)0
-rwxr-xr-xsatellit_installer/static_files/lighttpd/usr/share/lighttpd/auto-ssl.sh (renamed from satellit_installer/static_files/lighttpd-auto-ssl.sh)0
-rwxr-xr-xsatellit_installer/static_files/lighttpd/usr/share/lighttpd/include-conf-d.sh (renamed from satellit_installer/static_files/lighttpd-include-conf-d.sh)0
-rw-r--r--satellit_installer/static_files/logging/80-dmsd.conf2
-rw-r--r--satellit_installer/static_files/logging/90-taskmanager.conf2
-rw-r--r--satellit_installer/static_files/logging/satellite-logrotate14
-rw-r--r--satellit_installer/static_files/slxadmin/etc/cron.d/slx-admin (renamed from satellit_installer/static_files/slxadmin-crontab)0
l---------satellit_installer/static_files/slxadmin/etc/systemd/system/multi-user.target.wants/slxadmin-boot.service1
-rw-r--r--satellit_installer/static_files/slxadmin/etc/systemd/system/slxadmin-boot.service (renamed from satellit_installer/static_files/slxadmin-boot.service)0
-rw-r--r--satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/gpg-key.asc (renamed from satellit_installer/static_files/slxadmin-init/gpg-key.asc)0
-rwxr-xr-xsatellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/init.sh (renamed from satellit_installer/static_files/slxadmin-init/init.sh)0
-rw-r--r--satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php (renamed from satellit_installer/static_files/slxadmin-init/slxadmin-init.php)0
-rwxr-xr-xsatellit_installer/static_files/slxadmin/opt/openslx/slxadmin-bootscript (renamed from satellit_installer/static_files/slxadmin-bootscript)0
-rwxr-xr-xsatellit_installer/static_files/slxadmin/opt/openslx/slxadmin-cronscript (renamed from satellit_installer/static_files/slxadmin-cronscript)0
-rw-r--r--satellit_installer/static_files/slxadmin/srv/openslx/www/index.php3
-rw-r--r--satellit_installer/static_files/slxadmin/srv/openslx/www/slx-admin/config.php (renamed from satellit_installer/static_files/slxadmin-config.php)0
-rw-r--r--satellit_installer/static_files/system/etc/apt/apt.conf.d/02periodic (renamed from satellit_installer/static_files/system/apt-upgrade-conf)0
-rwxr-xr-xsatellit_installer/static_files/system/etc/cron.daily/tmpdelete.sh (renamed from satellit_installer/static_files/tmpdelete.sh)0
-rwxr-xr-x[-rw-r--r--]satellit_installer/static_files/system/root/installer/firstrun_script.sh (renamed from satellit_installer/static_files/firstrun_script.sh)0
-rwxr-xr-x[-rw-r--r--]satellit_installer/static_files/system/root/installer/rclocal_script.sh (renamed from satellit_installer/static_files/rclocal_script.sh)0
-rwxr-xr-xsatellit_installer/static_files/system/usr/local/bin/finalize (renamed from satellit_installer/static_files/finalize)0
-rwxr-xr-xsatellit_installer/static_files/system/usr/local/bin/slxlog (renamed from satellit_installer/static_files/slxlog)0
-rwxr-xr-xsatellit_installer/static_files/system/usr/local/sbin/netsetup (renamed from satellit_installer/static_files/netsetup)0
-rw-r--r--satellit_installer/static_files/taskmanager/etc/sudoers.d/taskmanager12
l---------satellit_installer/static_files/taskmanager/etc/systemd/system/multi-user.target.wants/taskmanager.service1
-rw-r--r--satellit_installer/static_files/taskmanager/etc/systemd/system/taskmanager.service (renamed from satellit_installer/static_files/taskmanager/taskmanager.service)0
-rw-r--r--satellit_installer/static_files/taskmanager/opt/taskmanager/config/config (renamed from satellit_installer/static_files/taskmanager/config)0
-rw-r--r--satellit_installer/static_files/taskmanager/opt/taskmanager/config/environment (renamed from satellit_installer/static_files/taskmanager/environment)0
l---------satellit_installer/static_files/tftpd/etc/systemd/system/multi-user.target.wants/tftpd-hpa.service1
-rw-r--r--satellit_installer/static_files/tftpd/etc/systemd/system/tftpd-hpa.service (renamed from satellit_installer/static_files/tftpd/tftpd-hpa.service)0
-rw-r--r--satellit_installer/static_files/tftpd/opt/openslx/tftpd-remap (renamed from satellit_installer/static_files/tftpd/tftpd-remap)0
-rw-r--r--satellit_installer/static_files/tftpd/tftpd-hpa6
l---------satellit_installer/static_files/timesync/etc/systemd/system/network-online.target.wants/redneck-timesync.service1
-rw-r--r--satellit_installer/static_files/timesync/etc/systemd/system/redneck-timesync.service (renamed from satellit_installer/static_files/timesync/redneck-timesync.service)0
-rwxr-xr-xsatellit_installer/static_files/timesync/usr/local/sbin/redneck-timesync.sh (renamed from satellit_installer/static_files/timesync/redneck-timesync.sh)0
60 files changed, 110 insertions, 311 deletions
diff --git a/satellit_installer/includes/10-configurations.inc b/satellit_installer/includes/10-configurations.inc
index 5f9312a..19052dc 100644
--- a/satellit_installer/includes/10-configurations.inc
+++ b/satellit_installer/includes/10-configurations.inc
@@ -1,112 +1,62 @@
-patch_tftpd-hpa_config() {
- echo "# Stopping tftpd-hpa server in case it's not managed by inetd... "
- systemctl stop tftpd-hpa || perror "Failed"
- # No sense in patching, we will drop this little entry.
- echo "# Copying tftpd-hpa configuration... "
- cp -p "$BASEDIR/static_files/tftpd/tftpd-hpa" "/etc/default/tftpd-hpa" || perror "failed"
- echo "# Copying remap file... "
- mkdir -p "/opt/openslx"
- cp -p "$BASEDIR/static_files/tftpd/tftpd-remap" "/opt/openslx/tftpd-remap" || perror "failed"
- # sometimes a tftp stating line remains in /etc/inetd.conf. Let's have a look and kill this interesting line:
- echo -n "# Checking /etc/inetd.conf for a tftp entry... "
+write_tftpd_config() {
+ install_files "tftpd"
+ echo "# Removing any tftpd config from (x)inetd... "
+ # sometimes a tftp stating line remains in /etc/inetd.conf
if [ -f /etc/inetd.conf ]; then
- if [ "$(grep -c "^tftp.*dgram.*udp4" /etc/inetd.conf)" -gt 0 ]; then
- echo -n " found. Deleting... "
+ if grep -q "^tftp.*dgram.*udp4" /etc/inetd.conf; then
+ echo "Deleting /etc/inetd.conf entry for tftpd"
sed -i '/^tftp.*dgram.*udp4/d' /etc/inetd.conf
- echo " ok."
- else
- echo " no entry found."
fi
- else
- echo " no /etc/inetd.conf found."
- fi
-}
-
-copy_tftpd-hpa_service() {
- echo "# Copying tftpd-hpa service file... "
- cp -p "$BASEDIR/static_files/tftpd/tftpd-hpa.service" "/etc/systemd/system/tftpd-hpa.service" || perror "failed"
- echo -n "# Linking tftpd-hpa service file into (/etc/systemd/system/)multi-user.target.wants... "
- ln -s ../tftpd-hpa.service /etc/systemd/system/multi-user.target.wants/tftpd-hpa.service \
- && echo "ok." || perror "Could not link tftpd-hpa service file into multiuser target!"
+ fi
+ for i in /etc/xinetd.d/*; do
+ [ -f "$i" ] || continue
+ grep -q 'service.*tftp' "$i" || continue
+ echo "Deleting $i"
+ rm -f -- "$i"
+ done
}
patch_lighttpd_config() {
local mod file
echo "# Customizing lighttpd config"
- cp -p "$BASEDIR/static_files/lighttpd.conf" /etc/lighttpd/lighttpd.conf || perror "failed."
- cp -p "$BASEDIR/static_files/lighttpd-auto-ssl.sh" /usr/share/lighttpd/auto-ssl.sh || perror "failed."
- cp -p "$BASEDIR/static_files/lighttpd-include-conf-d.sh" /usr/share/lighttpd/include-conf-d.sh || perror "failed."
- cp -a "$BASEDIR/static_files/patch_lighttpd_phpchildren" /usr/local/sbin/patch_lighttpd_phpchildren || perror "failed."
- mkdir -p /opt/openslx
- cp -a "$BASEDIR/static_files/slx-cert" /opt/openslx/slx-cert || perror "failed."
- chmod +x /usr/share/lighttpd/auto-ssl.sh || perror "failed"
- chmod +x /usr/share/lighttpd/include-conf-d.sh || perror "failed"
- chmod +x /usr/local/sbin/patch_lighttpd_phpchildren || perror "failed"
for mod in fastcgi fastcgi-php; do
file=$(echo /etc/lighttpd/conf-available/??-${mod}.conf) # expand ??
[ -f "$file" ] || perror "Could not find path for $mod"
file=$(basename "$file")
ln -sf "../conf-available/$file" "/etc/lighttpd/conf-enabled/$file" || perror "Could not enable module $mod"
done
-
- # Increase php threads (set dynamically)
- mkdir -p /etc/systemd/system/lighttpd.service.d || perror "Could not create /etc/systemd/system/lighttpd.service.d"
- cat > "/etc/systemd/system/lighttpd.service.d/10-dynamic_php_children.conf" <<-HDOC
- [Service]
- ExecStartPre=/usr/local/sbin/patch_lighttpd_phpchildren
- HDOC
mkdir -p "$WWWDIR" || perror "Could not create www-dir ($WWWDIR)"
+ install_files "lighttpd"
}
patch_php_config() {
- echo -n "# Patching php configuration... "
-
- if [ $(ls -d /etc/php/*/|wc -l) -eq 1 ]; then
- local PHPINIFILE="$(ls -d /etc/php/*/)/cgi/php.ini"
- else
- pwarning "No php ini file dir found - or more than one."
- fi
-
- if [ -f "$PHPINIFILE" ]; then
- grep -E "^\s*upload_max_filesize" "$PHPINIFILE" # 2>/dev/null 1>&2
-
- if [ "$?" -eq 0 ]; then
- echo -n "upload_max_filesize entry found; patching to 100M... "
- sed -i.sik -e '/^\s*upload_max_filesize/c\upload_max_filesize = 100M' "$PHPINIFILE"
+ local PHPINIFILE
+ echo "# Patching php configuration... "
+ # TODO Throw snippet into conf.d/ instead
+ for PHPINIFILE in /etc/php*/cgi/php.ini /etc/php/*/cgi/php.ini; do
+ [ -f "$PHPINIFILE" ] || continue
+ if grep -q -E "^\s*upload_max_filesize" "$PHPINIFILE"; then
+ sed -i -e '/^\s*upload_max_filesize/c\upload_max_filesize = 100M' "$PHPINIFILE" || pwarning "Could not increase PHP upload limit"
else
- echo -n "no upload_max_filesize entry found; appending 100M entry... "
- echo "upload_max_filesize = 100M" >> "$PHPINIFILE"
+ echo "upload_max_filesize = 100M" >> "$PHPINIFILE" || pwarning "Could not increase PHP upload limit"
fi
if grep -q -E '^\s*post_max_size' "$PHPINIFILE"; then
- sed -i -e '/^\s*post_max_size/c\post_max_size = 100M' "$PHPINIFILE" || pwarning "Could not increase PHP upload limit"
+ sed -i -e '/^\s*post_max_size/c\post_max_size = 100M' "$PHPINIFILE" || pwarning "Could not increase PHP POST limit"
else
- echo "post_max_size = 100M" >> "$PHPINIFILE" || pwarning "Could not increase PHP upload limit"
+ echo "post_max_size = 100M" >> "$PHPINIFILE" || pwarning "Could not increase PHP POST limit"
fi
-
- echo "ok."
- service lighttpd reload
- else
- echo "php ini file (${PHPINIFILE}) not found."
- pwarning "Could not patch php ini file. Please check manually and make sure upload_max_filesize is appropriately set (50-100MB)."
- fi
+ done
}
config_nfs() {
- echo -n "# Patching /etc/exports for NFS... "
- if [ $(grep -c "/srv/openslx/nfs" /etc/exports) -gt 0 ]; then
- echo -n "NFS entry already there; doing nothing."
+ echo "# Patching /etc/exports for NFS and creating directories... "
+ if grep -q "/srv/openslx/nfs" /etc/exports; then
+ echo "NFS entry already there; doing nothing."
else
echo '/srv/openslx/nfs *(ro,async,insecure,no_root_squash,no_subtree_check)' >> /etc/exports
- echo "ok."
fi
mkdir -p /srv/openslx/nfs 2>/dev/null
- chown dmsd:images /srv/openslx/nfs
+ chown dmsd:images /srv/openslx/nfs || perror "Setting owner of /srv/openslx/nfs failed"
chmod 775 /srv/openslx/nfs
}
-
-write_apt_config() {
- echo -n "# Configuring apt unattended/periodic updates... "
- cp "$BASEDIR/static_files/system/apt-upgrade-conf" "/etc/apt/apt.conf.d/02periodic" && echo " done." || pwarning "failed."
-}
-
diff --git a/satellit_installer/includes/10-install_packages.inc b/satellit_installer/includes/10-install_packages.inc
index 5a64b0e..1892ec2 100644
--- a/satellit_installer/includes/10-install_packages.inc
+++ b/satellit_installer/includes/10-install_packages.inc
@@ -51,3 +51,13 @@ install_packages() {
esac
}
+# install_files <module_name>
+install_files() {
+ local dir="${BASEDIR}/static_files/${1}"
+ [ -d "$dir" ] || perror "static files for module $1 not found"
+ tar -cpP --owner=root --group=root --transform "s,^\(./\)*${dir}/*,," "$dir" | tar -xp -C /
+ local ps=( ${PIPESTATUS[*]} )
+ [ "${ps[0]}" != 0 ] && perror "tarcopy: Read failed"
+ [ "${ps[1]}" != 0 ] && perror "tarcopy: Write failed"
+ return 0
+}
diff --git a/satellit_installer/includes/10-script_dropper.inc b/satellit_installer/includes/10-script_dropper.inc
index 512b4cf..efae442 100644
--- a/satellit_installer/includes/10-script_dropper.inc
+++ b/satellit_installer/includes/10-script_dropper.inc
@@ -12,9 +12,6 @@ drop_script() {
# So we know all the paths and the mysql password
cat "${BASEDIR}/includes/00-dirs.inc" "${CONFIGDIR}/config" > "/root/installer/config"
chmod 0600 /root/installer/config
- cp "${BASEDIR}/static_files/firstrun_script.sh" "${BASEDIR}/static_files/rclocal_script.sh" /root/installer/
- chmod u+x /root/installer/firstrun_script.sh /root/installer/rclocal_script.sh
-
}
drop_keychanger_rclocal() {
@@ -33,6 +30,7 @@ drop_keychanger_rclocal() {
HIERDOK
chmod +x /etc/rc.local
fi
+ # WTF? Why forking?
cat > /etc/systemd/system/rc-local.service <<-DORTDOK
[Unit]
Description=/etc/rc.local Compatibility
diff --git a/satellit_installer/includes/10-sudo_config.inc b/satellit_installer/includes/10-sudo_config.inc
deleted file mode 100644
index 8b3b369..0000000
--- a/satellit_installer/includes/10-sudo_config.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-sudo_config() {
-
- local TM_SUDO_CONF="/etc/sudoers.d/taskmanager"
- [ -n "$1" ] && TM_SUDO_CONF="$1"
-
- cat > "${TM_SUDO_CONF}" <<-EOF
- # Sudoers configuration for user 'taskmanager'
- # Auto-generated on: $(date)
- taskmanager ALL=(ldadp) NOPASSWD: /opt/taskmanager/scripts/ldadp-launcher
- taskmanager ALL=(root) NOPASSWD: /sbin/reboot
- taskmanager ALL=(root) NOPASSWD: /bin/netstat
- taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/systemctl
- taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/mount-store
- taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/system-backup
- taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/system-restore
- taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/install-https
- taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/ldadp-setperms
- ALL ALL=(www-data) NOPASSWD: /usr/local/bin/slxlog
- Defaults env_keep += "TM_*"
- EOF
- chmod 0440 "${TM_SUDO_CONF}" || perror "# Could not set perms of '${TM_SUDO_CONF}' to 0440!"
-}
diff --git a/satellit_installer/includes/20-setup_samba.inc b/satellit_installer/includes/20-setup_samba.inc
deleted file mode 100644
index 13a143d..0000000
--- a/satellit_installer/includes/20-setup_samba.inc
+++ /dev/null
@@ -1,35 +0,0 @@
-setup_sambauser() {
- echo -n "# Setting up samba user $1..."
- echo -ne "$2\n$2\n" | smbpasswd -a -s -U "$1" 2>/dev/null # $1: User, $2: Password
- ERR=$?
- if [ "$ERR" -ne 0 ]; then
- echo
- echo "# WARNING: Could not enter password for samba user $1."
- echo "# Please remember to set a password for user $1 by hand."
- else
- echo " ok."
- fi
-}
-
-setup_sambaconfig() {
-
- echo -n "# Writing samba config..."
- if [ $(grep -c "\[imageshare\]" /etc/samba/smb.conf) -gt 0 ]; then
- echo " config already written; doing nothing."
- else
- cat >>/etc/samba/smb.conf<<-EOF
-
- [imageshare]
- path = /srv/openslx/nfs
- comment = VM image share
- writable = yes
- valid users = vmware
- EOF
- echo "ok."
- fi
-}
-
-setup_samba() {
- setup_sambauser vmware openslx-ng
- setup_sambaconfig
-}
diff --git a/satellit_installer/includes/50-copyscripts.inc b/satellit_installer/includes/50-copyscripts.inc
index 687b1a2..aee3944 100644
--- a/satellit_installer/includes/50-copyscripts.inc
+++ b/satellit_installer/includes/50-copyscripts.inc
@@ -1,36 +1,9 @@
-install_tmpdelete() {
- echo "# Copying tmpdelete.sh to /etc/cron.daily... "
- cp "$BASEDIR/static_files/tmpdelete.sh" /etc/cron.daily/tmpdelete
- chmod +x /etc/cron.daily/tmpdelete
-}
-
-install_config_static_ip() {
- echo -n "# Copying config_static_ip to /usr/local/sbin... "
- mkdir -p /usr/local/sbin 2>/dev/null # Just for being on the safe side.
- cp "$BASEDIR/static_files/netsetup" /usr/local/sbin
- echo "ok."
-}
-
-install_slxlog() {
- mkdir -p "/usr/local/bin"
- cp -a "$BASEDIR/static_files/slxlog" "/usr/local/bin/" || perror "Could not install slxlog"
- chown root:root "/usr/local/bin/slxlog"
-}
-
-install_finalize() {
- mkdir -p "/usr/local/bin"
- cp -a "$BASEDIR/static_files/finalize" "/usr/local/bin/" || perror "Could not install finalize script"
- chown root:root "/usr/local/bin/finalize"
+install_system_scripts() {
+ # Different stuff like slxlog, finalize, firstrun, netsetup
+ install_files "system"
}
install_timesync() {
- mkdir -p "/usr/local/sbin" "/etc/systemd/system/network.target.wants" \
- || perror "install_timesync: mkdir failed"
- install -m 0755 -o root "$BASEDIR/static_files/timesync/redneck-timesync.sh" "/usr/local/sbin/" \
- || perror "Could not copy redneck-timesync.sh"
- install -m 0644 -o root "$BASEDIR/static_files/timesync/redneck-timesync.service" "/etc/systemd/system/" \
- || perror "Could not copy redneck-timesync.service"
- ln -sf "../redneck-timesync.service" "/etc/systemd/system/network.target.wants/redneck-timesync.service" \
- || perror "Could not symlink redneck-timesync.service from /etc/systemd/system/network.target.wants/redneck-timesync.service"
+ install_files "timesync"
}
diff --git a/satellit_installer/includes/50-install_dnbd3-server.inc b/satellit_installer/includes/50-install_dnbd3-server.inc
index 8e69db2..2b8e8fa 100644
--- a/satellit_installer/includes/50-install_dnbd3-server.inc
+++ b/satellit_installer/includes/50-install_dnbd3-server.inc
@@ -1,17 +1,3 @@
-install_dnbd3-server_service() {
- echo "# copying dnbd3-server service file..."
- cp -p "$BASEDIR/static_files/dnbd3/dnbd3-server.service" /etc/systemd/system/dnbd3-server.service || perror "failed."
- echo "# Linking dnbd3-server service file into (/etc/systemd/system/)multi-user.target.wants..."
- ln -s /etc/systemd/system/dnbd3-server.service /etc/systemd/system/multi-user.target.wants/dnbd3-server.service \
- || perror "Could not link dnbd3-server service file into multiuser target!"
- # For accessing stage4 on master server via SSL tunnel
- echo "# copying dnbd3-master-proxy service file..."
- cp -p "$BASEDIR/static_files/dnbd3/dnbd3-master-proxy.service" /etc/systemd/system/dnbd3-master-proxy.service || perror "failed."
- echo "# Linking dnbd3-master-proxy service file into (/etc/systemd/system/)multi-user.target.wants..."
- ln -s /etc/systemd/system/dnbd3-master-proxy.service /etc/systemd/system/multi-user.target.wants/dnbd3-master-proxy.service \
- || perror "Could not link dnbd3-master-proxy service file into multiuser target!"
-}
-
install_dnbd3-server() {
# $1: directory to install dnbd3-server to
echo "# Installing dnbd3 server... "
@@ -21,21 +7,13 @@ install_dnbd3-server() {
git clone https://git.openslx.org/dnbd3.git "$BASEDIR/tmp/dnbd3" || perror "Could not clone dnbd3"
mkdir "$BASEDIR/tmp/dnbd3/build"
cd "$BASEDIR/tmp/dnbd3/build" || perror "Build dir == where?"
- cmake -DBUILD_FUSE_CLIENT=OFF -DBUILD_KERNEL_MODULE=OFF -DBUILD_STRESSTEST=OFF -DBUILD_SERVER=ON -DCMAKE_BUILD_TYPE=Release .. || perror "cmake failed"
+ cmake -DDNBD3_CLIENT_FUSE=OFF -DDNBD3_KERNEL_MODULE=OFF -DDNBD3_SERVER=ON -DCMAKE_BUILD_TYPE=Release .. || perror "cmake failed"
make dnbd3-server || perror "Building dnbd3-server failed"
- cp dnbd3-server "$1/" || perror "Could not copy dnbd3-server binary to $1"
+ cp src/server/dnbd3-server "$1/" || perror "Could not copy dnbd3-server binary to $1"
cd - &>/dev/null
- # Copy config files
- mkdir -p /etc/dnbd3-server || perror "mkdir /etc/dnbd3-server failed"
- for i in rpc.acl server.conf alt-servers; do
- cp -p "$BASEDIR/static_files/dnbd3/$i" "/etc/dnbd3-server/$i" \
- || perror "Could not copy $i to /etc/dnbd3-server"
- chmod 644 "/etc/dnbd3-server/$i"
- done
- chown -R root:root "$1"
-
- install_dnbd3-server_service "/etc/systemd/system/"
+ # Install static files
+ install_files "dnbd3"
echo "# dnbd3-server ok."
}
diff --git a/satellit_installer/includes/50-install_ldadp.inc b/satellit_installer/includes/50-install_ldadp.inc
index 9dc4847..6fe1e69 100644
--- a/satellit_installer/includes/50-install_ldadp.inc
+++ b/satellit_installer/includes/50-install_ldadp.inc
@@ -10,6 +10,19 @@ install_ldadp() {
cp ldadp "$DIR" || perror "Could not copy ldadp binary to $DIR"
cd .. || perror "Could not cd .."
rm -r ldadptmp # Should we care if fail?
+
+ # Static files
+ install_files "ldadp"
+
+ # ldadp dirs
+ mkdir -p "$LDADPDIR" "$LDADPDIR/configs" || perror "Creating ldadp directories failed"
+ chmod 755 "$LDADPDIR"
+ chown root:root "$LDADPDIR" # Prob. unnecessary, but to be sure.
+ chmod 750 "$LDADPDIR/configs"
+ chown -R taskmanager:ldadp "$LDADPDIR/configs"
+ # Make sure we spare the binary
+ chown root:root "$LDADPDIR/ldadp" # ... not the binary.
+
return 0
}
diff --git a/satellit_installer/includes/50-install_taskmanager.inc b/satellit_installer/includes/50-install_taskmanager.inc
index b02cb6b..0c6b70c 100644
--- a/satellit_installer/includes/50-install_taskmanager.inc
+++ b/satellit_installer/includes/50-install_taskmanager.inc
@@ -3,14 +3,12 @@ install_taskmanager() {
echo "# Installing taskmanager... "
mkdir -p "$1"
unpack_tar_gz "$BASEDIR/static_files/taskmanager.tar.gz" "-C $1"
- chown -R root:root "$1"
- install -o root "$BASEDIR/static_files/taskmanager/taskmanager.service" "/etc/systemd/system/taskmanager.service" || perror "Could not install systemd service"
- systemctl daemon-reload
- systemctl enable taskmanager.service || perror "Could not enable taskmanager.service"
- mkdir -m 0750 -p "$TASKMANDIR/config"
- chown root:taskmanager "$TASKMANDIR/config"
- install -o root -g taskmanager -m 0640 \
- "$BASEDIR/static_files/taskmanager/config" \
- "$BASEDIR/static_files/taskmanager/environment" \
- "$TASKMANDIR/config/" || perror "Could not install taskmanager config"
+ chown -R root:root "$1" || perror "chown $1 failed"
+ install_files "taskmanager"
+ chown -R root:taskmanager "$TASKMANDIR/config"
+ chmod 0750 "$TASKMANDIR/config"
+ chmod 0640 \
+ "$TASKMANDIR/config/config" \
+ "$TASKMANDIR/config/environment" \
+ || perror "chmod of taskmanager config failed"
}
diff --git a/satellit_installer/includes/60-setup_logging.inc b/satellit_installer/includes/60-setup_logging.inc
deleted file mode 100644
index 746dd14..0000000
--- a/satellit_installer/includes/60-setup_logging.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-setup_logging() {
- echo "# Setting up rsyslog logging for dmsd, and taskmanager (to /var/log/xxxx)... "
- cp "$BASEDIR/static_files/logging/80-dmsd.conf" \
- "$BASEDIR/static_files/logging/90-taskmanager.conf" /etc/rsyslog.d/ || perror "Could not add rsyslog rules"
- cp "$BASEDIR/static_files/logging/satellite-logrotate" /etc/logrotate.d/ || perror "Could not add logrotate rules"
-}
diff --git a/satellit_installer/includes/90-patch_slxadmin.inc b/satellit_installer/includes/90-patch_slxadmin.inc
index f254ae7..69afbcb 100644
--- a/satellit_installer/includes/90-patch_slxadmin.inc
+++ b/satellit_installer/includes/90-patch_slxadmin.inc
@@ -1,19 +1,5 @@
-copy_slxadmin_config () {
- # Install config
- cp -p "${BASEDIR}/static_files/slxadmin-config.php" "$WWWDIR/slx-admin/config.php" || perror "slxadmin config.php not found"
- chmod 640 "$WWWDIR/slx-admin/config.php"
- chown root:www-data "$WWWDIR/slx-admin/config.php"
-}
-
# Prepare files and symlinks in slx-admin www dir
patch_slxadmin_dir () {
- # Create redirect for /
- cat > "$WWWDIR/index.php" <<-HIERDOCK
- <?php
- Header('Location: /slx-admin/?do=Main');
- Header('HTTP/1.1 301 Moved permanently');
- HIERDOCK
-
# Create modules directory and link modules from modules-available according to slxadmin module list (SLXADMIN_MODULES):
mkdir -p "$WWWDIR/slx-admin/modules"
cd "$WWWDIR/slx-admin/modules" || perror "Cannot cd to slxadmin/modules"
@@ -22,32 +8,24 @@ patch_slxadmin_dir () {
ln -s "../modules-available/$MOD" "$NAME" || perror "Could not activate module '$MOD' (alias '$NAME')"
done
cd - 1>/dev/null
- # Add system cronjob to execute slx-admin cronjob
- cp "$BASEDIR/static_files/slxadmin-crontab" "/etc/cron.d/slx-admin" || perror "could not install slxadmin crontab"
- cp "$BASEDIR/static_files/slxadmin-cronscript" "/opt/openslx/slxadmin-cronscript" || perror "could not install slxadmin cronscript"
- # Add script and service to trigger init hook
- cp "$BASEDIR/static_files/slxadmin-bootscript" "/opt/openslx/slxadmin-bootscript" || perror "could not install slxadmin bootscript"
- cp "$BASEDIR/static_files/slxadmin-boot.service" "/etc/systemd/system/slxadmin-boot.service" || perror "could not install slxadmin boot service"
- ln -nfs "../slxadmin-boot.service" "/etc/systemd/system/multi-user.target.wants/slxadmin-boot.service" || perror "Could not enable slxadmin boot service"
}
# This needs to be called after mysql users have been created
install_slxadmin_db () {
# Prepare temporary config
- copy_slxadmin_config
- sed -i "s/%MYSQL_OPENSLX_PASS%/${MYSQL_OPENSLX_PASS}/" "$WWWDIR/slx-admin/config.php"
+ install_files "slxadmin"
+ sed -i "s/%MYSQL_OPENSLX_PASS%/${MYSQL_OPENSLX_PASS}/" "$WWWDIR/slx-admin/config.php" || perror "Could not write temporary DB password to config.php"
# Install slx-admin DB
cd "$WWWDIR/slx-admin" || perror "Cannot cd to $WWWDIR"
echo "# Installing slx-admin database"
sudo -n -u www-data ./install-all || perror "Could not install slx-admin database"
cd - 1>/dev/null
- # Copy init script for later use (restoring backup)
- mkdir -p "/opt/openslx/restore.d"
- cp -a "${BASEDIR}/static_files/slxadmin-init" "/opt/openslx/restore.d/" || perror "Could not copy slxadmin-init"
- # Fill database with data we need
+ # Fill database with data we need (run as root)
/opt/openslx/restore.d/slxadmin-init/init.sh || perror "Filling tables with required data failed"
# Reset with original template for firstboot script
- copy_slxadmin_config
+ install_files "slxadmin"
+ chmod 640 "$WWWDIR/slx-admin/config.php"
+ chown root:www-data "$WWWDIR/slx-admin/config.php"
# appending a variable with satellite server build date/time to slx-admin config:
echo "define('CONFIG_FOOTER', 'Build time: $(date "+%Y-%m-%d %H:%m:%S"), $VERSION');" >> "$WWWDIR/slx-admin/config.php"
}
diff --git a/satellit_installer/includes/90-set_directory_permissions.inc b/satellit_installer/includes/90-set_directory_permissions.inc
index 72f3f05..fc211da 100644
--- a/satellit_installer/includes/90-set_directory_permissions.inc
+++ b/satellit_installer/includes/90-set_directory_permissions.inc
@@ -35,19 +35,6 @@ set_directory_permissions() {
chown -R taskmanager "$TFTPDIR"
- # ldadp dirs
- mkdir -p "$LDADPDIR" "$LDADPDIR/configs" "$LDADPDIR/pid" "/var/log/ldadp"
- chmod 755 "$LDADPDIR"
- chown root:root "$LDADPDIR" # Prob. unnecessary, but to be sure.
- chmod 750 "$LDADPDIR/configs"
- chown -R taskmanager:ldadp "$LDADPDIR/configs"
- chmod 755 "$LDADPDIR/pid" 2>/dev/null # if already there
- chown -R ldadp:root "$LDADPDIR/pid"
- chmod 750 "/var/log/ldadp"
- chown -R ldadp:adm "/var/log/ldadp"
- # Make sure we spare the binary
- chown root:root "$LDADPDIR/ldadp" # ... not the binary.
-
mkdir -p -m 755 "$OPENSLXDIR"/proxy 2>/dev/null
chmod 755 "$OPENSLXDIR"/proxy 2>/dev/null # if already there
chown www-data "$OPENSLXDIR"/proxy 2>/dev/null
diff --git a/satellit_installer/satellit_installer b/satellit_installer/satellit_installer
index c113680..d56039b 100755
--- a/satellit_installer/satellit_installer
+++ b/satellit_installer/satellit_installer
@@ -105,16 +105,13 @@ check_users # Meet interesting users with uid>=1000 and kill them.
# user 65534/sync will be ignored.
add_users_groups # Adding necessary users and groups
-sudo_config # Adding sudo config for user taskmanager
-
install_ipxe "$IPXEDIR"
compile_ipxe "$IPXEDIR" &>/tmp/ipxesuccess &
add_mysql_dbs_users # mysql stuff; adding databases and users
patch_mysql_config # adding utf8 entries to /etc/mysql/my.cnf
-patch_tftpd-hpa_config
-copy_tftpd-hpa_service
+write_tftpd_config
patch_lighttpd_config
patch_php_config # This takes a lot of time, so any background stuff before this.
@@ -125,8 +122,6 @@ patch_ldapsearch
patch_java
-write_apt_config
-
install_bwSuite_server "$DMSDDIR"
install_dnbd3-server "$DNBD3DIR"
@@ -144,16 +139,7 @@ install_ldadp "$LDADPDIR" || perror "Could not install ldadp"
# NFS server configuration:
config_nfs
-# Samba configuration: User and share
-# This is out-commented, as not needed recently
-# setup_samba
-
-# Copying a script to configure a static IP
-install_config_static_ip
-
-# Set a cronjob to cron.daily which cleans bwlp-* stuff from /tmp if older than 2 days
-# and images from /srv/openslx/nfs/temp
-install_tmpdelete
+install_system_scripts
# Sometimes a low device timeout has lead to problems. So we set a rule to increase the
# block device timeout (sd*) from 30 to 180 using an udev rule.
@@ -164,14 +150,10 @@ patch_bashrc
# vim config
patch_vim
-setup_logging
-
# This part drops a script and anchors it's execution within root's .profile:
drop_firstrun_script
-install_slxlog
install_timesync # cheap HTTP based timesync on boot
-install_finalize # Script for cleaning some stuff after installation
# Remove translation from menu etc., enable required modules
patch_slxadmin_dir
diff --git a/satellit_installer/static_files/dnbd3/alt-servers b/satellit_installer/static_files/dnbd3/etc/dnbd3-server/alt-servers
index 4bf5a12..4bf5a12 100644
--- a/satellit_installer/static_files/dnbd3/alt-servers
+++ b/satellit_installer/static_files/dnbd3/etc/dnbd3-server/alt-servers
diff --git a/satellit_installer/static_files/dnbd3/rpc.acl b/satellit_installer/static_files/dnbd3/etc/dnbd3-server/rpc.acl
index 576757c..576757c 100644
--- a/satellit_installer/static_files/dnbd3/rpc.acl
+++ b/satellit_installer/static_files/dnbd3/etc/dnbd3-server/rpc.acl
diff --git a/satellit_installer/static_files/dnbd3/server.conf b/satellit_installer/static_files/dnbd3/etc/dnbd3-server/server.conf
index c2327d6..c2327d6 100644
--- a/satellit_installer/static_files/dnbd3/server.conf
+++ b/satellit_installer/static_files/dnbd3/etc/dnbd3-server/server.conf
diff --git a/satellit_installer/static_files/dnbd3/dnbd3-master-proxy.service b/satellit_installer/static_files/dnbd3/etc/systemd/system/dnbd3-master-proxy.service
index 332f64d..332f64d 100644
--- a/satellit_installer/static_files/dnbd3/dnbd3-master-proxy.service
+++ b/satellit_installer/static_files/dnbd3/etc/systemd/system/dnbd3-master-proxy.service
diff --git a/satellit_installer/static_files/dnbd3/dnbd3-server.service b/satellit_installer/static_files/dnbd3/etc/systemd/system/dnbd3-server.service
index c062609..c062609 100644
--- a/satellit_installer/static_files/dnbd3/dnbd3-server.service
+++ b/satellit_installer/static_files/dnbd3/etc/systemd/system/dnbd3-server.service
diff --git a/satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-master-proxy.service b/satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-master-proxy.service
new file mode 120000
index 0000000..013e595
--- /dev/null
+++ b/satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-master-proxy.service
@@ -0,0 +1 @@
+../dnbd3-master-proxy.service \ No newline at end of file
diff --git a/satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-server.service b/satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-server.service
new file mode 120000
index 0000000..b7ffd5b
--- /dev/null
+++ b/satellit_installer/static_files/dnbd3/etc/systemd/system/multi-user.target.wants/dnbd3-server.service
@@ -0,0 +1 @@
+../dnbd3-server.service \ No newline at end of file
diff --git a/satellit_installer/static_files/finish_setup_public_key.pem b/satellit_installer/static_files/finish_setup_public_key.pem
deleted file mode 100644
index bc67f08..0000000
--- a/satellit_installer/static_files/finish_setup_public_key.pem
+++ /dev/null
@@ -1,14 +0,0 @@
------BEGIN PUBLIC KEY-----
-MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfNz/RzI8XfNPhOlvSGU
-retnk8ShsItLNVDqtWf1GOfOG88S0d+wQtH6+GAuZTstfnPukWEsa1WWxUus0/PQ
-9KXKNfy3qpxTmPjHyBQgSlu7Q1hCh20q9IMySf43SmlkKPYtqO66XjtpzJBg0lQD
-lTP0PERJrKlwNhBxkrsyt2YPXzQpKEQrS7QQSRZqJigr/MjWsCe//2uk9a74do6D
-60X26+WXL8XGIeU/Rt8RLqG9i7woD1FummtQTmWhO3tQbok19iSn3MEKhPSMCA5S
-1cAveXxDZBnnVsAbsxwz9NufyWDqcRKtCe3YOWMsNKsuQPu+0elG59deeN0YYo5G
-lGKHgG/R6jXO0NDb3rB6tQCkNAtdwU5NROwH8An6XYH8ORa6rkD+nJRpWA+eD+mr
-Pn28XT4Qs6/BTNROfhT9VIVKXlux03yEgRTubxzLfGOza6T7KBvq30vqZ+oQiC7k
-uHG2SwO3IoxNvWe2e8UiK6OUiOI3hfqiWsyLuf4jsy6k8FtMj6usJXCaM2Ugm3r3
-Lkd64I/yqbSiScJnacHAL2c7JY0yPwxHs8Wsv35WzoDSrXvdjGpro9Eaho7F/45j
-FDov3wP89WyUxRkDZyZ+CCbSoO2Kp0bUR1qyOcAeKWVHf8qV6wAfGOe0SXfhPW6v
-efQQsHnImME3N5Rv4NSFTsMCAwEAAQ==
------END PUBLIC KEY-----
diff --git a/satellit_installer/static_files/ldadp/etc/systemd/system/ldadp@.service b/satellit_installer/static_files/ldadp/etc/systemd/system/ldadp@.service
new file mode 100644
index 0000000..b04118f
--- /dev/null
+++ b/satellit_installer/static_files/ldadp/etc/systemd/system/ldadp@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=LDAP-Proxy for AD/LDAP communication #%i
+ConditionFileNotEmpty=/opt/ldadp/configs/%i.cfg
+
+[Service]
+ExecStart=/opt/ldadp/ldadp -n /opt/ldadp/configs/%i.cfg
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/satellit_installer/static_files/lighttpd.conf b/satellit_installer/static_files/lighttpd/etc/lighttpd/lighttpd.conf
index 0ae7c9d..0ae7c9d 100644
--- a/satellit_installer/static_files/lighttpd.conf
+++ b/satellit_installer/static_files/lighttpd/etc/lighttpd/lighttpd.conf
diff --git a/satellit_installer/static_files/lighttpd/etc/systemd/system/lighttpd.service.d/10-dynamic_php_children.conf b/satellit_installer/static_files/lighttpd/etc/systemd/system/lighttpd.service.d/10-dynamic_php_children.conf
new file mode 100644
index 0000000..ab7d5f4
--- /dev/null
+++ b/satellit_installer/static_files/lighttpd/etc/systemd/system/lighttpd.service.d/10-dynamic_php_children.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecStartPre=/usr/local/sbin/patch_lighttpd_phpchildren
diff --git a/satellit_installer/static_files/slx-cert b/satellit_installer/static_files/lighttpd/opt/openslx/slx-cert
index 3f5cc3e..3f5cc3e 100755
--- a/satellit_installer/static_files/slx-cert
+++ b/satellit_installer/static_files/lighttpd/opt/openslx/slx-cert
diff --git a/satellit_installer/static_files/patch_lighttpd_phpchildren b/satellit_installer/static_files/lighttpd/usr/local/sbin/patch_lighttpd_phpchildren
index a8e44e5..a8e44e5 100755
--- a/satellit_installer/static_files/patch_lighttpd_phpchildren
+++ b/satellit_installer/static_files/lighttpd/usr/local/sbin/patch_lighttpd_phpchildren
diff --git a/satellit_installer/static_files/lighttpd-auto-ssl.sh b/satellit_installer/static_files/lighttpd/usr/share/lighttpd/auto-ssl.sh
index 0f88864..0f88864 100755
--- a/satellit_installer/static_files/lighttpd-auto-ssl.sh
+++ b/satellit_installer/static_files/lighttpd/usr/share/lighttpd/auto-ssl.sh
diff --git a/satellit_installer/static_files/lighttpd-include-conf-d.sh b/satellit_installer/static_files/lighttpd/usr/share/lighttpd/include-conf-d.sh
index a54ed3f..a54ed3f 100755
--- a/satellit_installer/static_files/lighttpd-include-conf-d.sh
+++ b/satellit_installer/static_files/lighttpd/usr/share/lighttpd/include-conf-d.sh
diff --git a/satellit_installer/static_files/logging/80-dmsd.conf b/satellit_installer/static_files/logging/80-dmsd.conf
deleted file mode 100644
index 3554f43..0000000
--- a/satellit_installer/static_files/logging/80-dmsd.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-:app-name, isequal, "dmsd" -/var/log/dmsd.log
-& ~
diff --git a/satellit_installer/static_files/logging/90-taskmanager.conf b/satellit_installer/static_files/logging/90-taskmanager.conf
deleted file mode 100644
index 578d905..0000000
--- a/satellit_installer/static_files/logging/90-taskmanager.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-:app-name, isequal, "taskmanager" -/var/log/taskmanager.log
-& ~
diff --git a/satellit_installer/static_files/logging/satellite-logrotate b/satellit_installer/static_files/logging/satellite-logrotate
deleted file mode 100644
index 2d1d946..0000000
--- a/satellit_installer/static_files/logging/satellite-logrotate
+++ /dev/null
@@ -1,14 +0,0 @@
-/var/log/dmsd.log
-/var/log/taskmanager.log
-{
- rotate 7
- daily
- missingok
- notifempty
- delaycompress
- compress
- postrotate
- invoke-rc.d rsyslog rotate > /dev/null
- endscript
-}
-
diff --git a/satellit_installer/static_files/slxadmin-crontab b/satellit_installer/static_files/slxadmin/etc/cron.d/slx-admin
index c6ae537..c6ae537 100644
--- a/satellit_installer/static_files/slxadmin-crontab
+++ b/satellit_installer/static_files/slxadmin/etc/cron.d/slx-admin
diff --git a/satellit_installer/static_files/slxadmin/etc/systemd/system/multi-user.target.wants/slxadmin-boot.service b/satellit_installer/static_files/slxadmin/etc/systemd/system/multi-user.target.wants/slxadmin-boot.service
new file mode 120000
index 0000000..052f93e
--- /dev/null
+++ b/satellit_installer/static_files/slxadmin/etc/systemd/system/multi-user.target.wants/slxadmin-boot.service
@@ -0,0 +1 @@
+../slxadmin-boot.service \ No newline at end of file
diff --git a/satellit_installer/static_files/slxadmin-boot.service b/satellit_installer/static_files/slxadmin/etc/systemd/system/slxadmin-boot.service
index 21bdf51..21bdf51 100644
--- a/satellit_installer/static_files/slxadmin-boot.service
+++ b/satellit_installer/static_files/slxadmin/etc/systemd/system/slxadmin-boot.service
diff --git a/satellit_installer/static_files/slxadmin-init/gpg-key.asc b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/gpg-key.asc
index abbe024..abbe024 100644
--- a/satellit_installer/static_files/slxadmin-init/gpg-key.asc
+++ b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/gpg-key.asc
diff --git a/satellit_installer/static_files/slxadmin-init/init.sh b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/init.sh
index b48a1bf..b48a1bf 100755
--- a/satellit_installer/static_files/slxadmin-init/init.sh
+++ b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/init.sh
diff --git a/satellit_installer/static_files/slxadmin-init/slxadmin-init.php b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php
index ef3f0bd..ef3f0bd 100644
--- a/satellit_installer/static_files/slxadmin-init/slxadmin-init.php
+++ b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php
diff --git a/satellit_installer/static_files/slxadmin-bootscript b/satellit_installer/static_files/slxadmin/opt/openslx/slxadmin-bootscript
index a959dfd..a959dfd 100755
--- a/satellit_installer/static_files/slxadmin-bootscript
+++ b/satellit_installer/static_files/slxadmin/opt/openslx/slxadmin-bootscript
diff --git a/satellit_installer/static_files/slxadmin-cronscript b/satellit_installer/static_files/slxadmin/opt/openslx/slxadmin-cronscript
index 4ab7a21..4ab7a21 100755
--- a/satellit_installer/static_files/slxadmin-cronscript
+++ b/satellit_installer/static_files/slxadmin/opt/openslx/slxadmin-cronscript
diff --git a/satellit_installer/static_files/slxadmin/srv/openslx/www/index.php b/satellit_installer/static_files/slxadmin/srv/openslx/www/index.php
new file mode 100644
index 0000000..9f21f0b
--- /dev/null
+++ b/satellit_installer/static_files/slxadmin/srv/openslx/www/index.php
@@ -0,0 +1,3 @@
+<?php
+Header('Location: /slx-admin/?do=main');
+Header('HTTP/1.1 301 Moved permanently');
diff --git a/satellit_installer/static_files/slxadmin-config.php b/satellit_installer/static_files/slxadmin/srv/openslx/www/slx-admin/config.php
index a239fef..a239fef 100644
--- a/satellit_installer/static_files/slxadmin-config.php
+++ b/satellit_installer/static_files/slxadmin/srv/openslx/www/slx-admin/config.php
diff --git a/satellit_installer/static_files/system/apt-upgrade-conf b/satellit_installer/static_files/system/etc/apt/apt.conf.d/02periodic
index 8d6d7c8..8d6d7c8 100644
--- a/satellit_installer/static_files/system/apt-upgrade-conf
+++ b/satellit_installer/static_files/system/etc/apt/apt.conf.d/02periodic
diff --git a/satellit_installer/static_files/tmpdelete.sh b/satellit_installer/static_files/system/etc/cron.daily/tmpdelete.sh
index 9e68658..9e68658 100755
--- a/satellit_installer/static_files/tmpdelete.sh
+++ b/satellit_installer/static_files/system/etc/cron.daily/tmpdelete.sh
diff --git a/satellit_installer/static_files/firstrun_script.sh b/satellit_installer/static_files/system/root/installer/firstrun_script.sh
index 343be4d..343be4d 100644..100755
--- a/satellit_installer/static_files/firstrun_script.sh
+++ b/satellit_installer/static_files/system/root/installer/firstrun_script.sh
diff --git a/satellit_installer/static_files/rclocal_script.sh b/satellit_installer/static_files/system/root/installer/rclocal_script.sh
index 07da0ee..07da0ee 100644..100755
--- a/satellit_installer/static_files/rclocal_script.sh
+++ b/satellit_installer/static_files/system/root/installer/rclocal_script.sh
diff --git a/satellit_installer/static_files/finalize b/satellit_installer/static_files/system/usr/local/bin/finalize
index 1be85e2..1be85e2 100755
--- a/satellit_installer/static_files/finalize
+++ b/satellit_installer/static_files/system/usr/local/bin/finalize
diff --git a/satellit_installer/static_files/slxlog b/satellit_installer/static_files/system/usr/local/bin/slxlog
index 55110ae..55110ae 100755
--- a/satellit_installer/static_files/slxlog
+++ b/satellit_installer/static_files/system/usr/local/bin/slxlog
diff --git a/satellit_installer/static_files/netsetup b/satellit_installer/static_files/system/usr/local/sbin/netsetup
index 6616c50..6616c50 100755
--- a/satellit_installer/static_files/netsetup
+++ b/satellit_installer/static_files/system/usr/local/sbin/netsetup
diff --git a/satellit_installer/static_files/taskmanager/etc/sudoers.d/taskmanager b/satellit_installer/static_files/taskmanager/etc/sudoers.d/taskmanager
new file mode 100644
index 0000000..b34bf9f
--- /dev/null
+++ b/satellit_installer/static_files/taskmanager/etc/sudoers.d/taskmanager
@@ -0,0 +1,12 @@
+# Sudoers configuration for user 'taskmanager'
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/ldadp-launcher
+taskmanager ALL=(root) NOPASSWD: /sbin/reboot
+taskmanager ALL=(root) NOPASSWD: /bin/netstat
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/systemctl
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/mount-store
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/system-backup
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/system-restore
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/install-https
+taskmanager ALL=(root) NOPASSWD: /opt/taskmanager/scripts/ldadp-setperms
+ALL ALL=(www-data) NOPASSWD: /usr/local/bin/slxlog
+Defaults env_keep += "TM_*"
diff --git a/satellit_installer/static_files/taskmanager/etc/systemd/system/multi-user.target.wants/taskmanager.service b/satellit_installer/static_files/taskmanager/etc/systemd/system/multi-user.target.wants/taskmanager.service
new file mode 120000
index 0000000..141a3f2
--- /dev/null
+++ b/satellit_installer/static_files/taskmanager/etc/systemd/system/multi-user.target.wants/taskmanager.service
@@ -0,0 +1 @@
+../taskmanager.service \ No newline at end of file
diff --git a/satellit_installer/static_files/taskmanager/taskmanager.service b/satellit_installer/static_files/taskmanager/etc/systemd/system/taskmanager.service
index 97662cb..97662cb 100644
--- a/satellit_installer/static_files/taskmanager/taskmanager.service
+++ b/satellit_installer/static_files/taskmanager/etc/systemd/system/taskmanager.service
diff --git a/satellit_installer/static_files/taskmanager/config b/satellit_installer/static_files/taskmanager/opt/taskmanager/config/config
index 055dd13..055dd13 100644
--- a/satellit_installer/static_files/taskmanager/config
+++ b/satellit_installer/static_files/taskmanager/opt/taskmanager/config/config
diff --git a/satellit_installer/static_files/taskmanager/environment b/satellit_installer/static_files/taskmanager/opt/taskmanager/config/environment
index 7de812c..7de812c 100644
--- a/satellit_installer/static_files/taskmanager/environment
+++ b/satellit_installer/static_files/taskmanager/opt/taskmanager/config/environment
diff --git a/satellit_installer/static_files/tftpd/etc/systemd/system/multi-user.target.wants/tftpd-hpa.service b/satellit_installer/static_files/tftpd/etc/systemd/system/multi-user.target.wants/tftpd-hpa.service
new file mode 120000
index 0000000..c132ef5
--- /dev/null
+++ b/satellit_installer/static_files/tftpd/etc/systemd/system/multi-user.target.wants/tftpd-hpa.service
@@ -0,0 +1 @@
+../tftpd-hpa.service \ No newline at end of file
diff --git a/satellit_installer/static_files/tftpd/tftpd-hpa.service b/satellit_installer/static_files/tftpd/etc/systemd/system/tftpd-hpa.service
index b92254a..b92254a 100644
--- a/satellit_installer/static_files/tftpd/tftpd-hpa.service
+++ b/satellit_installer/static_files/tftpd/etc/systemd/system/tftpd-hpa.service
diff --git a/satellit_installer/static_files/tftpd/tftpd-remap b/satellit_installer/static_files/tftpd/opt/openslx/tftpd-remap
index 1650e92..1650e92 100644
--- a/satellit_installer/static_files/tftpd/tftpd-remap
+++ b/satellit_installer/static_files/tftpd/opt/openslx/tftpd-remap
diff --git a/satellit_installer/static_files/tftpd/tftpd-hpa b/satellit_installer/static_files/tftpd/tftpd-hpa
deleted file mode 100644
index 1e4589b..0000000
--- a/satellit_installer/static_files/tftpd/tftpd-hpa
+++ /dev/null
@@ -1,6 +0,0 @@
-# /etc/default/tftpd-hpa
-
-TFTP_USERNAME="tftp"
-TFTP_DIRECTORY="/srv/openslx/tftp"
-TFTP_ADDRESS="0.0.0.0:69"
-TFTP_OPTIONS="--secure"
diff --git a/satellit_installer/static_files/timesync/etc/systemd/system/network-online.target.wants/redneck-timesync.service b/satellit_installer/static_files/timesync/etc/systemd/system/network-online.target.wants/redneck-timesync.service
new file mode 120000
index 0000000..9f3e128
--- /dev/null
+++ b/satellit_installer/static_files/timesync/etc/systemd/system/network-online.target.wants/redneck-timesync.service
@@ -0,0 +1 @@
+../redneck-timesync.service \ No newline at end of file
diff --git a/satellit_installer/static_files/timesync/redneck-timesync.service b/satellit_installer/static_files/timesync/etc/systemd/system/redneck-timesync.service
index e019a92..e019a92 100644
--- a/satellit_installer/static_files/timesync/redneck-timesync.service
+++ b/satellit_installer/static_files/timesync/etc/systemd/system/redneck-timesync.service
diff --git a/satellit_installer/static_files/timesync/redneck-timesync.sh b/satellit_installer/static_files/timesync/usr/local/sbin/redneck-timesync.sh
index 0175456..0175456 100755
--- a/satellit_installer/static_files/timesync/redneck-timesync.sh
+++ b/satellit_installer/static_files/timesync/usr/local/sbin/redneck-timesync.sh