elmitash의 모든 글

일본에서 일하고 있는 자바 웹 어플리케이션 개발자.

Ruby on rails 프로젝트 생성과 웹서버 기동

생성할 프로젝트 이름이 ‘rcafe’ 일 경우에 이클립스 터미널에서 이클립스 워크스페이스까지 디렉토리 이동 후에 아래 명령으로 프로젝트를 생성한다.

생성시에

이런 에러가 나면 윈도우를 재기동(리부팅)하면 된다.
Couldn’t reserve space for cygwin’s heap

프로젝트는 workspace/rcafe 디렉토리로 생성된다. 이클립스에서 임포트 -> ‘신규프로젝트로서 기존 폴더를 사용’ 메뉴를 선택, 불러올 디렉토리를 rcafe 디렉토리의 경로를 선택해 주고 프로젝트 타입을 rails 로 선택해서 불러 오면 된다.

이클립스 터미널에서 아래 명령으로 웹서버를 기동

이런 에러가 나면 루비 설치 루트\lib\ruby\gems\2.2.0\specifications\sqlite3-1.3.10-x64-mingw32.gemspec 파일을 열어

윗 부분을 아래와 같이 바꾼다.

다시 웹서버 기동하면 이번엔 아래와 같은 에러가 나온다.

nokogiri-1.6.6.2-x64-mingw32 를 언인스톨하고, nokogiri-1.6.7.rc3-x64-mingw32 버전을 설치한다.

생성한 프로젝트 루트에 있는 Gemfile 파일을 열어서 파일 제일 아래에 아래 줄을 추가한다.

번들 업데이트를 실행

웹서버를 재기동하면 일단 기동은 성공한다.

Couldn’t reserve space for cygwin’s heap

문제: Couldn’t reserve space for cygwin’s heap

답: 윈도우 재기동

Git Extensions: Win32 error 487: Couldn’t reserve space for cygwin’s heap, Win32 error 0

이클립스 터미널에서 루비의 레일즈 새 프로젝트 생성시 저 에러 메시지로 시작되는 에러가 발생했다.
상세한 내용은 위 링크에 잘 쓰여 있는데, 가장 간단한 해결 방법은 윈도우 리부팅이다.

Ruby on rails 이클립스 윈도우 개발 환경 설치

윈도우 10 에서 루비 Ruby 와 Ruby on rails 를 설치한다. 개발 툴은 이클립스 Eclipse 를 사용하고, Aptana Studio 플러그인을 설치해서 루비와 Ruby on rails 개발 환경을 구축하는 방법을 설명한다.

주의: 이 글에서 설명하는 것은 루비나 Ruby on rails 를 전부 최신 버전으로 설치하는 경우이기 때문에 특정 버전으로 루비나 Ruby on rails 를 설치해야하는 경우에는 참고만 하기 바란다.

루비 설치

http://rubyinstaller.org/downloads/ 에서 윈도우용 루비 설치파일을 받아서 설치한다.
설치시에 루비 실행 파일 패스 추가하는 옵션에 꼭 체크하자. 안 그러면 수동으로 해 줘야 한다.
윈도우키 + X 키를 눌러서 나오는 메뉴에서 ‘명령 프롬프트’를 선택해서 프롬프트 화면 열고, 아래 명령으로 루비가 잘 설치되었는지(실행 파일 패스가 제대로 설정되었는지)를 확인한다.

루비 설치파일로 설치할 때 나오는 체크 옵션 중에 td/tk는 루비로 GUI 어플리케이션을 개발할 때 사용하는 것이니 관심 있으면 체크해서 같이 설치하자.

Development Kit 설치

이걸 설치하지 않으면 Ruby on rails 설치 후 프로젝트를 생성할 때 에러가 난다. 미리 설치하자.
http://rubyinstaller.org/downloads/ 로 들어가면 하단 부에 있다. 루비 2.0 이상 버전 중에서 쓰고 있는 환경에 맞춰서 32비트나 64비트 설치 파일을 받으면 된다. 파일을 받은 후에 실행하면 압축 해제 다이어로그가 나오는데 루비를 설치한 폴더 아래에 devkit 폴더에 압축을 풀자. 설치 방법은 프롬프트 화면에서 devkit 폴더로 이동한 다음 아래 커맨드를 실행하면 된다.

