summarylogtreecommitdiffstats
path: root/domjudge.install
diff options
context:
space:
mode:
Diffstat (limited to 'domjudge.install')
-rw-r--r--domjudge.install58
1 files changed, 58 insertions, 0 deletions
diff --git a/domjudge.install b/domjudge.install
new file mode 100644
index 000000000000..a8bff8e7e675
--- /dev/null
+++ b/domjudge.install
@@ -0,0 +1,58 @@
+post_install() {
+ if ! getent group domjudge >/dev/null; then
+ groupadd --system domjudge
+ fi
+ if ! getent passwd domjudge >/dev/null; then
+ useradd --system -c 'judgehost daemon user' -g domjudge -s /bin/false domjudge
+ fi
+ if ! getent passwd domjudge-run >/dev/null; then
+ useradd -d /fail -c 'judgehost run user' -g nobody -s /bin/false domjudge-run
+ fi
+
+ if [ ! -f /etc/domjudge/dbpasswords.secret ];
+ then
+ /etc/domjudge/gendbpasswords > /etc/domjudge/dbpasswords.secret
+ fi
+ if [ ! -f /etc/domjudge/htpasswd-jury ];
+ then
+ htpasswd -b -c /etc/domjudge/htpasswd-jury domjudge_jury `grep '^dummy:' /etc/domjudge/dbpasswords.secret | cut -d : -f 5`
+ fi
+
+ chown domjudge /var/lib/domjudge/judgings
+ chmod 0711 /var/lib/domjudge/judgings
+
+ chown domjudge /var/{log,run}/domjudge
+ chmod 0700 /var/{log,run}/domjudge
+
+ chown domjudge:http /var/lib/domjudge/submissions
+ chmod 0770 /var/lib/domjudge/submissions
+
+ chown domjudge:http /etc/domjudge/{dbpasswords.secret,htpasswd-jury}
+ chmod 0640 /etc/domjudge/{dbpasswords.secret,htpasswd-jury}
+
+ chown domjudge /etc/domjudge/{domserver-config.php,judgehost-config.php,common-config.php}
+
+ echo "To finish installation procedure, run:"
+ echo " dj-setup-database -u root -r install"
+ echo "and add"
+ echo " :/etc/domjudge:/usr/lib/domjudge:/usr/share/domjudge:/var/lib/domjudge"
+ echo "into open_basedir in /etc/php/php.ini"
+}
+
+post_upgrade() {
+ echo "To finish update procedure, run:"
+ echo " dj-setup-database -u root -r upgrade"
+}
+
+post_remove() {
+ if getent passwd domjudge >/dev/null; then
+ userdel domjudge
+ fi
+ if getent passwd domjudge-run >/dev/null; then
+ userdel domjudge-run
+ fi
+ if getent group domjudge-run >/dev/null; then
+ groupdel domjudge-run
+ fi
+}
+