-
Ubuntu에서 KKuTu(끄투) 서버 구축하기프로그래밍/개발 2018. 8. 12. 20:09
$ sudo apt install git
깃허브의 KKuTu(끄투) 저장소를 빠르게 클론해오기 위해서 git을 설치한다.
$ sudo apt install nodejs npm postgresql
Node.js와 npm, PostgreSQL을 설치한다. 맥에서는 Node.js와 npm이 함께 설치되던데 우분투에서는 따로 설치해줘야 한다.
$ git clone https://github.com/JJoriping/KKuTu.git
KKuTu를 clone한다.
$ cd KKuTu/
clone한 위치로 이동한다.
$ sudo -u postgres createdb main $ sudo -u postgres psql --quiet main < ./db.sql
main이라는 이름의 db를 만들고 db.sql을 데이터베이스에 넣어주면...! 데이터베이스 서버가 완성된다.
$ cd Server/lib/ $ npm install
package.json에 명시된 npm 의존성 모듈을 설치한다.
postgresql에 패스워드를 설정해야 한다. 필자의 경우는 1234로 설정했다(어디까지나 임시이니 실제 서비스를 굴릴 때는 복잡하게 설정하자).$ sudo -u postgres psql postgres=# ALTER USER postgres with encrypted password '1234'; postgres=# \q $ sudo /etc/init.d/postgresql restart
ALTER USER postgres with encrypted password '1234';
를 실행하면ALTER ROLE
이라고 나오는데 이는 신경쓰지 않아도 된다.$ psql -U postgres -h localhost
위 명령어를 실행했을 때 postgres에 대한 패스워드를 입력하라고 나온다면 제대로 설정된 것이다.
\q
를 입력하여 다시 나오자.다음으로는 KKuTu/Server/lib/sub/에 auth.json과 global.json을 만들어줄 차례다.
auth.inc.json과 global.inc.json 파일을 그냥 복붙해도 굴러는 간다(그냥 귀찮으니 일단 이렇게 하자).
이때 global.json의
PG_PASSWORD
에 방금 설정한 postgres의 패스워드를 입력해 두어야 한다.다음으로 KKuTu/Server/lib/Web/auth/의 auth_facebook.js, auth_google.js, auth_kakao.js, auth_naver.js, auth_twitter.js 파일 이름 끝에 .DISABLED를 붙여준다. 아직 소셜로그인을 사용하고 있지 않으므로 이를 설정하는 것이다. auth_facebook.js.DISABLED와 같은 방법으로 파일명을 설정하면 된다.
$ sudo node lib/Game/cluster.js 0 1
KKuTu/Server에서 위 명령어를 실행해서 게임 서버를 시작한다. 경로에 주의하고 같은 옵션을 주면 당연히 다른 위치에서도 실행이 가능하다.
$ sudo node lib/Web/cluster.js 1
터미널을 하나 더 열고 KKuTu/Server로 이동한 뒤 위를 실행한다. 이때 sudo 권한이 없다면 에러가 발생할 수 있으니 주의하자.
게임 서버와 웹 서버를 실행한 뒤 웹브라우저를 열고 http://localhost로 접속하면 구축된 끄투 페이지가 나온다. 이제 하나씩 고쳐나가면 되겠지?
서버를 종료하려면 각각의 터미널 창에 ^C(Control+C)를 보내면 된다.
'프로그래밍 > 개발' 카테고리의 다른 글
교내 SW 아이디어 대회 [8] 웹앱 플레이리스트 재생 구현 (0) 2018.06.24 교내 SW 아이디어 대회 [7] playlist 데이터 제공 API 개발 (0) 2018.06.22 교내 SW 아이디어 대회 [6] Electron으로 PC app 개발(UI 완성, 구조 설계) (0) 2018.06.21 교내 SW 아이디어 대회 [5] 메인페이지 완성(프엔 + 플레이리스트 조회) (0) 2018.06.21 교내 SW 아이디어 대회 [4] 빌보드 차트 제공 (0) 2018.06.20