Skip to content

Localhost에 Elasticsearch 설치

pio edited this page Sep 18, 2016 · 2 revisions

#안내 이 문서는 Localhost에서 Elasticsearch 설치 및 JakduK 프로젝트와 연동하는 방법에 대해 설명하는 문서이다.

#필요한 것들

  • JDK 1.8.x
  • Elasticsearch 2.x.x

#개발환경 구성

OS

이 문서에서 Elasticsearch 를 설치할 OS는 Centos 7 이며, rpm으로 설치할 것이다. Elasticsearch는 Debian 계열에서 설치할 수 있는 deb도 제공하고, 바이너리도 제공하니 편한 방법대로 설치하면 된다.

JDK 설치

# yum install java-1.8.0-openjdk-devel.x86_64

JDK 설치 확인

# java -version

openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b13)
OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)

##Elasticsearch 설치## Elasticsearch 홈페이지에 가면 설치하는 방법을 쉽게 잘 설명해 두었다. 이곳을 방문하자!

Install Elasticsearch

###Plugin 설치### Elasticsearch에서 꼭 필요한 혹은 유용한 플러그인을 설치한다.

  • head (간단한 모니터링)
  • seunjeon (한글형태소 분석기)

은전한닢 플러그인 설치

# /usr/share/elasticsearch/bin/plugin install org.bitbucket.eunjeon/elasticsearch-analysis-seunjeon/2.4.0.0

head 플러그인 설치

# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

###환경 설정### /etc/elasticsearch/에 환경 설정 파일들이 위치하고 있다. 기본적으로 Elasticsearch는 2개 노드 이상을 돌리는것을 권장하지만, 로컬에 설치하는 것이기에 별다른 설정은 하지 않아도 된다.

##Eclipse 설치## Eclipse 최신 버전을 다운로드 하여 설치하자.

Download Eclipse

##JakduK 프로젝트 설치## JakduK 프로젝트는 github.org에 소스코드가 올라가 있다. git clone 명령어로 가져오면 된다. (먼저 git이 설치되어 있어야 한다.) Localhost의 적당한 폴더에서 다음의 명령어를 실행한다.

# git clone https://github.com/Pyohwan/JakduK.git

JakduK에서 사용하는 JS파일들을 설치해야 한다. [JakduK 설치폴더]/jakduk-web 로 이동하여 bower 명령어를 실행한다.

# bower install

bower로 설치중 의존성이 있는 JS의 버전을 선택하지 못해 보기 중에 하나를 고르라고 한다. 아래의 예는 angular 버전을 고르라는 소린데 가장 높은 버전 1.4.8이 있는 5번을 선택하자. 이런식으로 다른 JS도 물어본다면 가장 높은 버전을 선택해 주면 된다.

Unable to find a suitable version for angular, please choose one:
    1) angular#>=1.3.0 which resolved to 1.3.20 and is required by angular-bootstrap#0.14.3, angular-slick-carousel#3.1.3 
    2) angular#~1.3.0 which resolved to 1.3.20 and is required by angular-slick#0.2.1 
    3) angular#>= 1.2.0 which resolved to 1.3.20 and is required by angular-ladda#0.3.1 
    4) angular#^1.1.5 which resolved to 1.3.20 and is required by angular-file-upload#2.2.0 
    5) angular#1.4.8 which resolved to 1.4.8 and is required by angular-animate#1.4.8, angular-cookies#1.4.8, angular-sanitize#1.4.8, angular-touch#1.4.8 
    6) angular#~1.4.0 which resolved to 1.4.8 and is required by angular-summernote#0.5.2, JakduK 
    7) angular#>= 1.0.8 which resolved to 1.4.8 and is required by angular-lazy-img#1.2.2 
    8) angular#>=1.2.0 which resolved to 1.4.8 and is required by ng-infinite-scroller-origin#1.2.1 
    9) angular#^1.2.9 which resolved to 1.4.8 and is required by angular-loading-bar#0.8.0 
    10) angular#^1.4.7 which resolved to 1.4.8 and is required by angular-bootstrap-lightbox#0.10.0Prefix the choice with ! to persist it to bower.json

? Answer:: 

###Eclipse에서 JakduK 연동### Eclipse를 실행한다음 Import -> Maven -> existing Maven Projects 로 이동한 다음에 위에서 git clone 한 소스코드를 선택하자.

Eclipse의 왼쪽 Project Explorer에 보면 jakduk-common, jakduk-parent, jakduk-web 세개의 프로젝트가 나오면 된다.

###Localhost에 맞는 JakduK 설정### MongoDB 연결 정보가 있는 파일을 다음과 같이 고친다.

/jakduk-web/resources-local/config/db/mongo.properties

mongo.db.name=jakduk_test
mongo.host.name=localhost
mongo.host.port=27017

게시판에서 그림을 업로드 시 저장되는 경로이다. 사용자 환경에 맞게 설정하면 된다.

/jakduk-web/resources-local/config/storage/file.properties

storage.temp.path = /home/pyohwan/tmp
storage.image.path = /home/pyohwan/storage/image/
storage.thumbnail.path = /home/pyohwan/storage/thumbnail/

###Ecpipse에서 Tomcat 연동### Eclipse에서 Window -> Preferences -> Server -> Runtime Environments에서 Add 버튼을 누른다. 다운로드한 Tomcat 버전을 선택한 후 Tomcat을 설치한 경로를 지정해 주면 된다.

Eclipse의 하단 창에서 Servers 탭을 눌러보면, Tomcat v8.0 Server at localhost [Stooped,Republish]가 있는데 이것을 더블클릭 하자. Server Locations의 Deploy path를 webapps로 바꾼다. jakduk_eclipse01

Servers 탭의 Tomcat v8.0 Server at localhost [Stooped,Republish] 오른 클릭 -> Add and Remove 선택. 왼쪽 Available에 있는 jakduk-web를 Configured로 옮긴다.

##JakduK 실행## 위의 과정을 모두 수행하였다면, Eclipse 하단의 Servers탭에서 Tomcat을 실행해볼 수 있다. 브라우저에 다음의 주소를 입력해보자. http://localhost:8080/jakduk-web/

###JakduK 관리자 계정 생성### 먼저 JakduK 관리자 계정이 필요하다. 관리자로 사용할 계정을 하나 생성하자.

jakduk

현재 만들어진 계정의 권한은 '일반'이므로 '관리자'로 권한 상승이 필요하다. 터미널에서 mongo를 실행하자.

> use jakduk_test;
> db.user.find();
{ "_id" : ObjectId("5670f3b2e4b03f3068a9e28d"), "_class" : "com.jakduk.model.db.User", "email" : "[email protected]", "username" : "admin", "password" : "60416e087212bb6baf068eafb9fd5d02ee3f65eb265c352e459b7aae27ee4aa225650b73d05123d7", "roles" : [ 10 ], "about" : "" }

방금 추가한 관리자 데이터가 하나 나온다. 이 관리자 계정의 roles에 관리자 권한인 '90'을 추가해 주어야 한다. _id 필드에 위에서 find()한 _id 값을 넣어주면 된다.

> db.user.update({"_id" : ObjectId("5670f3b2e4b03f3068a9e28d")}, {$set:{"roles" : [10,90]}});

JakduK 웹페이지로 돌아가서 관리자 계정으로 로그인 한 후 관리자 페이지에 접속한다. http://localhost:8080/jakduk-web/admin

Init Data 탭의 Init Board Category 항목을 선택하자.

이것으로 Localhost에 JakduK 프로젝트 구축이 끝났다.

Clone this wiki locally