ubuntu

우분투에 Eclipse Orion 및 Eclipse Che 설치 사용하기

소화자/ editor

  • 0 comments
  • 6,602 views
  • 2017년 12월 3일

우분투에서 Eclipse Orion 및 Eclipse Che 설치 활용하기

이전 다른 글에서 웹(Web) 기반, 곧 클라우드(Cloud)기반 외산 cloud9 sdk와 국산 goorm ide를 잠시 소개 했었습니다.
이번엔, 국내에는 아직은 활용하시는 분들이 많지 않은 것으로 보입니다만, 버젼업이 이미 꽤 되었고,
계속 열심히 버젼업 중인 웹 기반 통합개발툴(IDE)로 오픈소스인 이클립스 오리온(Eclipse Orion)과
이클립스 체(Eclipse Che)에 대해서 설치 및 간단한 사용법을 알아보려 합니다.

먼저 이클립스 오리온과 체의 차이점은 사용자레벨에서 보면 이클립스 오리온은 HTML,CSS,JAVASCRIPT를 공부하고
이를 활용하여 사이트를 만들수 있는 웹프로그래밍 초보자분들에게도 사용하기에 적절해 보이는 반면,
이클립스 체는 이클립스나 비주얼 스튜디어처럼 사전에 미리 설정된 프로젝트 타입들이 제공되기 때문에,
초보자 보다는 해당언어 기반의 간단하게라도 프로젝트 개발 경험이 있는 중급자라고 해야 할까요?,
어느정도 아시는 분들이 사용하셔야 효율이 나올 것 같습니다.

그리고 오리온(Orion)은 멀티 유저를 기본적으로 지원하여 개별 유저의 코드개발과 실행확인이 가능하지만,
체(Che)는 이 부분을 워크스페이스에 멀티유저를 지원하는 방식으로서,개별적 지원이라기보다는
협업적인 부분을 더 중요하게 생각한 것 같기도 합니다.

아마 자바 개발하시는 분들은 이클립스(Eclipse)를 개발 에디터로 정말 많이 사용하고 계셔서
이클립스 오리온과 체를 오해하실 수도 있는데,직접 보시면 별개의 다른 프로그램임을 아시게 될 것입니다.
개인적인 평가는 지원 언어의 범위가 너무 작은 것을 빼면 오리온은 참 심플하고 좋은 툴로 판단됩니다.
Che(체)는 상대적으로 조금 느리다는 느낌이 계속 들지만, 지원 언어및 세팅에 대한 지원 범위가 넓어서
통합 개발 툴의 느낌이 확실하게 느껴집니다.

그럼 오리온, 체 순서로 각각 알아보도록 하겠습니다.
참고로 제가 사용하는 우분투 버젼은 64비트 14.04 LTS 입니다.

이클립스 오리온(Eclipse Orion) 설치,사용

위에서도 말씀 드렸습니다만, 오리온은 클라우드 기반에서 HTML,CSS,JAVASCRIPT를 활용한
개발및 개인 활용에 최적화 되어 있습니다.
이클립스 오리온 사이트 에서 간단한 회원가입(Register)만 하셔도 설치 없이 사용해 보실 수 있습니다.
사이트 첫 페이지 아래쪽을 보면 파워풀 코드에디터, 다양한 테마, 컴팩트 GIT 유저 인터페이스가
특징이라고 표현되어 있습니다.
공식 사용 설명서는 이클립스 오리온 공식 설명서 링크에서 참조하실 수 있습니다.
셀프-호스팅(Self-hosted)개념의 설치는 자바가 설치되어 있다면 소스를 다운받아서
압축을 푸는 것으로 작업완료라 너무 쉽습니다.
먼저 다운로드는 이클립스 오리온 다운로드에 접속하셔서 Latest Releases 영역에서 높은 버젼을 다운 받습니다.
저는 참고로 12.0 버젼을 다운 받았습니다.

오리온 서버 설치 & 시작

 ## 저는 홈디렉토리 아래 Downloads 디렉토리에 다운 받았습니다.
 $ cd ~/Downloads
 ## 압축을 풀면 eclipse 디렉토리가 생깁니다.
 $ unzip eclipse-orion-12.0-linux.gtk.x86_64.zip
 ## eclipse 디렉토리로 이동해서 ls 해보시면 orion 명령어를 보실 수 있습니다.
 $ cd eclipse 
 ## 오리온 서버 시작합니다. 맨 끝에 'Started Orion server authentication successfully.' 메세지가 보입니다.
 $ ./orion -console

브라우져에서 http:://컴퓨터ip:8080 또는 http:://호스트명:8080으로 접속하셔셔
https://orionhub.org의 시작페이지와 똑같은 화면이 보이면 잘 설치된 것입니다.

간단한 오리온 서버 설정변경 & 조작

오리온 서버 종료는 “./orion -console” 명령을 입력했던 터미널에서 아래 코드처럼 입력하시면 종료됩니다.

.... Started Orion server authentication successfully. ## 이후에 더 많은 로그가 있을 수 있습니다.
close ## 로그가 출력되는 창에 직접 입력합니다.
osgi> exit ## osgi 프롬프트 뒤에 직접 입력합니다.(자동으로 넘어갈 수도 있습니다.)
Really want to stop Equinox? (y/n; default=y) y ## 엔터키를 눌러줍니다.

오리온 서버의 기본 포트는 8080입니다.
이것을 변경하려면 orion 명령과 같은 디렉토리에 orion.ini 파일에서
아래 라인을 찾아 원하시는 포트 번호로 수정합니다.
전 중국사람들이 행운이라 믿는 8888로 바꾸어 보았습니다.

-Dorg.eclipse.equinox.http.jetty.http.port=8888

만약 터미널 창에 보이는 로그가 부담스러우시면,
오리온 서버 시작 명령을 아래 코드처럼 터미널에 입력하시면 됩니다.

$ cd ~/Downloads/eclipse
 ## 백그라운드 모드로 console에게 port번호 4444를 열어주고 로그는 orion.log 파일에 저장하란 명령입니다.
 ## 이제 로그는 orion.log 파일을 열어서 확인 할 수 있습니다.
 $ nohup ./orion -console 4444 > orion.log & 
 ## console 윈도우를 4444포트로 열었으므로 종료 명령은 아래 처럼 바뀌게 됩니다.
 $ telnet localhost 4444 ## cosole에 접속하면 osgi 프롬프트가 보이게 됩니다.
 osgi> close ## close라고 직접 입력하여 줍니다.
 Really want to stop Equinox? (y/n; default=y) ## 그냥 엔터키를 눌러줍니다. 
 osgi> Connection closed by foreign host.

오리온 서버 관리자(admin) 암호 설정은 orion.conf 파일에 아래 처럼 추가하시고, 원하시는 암호를 설정하시면 됩니다.

orion.auth.admin.default.password=html5around

orion.conf파일에 설정할 수 모든 항목은 오리온 서버의 conf파일을 copy하셔서 필요한 부분의 코멘트를 열고,
원하시는 값으로 설정하시는 방식으로 사용하실 수 있습니다.
예를 들면 Default Work Space는 eclipse/serverworkspace인데 바꾸시려면
eclipse/orion.ini 파일에서 해당 부분을 수정하거나,-data 옵션을 사용하여
서버를 시작하거나 하는 방법도 있습니다만 orion.conf 파일에 아래 처럼 추가하는 방법도 있습니다.
상호간에 프로젝트를 읽을 수 있도록 설정하는 방법도 필요할 것 같아서 추가하여 보았습니다.

orion.file.allowedPaths=/home/html5around
orion.file.anonymous.read=true

실행 확인

브라우져에서 http://컴퓨터ip 또는 호스트명으로 접속하시면, 첫 페이지 오른쪽 상단 sign-in과 Register 보이실겁니다.
Register에서 아무거나 원하는 아이디와 암호를 만들어 주시고,
다시 sign-in을 통해서 로그인 하시면 아래와 비슷한 에디터 화면이 보이실겁니다.

이제 보통의 프로그래밍 에디터처럼 사용하시면 됩니다.

웹페이지 실행확인

위 화면의 왼쪽 맨끝에 보시면  연필 아이콘부터 순서대로,
에디터,
Git,
Shell,
Sites(여기가 중요합니다),
Settings를 의미합니다.

위 화면의 제  컴퓨터 상태는 Test라는 프로젝트에 public폴더를 만들고 그 안에 index.html 파일을 만든 상황입니다.

 

위 상태에서 Sites 아이콘을 클릭하고,에서 Create를 클릭하고,텍스트박스가 Name을 물으면,

원하시는 이름 아무거나 쓰시고,아래와 같은 화면이 나오면 오른쪽 끝에 있는 Add를 누릅니다.

화면에 프로젝트명 리스트가 나오고,프로젝트를 한개 선택해 주시면,
저 같은 경우에는 Path 아래에 /Test 와 Mount at(server path)에 /가 보입니다.
곧 Test프로젝트를 루트(/)디렉토리아래 Test로 웹 경로를 잡았다는 의미입니다.
이제 화면 왼쪽 위로 눈길을 옮기시면 Start라는 버튼이 보이실 겁니다.
그것을 클릭해 주면 아래 화면의 중간처럼 Status:가 추가되고 
그 옆에 Started at http://127.0.0.2:8888 형식의 주소가 보이고,클릭하면,
바로 그아래 화면과 같은 모습이 나타나게 됩니다.

