mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 19:52:06 +00:00
97 lines
3.3 KiB
Bash
Executable file
97 lines
3.3 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# moodle This shell script is modified from sysVinit init.d moodle
|
|
# --checks for moodle upgrade flag and enables the cron
|
|
# job for Moodle
|
|
#
|
|
# Author: Ignacio Vazquez-Abrams <ivazquez@ivazquez.net>
|
|
# Adapted from the yum initscript by Seth Vidal
|
|
# Adapted for systemd by George Hunt <georgejhunt@gmail.com>
|
|
#
|
|
# description: Enable the Moodle cron job
|
|
#
|
|
# source function library
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
# both moodle cron and config.php check
|
|
# for this file -
|
|
lockfile=/var/lock/subsys/moodle
|
|
|
|
RETVAL=0
|
|
|
|
|
|
start() {
|
|
if [ -e /etc/moodle/needsupgrade ]; then
|
|
|
|
echo "Moodle installation or upgrade required..."
|
|
pushd /var/www/moodle/web
|
|
|
|
echo "["`date`"]" Start install / upgrade >> /var/log/moodle-instupg.log
|
|
|
|
# Correct a bungled 'version' variable in mdl_config. If version matches local_version, and
|
|
# is one of the known-to-be-bungled local_version/version pairs, fix it to the last-known-good
|
|
# value.
|
|
echo "Correcting version/local_version mangling - will error out on fresh DBs" >> /var/log/moodle-instupg.log
|
|
(su -c "psql -c \"UPDATE mdl_config
|
|
SET value='2007101526'
|
|
WHERE id=(SELECT v.id
|
|
FROM mdl_config v
|
|
JOIN mdl_config lv
|
|
ON (v.name='version' AND lv.name='local_version'
|
|
AND v.value=lv.value)
|
|
WHERE lv.value IN ('2009030301', '2009042801',
|
|
'2009051800', '2009052500'));\" moodle-xs " postgres 2>&1 ) >> /var/log/moodle-instupg.log
|
|
|
|
|
|
# Before install/upgrade, enable the admin user
|
|
# (will DTRT for upgrades, fail silently in fresh installs)
|
|
( runuser -s /bin/bash -c "/usr/bin/php /var/www/moodle/web/local/scripts/adminuser-enable.php" apache 2>&1 ) >> /var/log/moodle-instupg.log
|
|
|
|
# Install/upgrade moodle DB schema
|
|
( runuser -s /bin/bash -c "/usr/bin/php /var/www/moodle/web/admin/cliupgrade.php \
|
|
--agreelicense=yes --confirmrelease=yes \
|
|
--sitefullname='School Server' \
|
|
--siteshortname='XS' \
|
|
--sitesummary='Put the name of your school here' \
|
|
--adminfirstname=Admin --adminlastname=OLPC \
|
|
--adminusername=admin --adminpassword=changeme \
|
|
--adminemail=admin@localhost \
|
|
--verbose=0 --interactivelevel=0" apache 2>&1 ) #&& \
|
|
# runuser -s /bin/bash -c "/usr/bin/php /var/www/moodle/web/local/scripts/adminuser-disable.php" apache 2>&1 ) \
|
|
# >> /var/log/moodle-instupg.log
|
|
if [ $? = 0 ]; then
|
|
# success
|
|
echo "["`date`"]" Finished install / upgrade - Success >> /var/log/moodle-instupg.log
|
|
rm -f /etc/moodle/needsupgrade
|
|
else
|
|
# failure
|
|
echo "["`date`"]" Finished install / upgrade - Failure >> /var/log/moodle-instupg.log
|
|
exit 1
|
|
fi
|
|
popd
|
|
fi
|
|
echo -n $"Enabling Moodle access and cron job: "
|
|
touch "$lockfile" && success || failure
|
|
RETVAL=$?
|
|
echo
|
|
}
|
|
|
|
stop() {
|
|
echo -n $"Disabling Moodle access and cron job: "
|
|
rm -f "$lockfile" && success || failure
|
|
RETVAL=$?
|
|
echo
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
*)
|
|
exit 1
|
|
esac
|
|
|
|
exit $RETVAL
|