설치는 순식간에 끝난다.

gem 업데이트

프롬프트 화면에서 gem 업데이트를 한다.

Ruby on rails 설치

설치는 6분 정도로 좀 오래 걸렸다.

이클립스 플러그인 Aptana Studio 설치

Aptana Studio는 웹 개발 툴인데 html, css, javascript, php, python 그리고 루비와 Ruby on rails 개발에 여러 가지 편리함을 주는 툴이다.
이미 이클립스를 사용하고 있다면 플러그인 형식으로 이클립스에 설치하면 되고, 루비 개발에만 사용할 것이라면 Aptana Studio 자체를 다운로드 해서 설치하면 된다. 이클립스랑 거의 같은 UI 이기 때문에 별 다르지 않을 것이다.

여기서는 이클립스 플러그인으로 Aptana Studio 설치 방법을 설명한다.
우선 이클립스를 실행하고, 메뉴에서 Help -> Install New Software 를 선택한다.
팝업 화면에서 Add 버튼을 누르고 이름에 ‘Aptana Studio’ 를 넣고, 장소에 http://download.aptana.com/studio3/plugin/install 를 넣는다. 그다음부터는 적당히 Next Next 동의 체크하고 완료 정도로 플러그인을 설치하기 시작할 것이다.

설치가 끝나면 이클립스를 재기동 시키고, 프로젝트 익스플로러에서 오른쪽 클릭 -> 신규 -> Rails 프로젝트로 Ruby on rails 프로젝트를 생성할 수 있다.

따라 해보자
초보자를 위한 레일스 가이드북 – https://www.gitbook.com/book/rorlab/railsguidebook

CentOS 7.1 최소 설치 후 SSH 포트 번호 변경 방법. 방화벽 포트 열기

CentOS 7.1을 최소 설치 후, SSH 포트를 변경하는 방법을 설명한다. CentOS 7.1에서 바뀐 명령도 있는 것 같고, 최소로 설치하면 설치가 안된 툴들이 있어서 그런지 우분투에서 쓰던 여러 명령들이 작동하지 않는다. 애초에 우분투와 다른 명령들도 많고…

IP 주소 고정

CentOS 설치 과정에서 네트워크 설정으로 들어가서 IP 주소를 고정으로 할당 받도록 하면 일이 많이 편해진다. 설치 과정에서 설정하지 않았으면, 아래 파일을 편집 후 네트워크를 재시작해야 한다.

ifconfig 로 현재 IP 주소를 알아보려고 하면 command not found. 이럴때는 ifconfig 대신 ip 명령을 사용하면 된다.

ifconfig 커맨드를 쓰려면 net-tools 팩키지를 설치하면 된다.

SSH 포트 번호 변경

우분투와 다름없이 아래 명령으로 sshd_config 파일을 열어서 Port 부분의 주석을 해제하고 원하는 포트 번호를 써주고 파일을 저장한다.

로 되어 있는 걸

으로 고치고 저장한다.

그리고, SSH데몬 재기동

테라텀으로 서버 IP 주소에 바꾼 포트 번호로 접속을 해 봐도 접속이 안될 것이다. SSH 포트가 제대로 바뀌어 있나 확인 해 보자.

열려 있는 포트 중에 위에서 바꾼 새로운 SSH 포트 번호인 1022가 나오지 않는다.

이유는 CentOS 에 있는 SELinux가 SSH 포트를 기본 SSH 포트인 22번으로 고정하고 있기 때문이다. SELinux 의 SSH 포트 정의에 1022 번을 추가하기 위해서는 semanage 명령이 필요하다. 하지만, semanage 명령을 쳐보면 command not found. semanage 툴을 설치하자.

먼저 SSH 포트 정의 내용을 확인한다.

ssh_port_t 라는 이름으로 TCP 22번이 쓰여져 있다.

