-
[HustOJ] Online Judge System 구축하기유틸리티/HustOJ 2023. 8. 23. 13:01728x90
HustOJ
HustOJ는 전세계에서 흔히 사용하는 Online Judge System의 한 종류이다. 한국에서도 여러 대학, 중고등학교에서 수행평가나 프로그래밍 학습 교구로 많이 사용하고 있다.
다만, 현재 구글에 올라온 구축 방법들이 상당히 오래전 방법이라 최신 방법을 포스팅하고자 한다.
※ Ubuntu 22.04 LTS jammy를 기준으로 작성함.
1. HustOJ 다운로드 후 설치하기
설치 방법은 예전과 다르게 많이 간편화되어 아래의 명령어 두줄이면 자동으로 설치를 시작한다.
다만, Ubuntu 운영체제만 지원하며, WSL 및 도커로 구축한 Ubuntu는 지원되지 않고 듀얼 코어 CPU와 2G RAM 이상의 사양을 요구한다.
wget http://dl.hustoj.com/install.sh sudo bash install.sh
설치가 완료되면 아래와 같은 내용이 출력되는데, 출력된 username과 password를 기억해두어야 나중에 db를 직접 접근하는 상황에서 사용할 수 있다.
2. 홈페이지 한국어로 설정하기
구축이 완료된 후, 127.0.0.1로 접속하면 홈페이지가 일부 PC에서 중국어로 표시되는데 이는 아래의 명령어를 사용하여 변경할 수 있다.
https://syudal.tistory.com/entry/HustOJ-한국어로-설정하기
더보기vim /home/judge/src/web/include/db_info.inc.php static $OJ_LANG="ko";
※ 일부 PC에서 제대로 표시되지 않는 문제를 2023.09.27.에 Pull Request하여 수정함
https://github.com/zhblue/hustoj/pull/969
※ 보통 /include의 db_info.inc.php의 lang을 수정하지만, 일부 PC에서 제대로 표시되지 않아 아래의 명령어를 사용한다.cd /home/judge/src/web/lang cp ko.php cn.php cp ko.php en.php
3. admin 계정 생성하기
관리자 계정은 자동으로 생성되는 것이 아니라, 회원가입 페이지에서 별도로 가입을 해야한다.
회원가입 페이지에서 id는 admin으로 하고 회원가입을 진행하면 관리자 계정이 생성된다.
이후 로그인 한 후, 우상단을 눌러보면 '관리' 버튼이 생겨있다면 구축에 성공한 것이다.
4. 도메인 연결하고 https 설정하기(선택)
도메인을 구매하여 가지고 있다면, 당연하게도 HustOJ와 도메인을 연동할 수 있다.
도메인을 구매한 곳에서 DNS 설정에서 A record를 구축한 서버의 외부 아이피로 설정하고 아래의 포스팅을 따라하면 간단하게 도메인 연동과 동시에 https도 설정할 수 있다.
https://syudal.tistory.com/entry/Ubuntu-Nginx-Lets-Encrypt로-https-적용하기
5. PHPMyAdmin 설치하기(선택)
HustOJ를 사용하다가 DB의 관리가 필요한 경우, 3306 포트에 연결하여 관리 할 수 있지만 웹 기반의 오픈 소스 관리도구인 PHPMyAdmin을 사용하면 더욱 편리하다.
Nginx와 MariaDB가 설치된 상태이므로, 1번과 2번을 건너뛰고 3번 부터 진행하면 된다.
https://syudal.tistory.com/entry/Ubuntu-Nginx-PHPMyAdmin-설치하기
728x90댓글