Skip to content

Instantly share code, notes, and snippets.

@1um
Last active March 12, 2016 06:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 1um/04592610fad7a90a3514 to your computer and use it in GitHub Desktop.
Save 1um/04592610fad7a90a3514 to your computer and use it in GitHub Desktop.
Install Ejudge 3.1.0 on Ubuntu 14.04.01

#Установка Ejudge 3.1.0 на Ubuntu 14.04.01

Используемые версии
  • ejudge-3.1.0
  • ubuntu - 14.04 (32b)
Необходимые пакеты:
sudo apt-get update

sudo apt-get install bison flex gettext expat libexpat1-dev zlib1g-dev libncurses5-dev libncursesw5-dev sendmail gawk apache2 libcurl4-gnutls-dev libzip-dev libiconv-hook-dev gettext libmysqlclient-dev mysql-server mysql-client libdwarf-dev libelf-dev

sudo mkdir /usr/include/libdwarf
sudo ln -s /usr/include/dwarf.h /usr/include/libdwarf/dwarf.h
sudo ln -s /usr/include/libdwarf.h /usr/include/libdwarf/libdwarf.h
Установка ejudge.

Скачать, разархивировать. (Здесь и дальше директория /home/ejudge/ejudge)

cd  /home/ejudge/ejudge/


./configure --prefix=/home/ejudge/inst-ejudge --enable-contests-home-dir=/home/ejudge/judges --with-httpd-cgi-bin-dir=/usr/lib/cgi-bin --with-httpd-htdocs-dir=/var/www/ --enable-ajax --enable-charset=utf-8

make&&make install

./ejudge-setup
Настроить базу
mysql -u root -p

CREATE USER 'ejudge'@'localhost' IDENTIFIED BY 'ejudge';
GRANT ALL PRIVILEGES ON * . * TO 'ejudge'@'localhost';
CREATE DATABASE ejudge;
Продолжаем установку
sudo sh ejudge-install.sh
Настройка Apache

Осторожно, используйте свою домашнюю папку, а не /home/ejudge/

cp -R /home/ejudge/inst-ejudge/libexec/ejudge/cgi-bin /var/www/ejudge/
ln -s /home/ejudge/inst-ejudge/share/ejudge/style/* /var/www/ejudge/

Создать файл /etc/apache2/sites-avaliable/ejudge.conf :

<VirtualHost *:80>

    DocumentRoot /var/www/ejudge
	
	Alias /ejudge/	/var/www/ejudge/
	ScriptAlias /cgi-bin/ /var/www/ejudge/cgi-bin/
	DirectoryIndex cgi-bin/new-register
        
	<Directory /var/www/ejudge/cgi-bin>
        Options +ExecCGI +FollowSymLinks +Includes
		AllowOverride None
		Require all granted
    </Directory>
	
</VirtualHost>

И подключаем его

sudo a2ensite ejudge.conf
sudo a2enmod cgi
sudo service apache2 reload

Запуск ejudge:

~/inst-ejudge/bin/ejudge-control start

Доступен на сайте: http://localhost/cgi-bin/serve-control

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment