diff options
author | Simon Rettberg | 2020-12-17 15:08:14 +0100 |
---|---|---|
committer | Simon Rettberg | 2020-12-17 15:08:14 +0100 |
commit | b5c3eb9e01b09367935f558a57633b68a65a1a21 (patch) | |
tree | b6c322f3089192124779b9d7a29c8365eb39533f /satellit_installer/includes/90-patch_slxadmin.inc | |
parent | [SSPS] slx-cert: Put hostname in SAN too, chromium requires this (diff) | |
download | setup-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.
Diffstat (limited to 'satellit_installer/includes/90-patch_slxadmin.inc')
-rw-r--r-- | satellit_installer/includes/90-patch_slxadmin.inc | 34 |
1 files changed, 6 insertions, 28 deletions
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" } |