Difference between revisions of "Инсталляция системы ejudge"
(2 intermediate revisions by the same user not shown) | |||
Line 28: | Line 28: | ||
Ниже - некоторые параметры (которые обычно требуются) | Ниже - некоторые параметры (которые обычно требуются) | ||
− | |||
* --prefix=EJUDGE_PREFIX - корневой каталога программы. Если не задавать его, могут возникнуть проблемы. PREFIX предлагается задать как EJUDGE_HOME/inst-ejudge | * --prefix=EJUDGE_PREFIX - корневой каталога программы. Если не задавать его, могут возникнуть проблемы. PREFIX предлагается задать как EJUDGE_HOME/inst-ejudge | ||
− | |||
* --enable-contests-home-dir=JUDGES_DIR - Каталог для контестов. JUDGES_DIR мы уже задавали выше. | * --enable-contests-home-dir=JUDGES_DIR - Каталог для контестов. JUDGES_DIR мы уже задавали выше. | ||
− | |||
− | |||
* --with-httpd-cgi-bin-dir=CGI-BIN-DIR - каталог cgi-bin вашего сервера. Где он находится - можно узнать в конфигурации вашего веб-сервера. | * --with-httpd-cgi-bin-dir=CGI-BIN-DIR - каталог cgi-bin вашего сервера. Где он находится - можно узнать в конфигурации вашего веб-сервера. | ||
* --with-httpd-htdocs-dir=HTDOCS-DIR - каталог, в который кладутся веб-файлы (.html, .php, etc). Где он находится - опять же написано в конфигурации вашего сервера. В HTDOCS-DIR/ejudge будут помещены несколько js и css файлов | * --with-httpd-htdocs-dir=HTDOCS-DIR - каталог, в который кладутся веб-файлы (.html, .php, etc). Где он находится - опять же написано в конфигурации вашего сервера. В HTDOCS-DIR/ejudge будут помещены несколько js и css файлов | ||
+ | * --enable-ajax - включает движок ajax для системы | ||
Параметры, которые необязательно ставить: | Параметры, которые необязательно ставить: | ||
− | * --enable- | + | * --enable-charset=ENCODING - использование определенной кодировки в программе. ENCODING может быть, например, "UTF-8" или "KOI8-R". Значение по умолчанию - UTF-8. |
− | |||
− | |||
* --with-mysql=MYSQL-DIR - Каталог с mysql. Если компилировали mysql с нестандартным префиксом, то надо его указать. Вообще это необязательный параметр, MySQL может понадобиться только для некоторых необязательных плагинов | * --with-mysql=MYSQL-DIR - Каталог с mysql. Если компилировали mysql с нестандартным префиксом, то надо его указать. Вообще это необязательный параметр, MySQL может понадобиться только для некоторых необязательных плагинов | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Что бы узнать все остальные параметры надо набрать: | Что бы узнать все остальные параметры надо набрать: | ||
Line 107: | Line 84: | ||
Более подробно: [http://www.ejudge.ru/INSTALL.RUS.txt] | Более подробно: [http://www.ejudge.ru/INSTALL.RUS.txt] | ||
− | |||
− |
Latest revision as of 07:12, 3 April 2011
Навигация: Главная страница/Система ejudge/Инсталляция/Инсталляция из исходных текстов/Инсталляция системы ejudge
Предполагается (если не указано особо), что все действия совершаются от имени юзера ejudge
Компиляция и установка
EJUDGE_HOME - Домашний каталог пользователя ejudge (который вы указывали при создании)
Создайте каталог /home/judges и дайте ему права пользователя ejudge. Делается это так (от имени root):
# mkdir -p /home/judges # chown ejudge:ejudge /home/judges # chmod 755 /home/judges
Если нет прав root - то можно создавать каталог EJUDGE_HOME/judges. Далее я буду называть этот каталог JUDGES_DIR
Скачать архив с исходными текстами системы можно в архиве программ. Рекомендуется всегда использовать последнюю версию, информацию о которой можно найти на Главной странице.
При помощи wget (VERSION - версия):
# wget http://www.ejudge.ru/download/ejudge-VERSION.tgz
Для установки - следующие команды:
# tar -xvzf ejudge-VERSION.tgz # cd ejudge # ./configure PARAMS # make && make install
PARAMS - параметры конфигурации
Ниже - некоторые параметры (которые обычно требуются)
- --prefix=EJUDGE_PREFIX - корневой каталога программы. Если не задавать его, могут возникнуть проблемы. PREFIX предлагается задать как EJUDGE_HOME/inst-ejudge
- --enable-contests-home-dir=JUDGES_DIR - Каталог для контестов. JUDGES_DIR мы уже задавали выше.
- --with-httpd-cgi-bin-dir=CGI-BIN-DIR - каталог cgi-bin вашего сервера. Где он находится - можно узнать в конфигурации вашего веб-сервера.
- --with-httpd-htdocs-dir=HTDOCS-DIR - каталог, в который кладутся веб-файлы (.html, .php, etc). Где он находится - опять же написано в конфигурации вашего сервера. В HTDOCS-DIR/ejudge будут помещены несколько js и css файлов
- --enable-ajax - включает движок ajax для системы
Параметры, которые необязательно ставить:
- --enable-charset=ENCODING - использование определенной кодировки в программе. ENCODING может быть, например, "UTF-8" или "KOI8-R". Значение по умолчанию - UTF-8.
- --with-mysql=MYSQL-DIR - Каталог с mysql. Если компилировали mysql с нестандартным префиксом, то надо его указать. Вообще это необязательный параметр, MySQL может понадобиться только для некоторых необязательных плагинов
Что бы узнать все остальные параметры надо набрать:
# ./configure --help
Если в процессе компиляции возникла ошибка, надо перепроверить конфигурационный скрипт или обратиться к разработчику.
Итак, мы выполнили ./configure, make, make install. Но это еще не все.
Настройка
Теперь надо создать конфигурацию ejudge. Для этого предназначен скрипт ejudge-setup
# ./ejudge-setup
Заходим по очереди в каждый пункт меню и меняем все, что неверно, на верные параметры.
Некоторые комментарии:
1. В панели "Ejudge Settings" есть пункт меню "Create Workdisk?" Если вам недоступен loop (например, на некоторых серверах VDS), то укажите там "no", вернитесь в меню "Edit Path" и напишите в "Testing Working Dir" какой-нибудь доступный (желательно пустой) каталог. 2. Меню "Edit Administrator Identity" надо заполнять так: * ID: 1 * Login: ваш логин (например, Admin) * E-Mail - ваша почта * Name - какое имя будет отображаться * Password - ваш пароль (надо ввести два раза)
После заполнения сохраняем файл пунктом "Save Setup Script", затем от пользователя root запускаем установку
# ./ejudge-install.sh
Осталось лишь выставить права на доступ к ссылкам на исполняемые файлы, которые установил ejudge:
# cd CGI-BIN-DIR # chmod 755 new-* judge master register serve-control team users
Запуск
Теперь можно запустить ejudge (это делается только от имени ejudge!):
# cd EJUDGE_PREFIX/bin # ./ejudge-control start
Если после этого ваш вебсервер выдаёт ошибку - попробуйте удалить все файлы в CGI_BIN_DIR (на самом деле это ссылки на файлы) и скопировать туда файлы из EJUDGE_PREFIX/libexec/ejudge/cgi-bin:
# cd CGI_BIN_DIR # rm -rf new-* judge master register serve-control team users # cp EJUDGE_PREFIX/libexec/ejudge/cgi-bin/* ./
Если и после этого появляется ошибка - стоит обратиться к разработчику
Более подробно: [1]