가만히 IP숫자를 들여다보면 보통 localhost는 IP가 127.0.0.1인데, 127.0.0.2가 보입니다.
이 부분에서 오리온 서버가 가상서버를 지원한다는 사실을 확인할 수 있습니다.

여기까지가, 이클립스 오리온으로 프로젝트를 만들고, 웹으로 확인하는 과정이었습니다.
그 외 에디터를 포함한 다른 기능들은 메뉴를 눌러서 한번씩 사용해 보시면서 익숙해지시면
도움이 되리라 생각됩니다.


이클립스 체(Eclipse Che) 설치,사용

이클립스 체(Eclipse Che)의 경우 이클립스 체 홈 에서 차세대 통합개발툴이란 느낌오는 한 줄의 설명과
실행 모습을 보실 수 있습니다. 오리온 처럼 무료계정을 만들어 사용할 수도 있고, 직접 설치하여 사용할 수도 있으며,
개인 클라우드 서비스 위에 설치하여 사용할 수 도 있습니다.
기본적으로 오리온처럼 웹개발 초보자가 사용하기에는 조금 어려워 보입니다.
여기서는 직접 설치하여 보겠습니다.

체(Che)서버 설치,사용하기

제 경험으로 보면 설치는 크게 2가지,소스를 다운받아 압축을 풀어 바로 사용하는 방식과
설치 스크립트를 실행시켜 바로 Docker 이미지로 설치하는 방식이 있습니다. 2가지 방식의 차이점은
첫번째 방식으로 하면 설치버젼이 4.72가 되고 후자로 하면 5.0이 되며, 다운로드 시간을 빼면 첫번째 방식이
편하고 빠른 반면, 버젼업 된 내용이 다 반영되지 못하는 단점이 있습니다.
첫번째 방식도 혹 필요하신 분들이 계실지 몰라서 간단히 먼저 설명 드리고
최신버젼을 위한 두번째 방식도 설명 드리겠습니다.

첫번째 방식 설치 & 사용

체 다운로드에서 eclipse-che-5.0.0-latest.tar.gz를 선택하여 다운 받습니다.
버젼이 5.0.0이라 쓰여져 있지만 현재까지는 (2016.12.5) 실제로 압축을 풀면 디렉토리 이름이
eclipse-che-4.7.2로 풀립니다.
이제 바로 사용해 보실 수 있습니다.

# 압축을 푼 디렉토리로 이동합니다. 저의 경우 홈아래 Downloads에 압축을 풀었습니다.
$ cd ~/Downloads/eclipse-che-4.7.2
$ cd bin
## ls 명령어를 치시면 che.sh 파일이 보이실 겁니다. 이 파일이 중요합니다.
$ ./che.sh start ## start 대신 stop을 쓰면 체(che)서버가 멈추게 됩니다.
## 아래와 같은 메세지가 출력되면 체(Che)서버가 잘 실행 된 것입니다.
############## HOW TO CONNECT YOUR CHE CLIENT ###############
After Che server has booted, you can connect your clients by:
1. Open browser to http://localhost:8080, or:
2. Open native chromium app.
#############################################################
 
Using CATALINA_BASE: /home/chlee/Downloads/eclipse-che-4.7.2/tomcat
Using CATALINA_HOME: /home/chlee/Downloads/eclipse-che-4.7.2/tomcat
Using CATALINA_TMPDIR: /home/chlee/Downloads/eclipse-che-4.7.2/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-8-oracle
Using CLASSPATH: /home/chlee/Downloads/eclipse-che-4.7.2/tomcat/conf/:/usr/lib/jvm/java-8-oracle/lib/tools.jar:/home/chlee/Downloads/eclipse-che-4.7.2/tomcat/bin/bootstrap.jar:/home/chlee/Downloads/eclipse-che-4.7.2/tomcat/bin/tomcat-juli.jar
Tomcat started.

위 메세지에 나온 것 처럼 브라우져에서 http://localhost:8080 접속하시면 체(Che) 화면을 보실 수 있습니다.
포트 값 변경등 설정 변경은 che.sh 파일을 에디터로 열고 조금 내려보시면
아래와 같은 환경변수 설정하는 부분이 보이실 겁니다.
여기에서 필요한 부분(아마도 포트번호와 IP가 될겁니다)을 바꿔서 체(che)서버를 다시 실행시켜 주시면 됩니다.

 # Command line parameters
 USE_BLOCKING_ENTROPY=false
 USE_DOCKER=false
 USE_VMWARE=false
 CHE_DOCKER_TAG=latest
 CHE_PORT=8080
 CHE_LOGS_LEVEL=INFO
 CHE_IP=192.168.0.111
 USE_HELP=false
##.....이하는 생략하겠습니다 ..................

이렇게 설치하신 경우는 시간에 여유가 있으시다면 버젼 4.7 문서를 읽어 보시면 도움이 됩니다.

두번째 방식 설치 & 사용

두번째 방식도 설치 자체는 어렵지 않습니다만,
방화벽 문제로 워크스페이스(WorkSpace)만들 때 실행이 잘 안될 수 있습니다.
이 방식의 설치를 위해선 도커(docker)이미지 컨트롤을 위해서 도커(docker) 버젼 1.8이상이 필요합니다.
docker 설치는 우분투에 Docker(도커) 설치,사용하기를 참조해 주십시오.

## che 스크립트 실행 파일을 /usr/local/bin 디렉토리에 가져옵니다.
 $ curl -sL https://raw.githubusercontent.com/eclipse/che/master/che.sh > /usr/local/bin/che
## 실행 권한을 줍니다.
 $ chmod +x /usr/local/bin/che
## che 서버를 시작합니다.
 $ che start[추가 옵션은 stop,restart,info,update 입니다.] ## 시작은 start만 쓰시면 됩니다.
## 저의 경우 도커(docker)이미지 다운로드 후에 아래와 같은 메세지가 보이면서 잘 실행 되었습니다.
WARNING: No swap limit support
INFO: ECLIPSE CHE: Found image eclipse/che-server:5.0.0-latest
INFO: ECLIPSE CHE: Starting container...
INFO: ECLIPSE CHE: Server logs at "docker logs -f che-server"
INFO: ECLIPSE CHE: Server booting...
INFO: ECLIPSE CHE: Booted and reachable
INFO: ECLIPSE CHE: Ver: 5.0.0-M7
INFO: ECLIPSE CHE: Use: http://172.17.0.1:8080
INFO: ECLIPSE CHE: API: http://172.17.0.1:8080/swagger

여기서 IP 172.17.0.1은 터미널에서 “ifconfig -a” 명령으로 확인해 보시면 도커(docker)설치후 만들어진
docker0란 이름의 가상 랜카드의 ip임을 아실 수 있습니다. 이 ip로 브라우져에서 접속 확인을 하셔도 되지만,
컴퓨터에 부여된 내부 IP로 바꾸는 것이 좋습니다.
방법은 아래처럼 호스트 환경 변수를 세팅후 시작 또는 재시작 하시면 됩니다.

$ export CHE_HOST_IP=192.168.0.111 ## 192.168.0.111은 제 컴퓨터 내부 IP입니다.
$ export CHE_PORT=7777 ## 포트번호를 초기값 8080에서 7777로 바꿉니다.
$ che restart ## 위의 설정값이 반영되어 체(che) 서버를 재시작합니다.

저의 경우 브라우져에서 위에 세팅한대로 제 컴퓨터이름 포트번호 7777로 접속하여
실행 모습을 확인하니 아래와 같은 화면을 볼 수 있었습니다.

사전에 정의된 샘플 워크스페이스 타입들의 리스트들이 보입니다.
각 샘플 워크스페이스의 사용방법은 이클립스 다큐먼트 를 참조하시면 좋습니다.

여기서는 JAVA-MYSQL 워크스페이스 만드는 방법 하나만 예로 설명 드려보겠습니다.
화면의 JAVA-MYSQL을 선택하시면, 자동으로 워크스페이스 이름부터 프로젝트 메타데이타 이름, 설명까지 채워지는데,
원하시는 이름과 설명으로 고치셔도 되고, 그대로 두셔도 됩니다.
화면을 아래로 스크롤 하시면 맨 아래 Create 버튼이,오른쪽 위 화면에도 CREATE 버튼이 보이는데,
누르시면 기중기가 물건을 움직이는 화면과 함께 진행되는 작업 내용의 로그가 보입니다.

만약 Starting workspace agent에서 너무 시간이 오래 걸리거나,아래와 비슷한 에러가 발생한다면
대부분 도커(docker)와 우분투 방화벽 관련 문제입니다.

Could not start workspace ....... 생략 .....or an unusually slow workspace boot.

이런 경우에는 아래 코드 처럼 원하시는 포트를 열어 주시고,
방화벽을 비활성화 시킨 뒤에 다시 체(Che)서버를 구동시켜 줍니다.

