summaryrefslogtreecommitdiffstats
path: root/satellit_installer/includes/90-patch_slxadmin.inc
diff options
context:
space:
mode:
Diffstat (limited to 'satellit_installer/includes/90-patch_slxadmin.inc')
-rw-r--r--satellit_installer/includes/90-patch_slxadmin.inc34
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"
}