아래 명령으로 ssh_port_t 정의에 TCP 포트 1022번을 추가한다. 시간이 좀 걸린다. 기다리자.

다시 SSH데몬 재기동 후, 포트가 열려 있는지 다시 확인한다.

이번에는 1022번이 열려 있는걸 확인 할 수 있다.
다시 테라텀으로 접속해 보면 여전히 접속이 안될 것이다. 이번엔 방화벽이 문제다.

방화벽 포트 열기

CentOS 에서는 방화벽이 돌아가고 있고, 기본 SSH 포트인 22번 포트는 열려 있지만, SSH 포트를 임의의 포트 번호로 변경을 했을 때는 당연히 그 포트 번호는 방화벽으로 막혀 있는 상태이다.
방화벽에 새로 지정한 SSH 포트 번호를 추가해야 한다.

CentOS 7 에서는 기본 방화벽인 iptables 대신 firewall 을 사용한다.

현재 방화벽 상태는 아래 명령으로 확인한다.

명령 실행 결과

services 에 ssh 는 포트 22번이기 때문에, ports 에 TCP 1022번 포트를 추가해 줘야한다.

아래 명령을 실행해서 1022번 포트를 추가해 주고, 방화벽을 리로드 한다. 그리고, 확인.

ports 에 1022/tcp 라고 되어 있으면 포트 번호가 제대로 추가된 것이다.

이제 테라텀으로 접속하면 잘 접속 될 것이다.

우분투 서버 14.04 LTS 톰캣 웹서버 설치 후 war 파일 배치(디플로이) 방법

우분투 서버 14.04 LTS 에서 톰캣7 웹서버을 설치하고 war 파일로 된 웹어플리케이션을 배치(디플로이)해서 확인하기까지의 과정을 설명한다.

톰캣 설치

먼저 당연하게 톰캣을 설치해야 한다. 우분투 서버 14.04 LTS 에서 최신 버전인 7.0 버전을 설치한다.

설치를 하면 service tomcat7 으로 톰캣이 실행 된다.
브라우저에서 <톰캣을 설치한 서버의 IP 주소:8080> 로 접속해 본다.

톰캣7 설치 후 브라우저에서 접속한 화면
톰캣7 설치 후 브라우저에서 접속한 화면

apt-get 으로 톰캣을 설치하면 별 문제 없이 설치가 될 것이다.

war 파일=웹어플리케이션 배치(디플로이)

브라우저로 접속한 화면의 글을 잘 읽어 보면 CATALINA_HOME 은 /usr/share/tomcat7 이고, CATALINA_BASE 는 /var/lib/tomcat7 이라고 나와 있다.
이전 글 톰캣 CATALINA_HOME vs. CATALINA_BASE 에서도 이야기 했지만, 우분투 톰캣7에서는 기본적으로 웹어플리케이션 배치(디플로이)는 CATALINA_BASE 를 이용한다.

war 파일의 배치 장소는 CATALINA_BASE/webapps 이며, 경로로는 /var/lib/tomcat7/webapps 가 된다.
webapps 디렉토리는 tomcat7 유저 소유이므로 winSCP 등으로 war 파일을 업로드 할 때는 직접 webapps 디렉토리에 올릴 수가 없다. 먼저 현재 계정의 home 디렉토리에 war 파일을 업로드 하고 sudo 명령으로 webapps 디렉토리로 복사 하도록 하자.

구글에서 sample war 로 검색해서 나온 Calendar.war 파일을 배치 해 보았다.
파일을 복사 한 다음에 리스팅을 해 보면 이미 배치가 끝나서 Calendar 디렉토리로 전개 되어 있는 모습을 볼 수 있다.

아까 접속 했던 브라우저 주소 뒤에 전개 된 디렉토리 이름인 Calendar 를 아래와 같이 붙여서 브라우저로 접속해 본다.

배치 후 접속 화면
배치 후 접속 화면

별 내용이 없는 어플리케이션이라 화면이 횡하지만 어쨋든 잘 접속 된다.
디플로이는 이런 식으로 하면 된다.