$ sudo ufw status ## 현재 방화벽 상태를 확인합니다.
$ sudo ufw disable ## enable이라면 disable 시킵니다.
$ sudo ufw allow 7777/tcp ## 구동 시키려는 포트를 열어 줍니다.

문제가 없다면 꽤 시간이 흐른뒤에 아래와 같은 화면이 보입니다.

이 샘플은 동물병원의 관리 웹 프로그램 샘플로 Project Explorer창에서 web-java-petclinic을 클릭해서
확장하시면 소스를 보실수 있습니다.
이 샘플은 MySql 데이타베이스를 사용하므로 데이타 베이스 검증을 위해
화면 중앙 상단에 dev-machine이라고 되어 있는 Select상자를 클릭해서 db를 선택하고,
그 바로 오른쪽 Select상자에서 show databases를 선택하고, 삼각형 모양의 실행 버튼을 누릅니다.
아래 터미널창에 데이타베이스명들이 나오는데 그 중에 petclinic이 출력됨을 확인하실 수 있을 겁니다.

데이타베이스 구동이 확인되었으니, 다음은 db를 선택한 select 박스에서 다시 dev-machine을 선택하고,
바로 오른쪽 select 박스에선 web-java-petclinic:build and deploy를 선택 하시고,
바로 옆 삼각형 실행 버튼을 클릭합니다.
아래 터미널 창에 다운로드 메세지들이 쭉 올라가지면,
바로 그 위에 preview : http://설정ip:포트번호가 보이실 겁니다.
그 부분을 클릭하시면 아래처럼 조금 시간이 흐른뒤에 Pet Clinic 샘플 웹 프로그램을 보실 수 있습니다.

간단한 예제이지만 잘 실행됩니다.

여기서 관심을 두셔야 할 부분은에서
show databases와 web-java-petclinic을 눌렀던 select 박스의 Edit Commands.. 부분입니다.
이 부분을 클릭하시어 확인하시면 해당 언어를 공부하시분은 실행 커맨드 설정이 이해 되실 겁니다.
(글을 이렇게 길게 쓸 땐 동영상으로 하고픈 마음이 간절합니다만, 장단점이 있다고 판단됩니다.)

여기서 혹 도움이 되실까 싶어,한번 더 저의 체(che)화면을 보여 드리면, 아래와 같습니다.

트러블 대응 및 개인평가

도커(Docker)와 연계되어 있어, 도커(Docker)의 기본 사용법이 숙지 되어 있지 않으시면,
해결 안되시는 문제들이 있을 수 있습니다만,
대부분 위에 언급드렸던 방화벽 문제이거나, 아래와 같은 메세지 경우 일 것입니다.

---------------------------------------
ERROR: !!!
ERROR: A container running ECLIPSE CHE named "che-server" already exists.
 1. Use "info" to find it's URL.
 2. Use "restart" to stop it and start anew.
 3. Stop it with "stop".
 4. Remove it manually (docker rm -f che-server) and try again. Or:
 5. Set CHE_SERVER_CONTAINER_NAME to a different value and try again.
ERROR: !!!
---------------------------------------

위와 같은 메세지의 경우에는 메세지 자체에 이미 답이 있습니다. 4번을 참고 하시어 아래 처럼 하시면 됩니다.

$ docker rm -f che-server
$ che start

방화벽과 위의 문제를 넘어서는 경우에는 적어도 아래 도커(Docker) 관련 기본 명령어의 사용법을 숙지 하시어,
도커(Docker) 이미지를 지우고 재설치 하시면 동작할 것으로 생각됩니다.

$ docker ps -a ## 도커 프로세스 전부 확인합니다. 
$ docker rm -f <도커 프로세스> ## 도커 프로세스중 선택하여 중지 시킵니다.
$ docker images ## 설치된 도커 이미지들 리스트를 보여줍니다.
$ docker rmi <이미지명> ## 삭제하고픈 도커 이미지를 삭제합니다.

개인적인 체(Che)서버 사용평가는 아직은 조금 느리고,답답한 부분이 있지만, 조금만 더 개선된다면,
개발자 입장에서 도커(Docker)기술로 인해 런타임 설치가 필요없으니, 사용자를 확보할 수 있을 것으로 보입니다.

이 글이 누군가에겐 조금이나마 도움이 되었으면 하는 작은 바램입니다.

소화자

존재를 드러내지 않고 무림의 배후를 조정하는 전설로만 전해지는 무엇이든 소화하는... 갑 오징어~^-^

Leave a Reply

avatar