diff options
Diffstat (limited to 'satellit_installer/includes/90-setup_slxadmin.inc')
-rw-r--r-- | satellit_installer/includes/90-setup_slxadmin.inc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/satellit_installer/includes/90-setup_slxadmin.inc b/satellit_installer/includes/90-setup_slxadmin.inc new file mode 100644 index 0000000..0220bdc --- /dev/null +++ b/satellit_installer/includes/90-setup_slxadmin.inc @@ -0,0 +1,31 @@ +# Prepare files and symlinks in slx-admin www dir +enable_slxadmin_modules () { + # 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" + for MOD in ${SLXADMIN_MODULES}; do + NAME="${MOD%%-*}" + ln -s "../modules-available/$MOD" "$NAME" || perror "Could not activate module '$MOD' (alias '$NAME')" + done + cd - 1>/dev/null +} + +# This needs to be called after mysql users have been created +install_slxadmin_db () { + # Prepare temporary config + install_files "slxadmin" + sed -i "s/%MYSQL_OPENSLX_PASS%/${TEMP_DB_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 + # 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 + 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" +} |