DOMjudge is an online judge system used in programming competitions. It is available for different operating systems, including Linux. This tutorial will guide you on how to install DOMJudge on Elementary OS Latest.
Before starting, ensure that you have the following:
sudo apt update
sudo apt-get install build-essential openjdk-8-jdk php-cli php-mbstring php-xml mariadb-server-10.3 apache2 libapache2-mod-php7.2 nodejs-legacy npm
cd /var/www
sudo wget https://www.domjudge.org/releases/domjudge-7.1.0.tar.gz
sudo tar -xvzf domjudge-7.1.0.tar.gz
sudo mv domjudge-7.1.0 domjudge
domjudge
directory using the command:cd domjudge
configure
command to configure the installation using the command:Note: Replace [DBHOST]
with your database host, [DBNAME]
with your database name, [DBUSER]
with your database user and [DBPASS]
with your database password.
sudo ./configure --with-baseurl=judge.example.com --with-domjudge-user=www-data --with log-files-owner=www-data --with-log-dir=/var/log/domjudge --with-docroot=/var/www/domjudge/public --with-libdir=/usr/lib/x86_64-linux-gnu --with-db-host=[DBHOST] --with-db-name=[DBNAME] --with-db-user=[DBUSER] --with-db-pass=[DBPASS]
sudo make install
webapp
folder using the command:cd webapp
sudo npm install
sudo npm run build
sudo bin/console doctrine:migrations:migrate
sudo bin/console user:create
sudo bin/console passwd [username]
Note: Replace [username]
with the username of the initial user.
sudo cp /var/www/domjudge/webapp/config/domjudge.apache.conf /etc/apache2/sites-available/domjudge.conf
sudo a2ensite domjudge.conf
sudo service apache2 reload
sudo mysql -u root -p
CREATE DATABASE [DBNAME];
Note: Replace [DBNAME]
with your preferred database name.
CREATE USER '[DBUSER]'@'localhost' IDENTIFIED BY '[DBPASS]';
Note: Replace [DBUSER]
and [DBPASS]
with your preferred database username and password.
GRANT ALL PRIVILEGES ON [DBNAME].* TO '[DBUSER]'@'localhost';
Note: Replace [DBNAME]
and [DBUSER]
with your preferred database name and username.
FLUSH PRIVILEGES;
exit
http://your_server_ip_or_hostname
Congratulations! You have successfully installed DOMJudge on Elementary OS Latest. You can now start creating contests and inviting participants.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!