How to Install DOMJudge on Manjaro
DOMJudge is an open-source automated judge system that can be used to conduct programming contests. In this tutorial, we will be discussing how to install DOMJudge on Manjaro, a Linux distribution based on Arch Linux.
Prerequisites
- A Manjaro system with sudo access
- A web server installed on the Manjaro system (Apache, Nginx, etc.)
- A MySQL database server installed and running
Step 1: Install Required Packages
First, we need to install the required packages for DOMJudge. Open a terminal and run the following command to update the package list and install the required packages:
sudo pacman -Syu apache php php-apache mariadb git
Step 2: Create a MySQL User and Database for DOMJudge
Next, we need to create a MySQL user and database for DOMJudge. Open a terminal and run the following commands:
sudo mysql -u root -p
Enter your MySQL root password when prompted. Once you're in the MySQL shell, enter the following commands to create a new database and user:
CREATE DATABASE domjudge;
CREATE USER 'domjudge'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON domjudge.* TO 'domjudge'@'localhost';
FLUSH PRIVILEGES;
Make sure to replace 'password' with a strong password.
Step 3: Clone DOMJudge Repository
Navigate to your web server document root (usually /var/www/html) and clone the DOMJudge repository:
sudo git clone https://github.com/DOMjudge/domjudge.git
Step 4: Install the DOMJudge Environment
Once the repository is cloned, navigate to the domjudge directory and run the installation script:
cd domjudge
sudo ./install.sh -i
Follow the on-screen instructions to complete the installation.
Step 5: Configure Apache
To configure Apache to serve DOMJudge, we need to create a virtual host configuration file. Create a new file called domjudge.conf in the Apache configuration directory:
sudo nano /etc/httpd/conf/extra/domjudge.conf
Add the following configuration to the file:
<VirtualHost *:80>
ServerName your.domain.com
DocumentRoot /var/www/html/domjudge/webapp
Alias /images /opt/domjudge/www/images
<Directory /var/www/html/domjudge/webapp>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Make sure to replace your.domain.com with your website's domain name.
Then enable the newly created configuration file:
sudo ln -s /etc/httpd/conf/extra/domjudge.conf /etc/httpd/conf-enabled/domjudge.conf
Restart the Apache service for the changes to take effect:
sudo systemctl restart httpd
Step 6: Access DOMJudge Web Interface
Open your web browser and navigate to your DOMJudge installation by entering your server's IP address or domain name in the URL bar. You should now see the DOMJudge login page.
Log in with the default credentials:
- Username: admin
- Password: password
After logging in, you can customize the DOMJudge installation as needed. Congratulations, you have successfully installed DOMJudge on Manjaro!