지난번 포스팅에 적었다시피 Oracle 개발환경 구축이라는 드넓은 꿈을 안고 CentOS를 설치하길 이틀째. 운영체제는 정상적으로 설치되었고, ssh, vsftpd, java까지 완벽하게 설치되었다. 이제 오라클만 설치하면 되는데...
시간이 새벽 2시가 넘었네?;;;
과감히 서버를 내리고 한숨 자고 일어났더니... 아뿔싸... 갑자기 접근이 되지 않는 vsftp... 이유는 모르겠지만 ftp 포트 자체에 접근이 안되는 상황 발생... 과감하게 selinux와 iptables를 몽땅 내려보았으나 접속 실패... 왜 22번 port는 정상접근이 되면서 21번 포트만 접근이 안되는가... 눈물을 머금고 iptables를 삭제... 했더니 운영체제가 상당부분 날아가 버렸다.
그래서 지금 CentOS 재설치중...
아멍;리마넝ㅎ;ㅣㅁㄴㅇㅎ;ㅣㅁ넝ㄹ;ㅣㅁ나얼;ㅁㄴㅁ니ㅏ엄;ㅣ홈니ㅏㅇ호먼ㅇㄹ보새ㅑ멍맿보'ㅅ햫
(지금 보시는 글은 멘붕에 빠진 청음의 심리 상태를 표현한 글입니다.)
아무래도 보안성에 대해서는 따로 설정하지 않는 한 disable이 기본 설정인 우분투와는 다르게 서버용으로 나온 운영체제라서 그런지 모두 enable인 CentOS는 나에게 가끔 좌절감을 안겨주는편... 이번 포멧 이후에는 방화벽, vsftpd까지만 설치 한 뒤 충분한 테스트를 통해서 안정화 확인 후 작업을 진행해야겠다...
제가 최근에 관심을 가지고 있는 스프링을 공부해 보려고 해서 블로그에 다시 스프링 공부한 내용에 대해서 포스팅 하려 합니다.
아는분들은 제 강좌는 어느정도 선을 넘어가면 공부하는시간보다 블로그에 올리기 위해 정리하는 시간이 오래 걸린다는 핑계로 내팽겨침을 아실겁니다. 너무 기대는 하지 않으시길 바랍니다.
공부에 앞서서 제 개발 환경을 소개할까 합니다.
지긋지긋하게 오래 버텨주고 있는 삼보 드림프로(?) 컴퓨터입니다.
메인 컴퓨터는 아니고, 앞으로 Web, WAS, DB등을 올릴 리눅스 서버로 사양은 아톰 C330 + 2G램 + 750여기가의 HDD 디스크를 가지고 있습니다.
이전에 웹 게임을 돌리던 서버라서 사양은 영 아닙니다만 가벼운 개발 테스트용으로는 충분하다고 생각됩니다. (더불어 웹게임 서버 유지 및 토렌트 서버, 개인 NAS등을 겸하고 있는 전천후 서버의 역할을 하고 있습니다.)
사실 이번 공부를 하기에 앞서서 개발 환경에 오라클 DB를 올리기 위해서 싹 포멧하고 XenServer에 Oracle Linux와 Ubuntu로 가상화를 시켜서 사용할 예정이었습니다만.... RAM이 꼴랑 2G밖에 안되는 이유로 OS를 두개나 올릴 수 있는 상황이 아니더군요... 조만간 업글을 해버려야겠다라는 각오를 다지고 있지만 돈이 없다는 현실적인 이유로 보류중입니다.
또 다른 슬픈 이야기를 드리자면 오라클 데이터베이스는 우분투를 정식 지원하지 않는다는 이유(라고 쓰고 인터넷에 돌아다니는 우분투에 오라클 설치하기 방법을 따라하다 실패...)로 2008년 이후부터 2014년까지 사용하던 우분투 리눅스를 버리고 CentOS로 돌아가기로 했다는 점입니다. 조금씩 상이한 명령어들과 디렉토리 구조에 햇갈릴 생각을 하니 아이 씐나네요... ㅠㅠ
현재 CentOS 설치 USB를 만들 고 있고, 오늘 내로 설치를 시도하여 내일중으로 개발서버 설치 방법에 대한 포스팅을 하는 것이 목표임에도 불구하고... 잘 되련지 모르겠네요. 아무튼 조만간 개발서버 환경 구축 글로 돌아오겠습니다. 그럼 안뇽~
현재 내기 있는 연구실에서는 JAVA. & JSP를 이용하여 개발하는 환경이 대다수이다.
일단 우리 연구실의 개발환경을 소개하겠다.
현재 사용하고 있는 프로그램은 다음과 같다.
이 모든 프로그램들은 무료로 배포되고 있는 프로그램들이라 누구나 손쉽게 접근 할 수 있는 프로그램들이다.
JDK -> 1.6.x Ver.
HTTPD & WAS -> Tomcat Ver 6.x.x Ver.
Cygwin
eclipse -> Jave EE Edition
Java와 JSP의 개발환경을 구축하기 위해서는 먼저 JDK부터 설치하여야 한다.
가장 먼저 oracle 에서 제공하는 JDK 배포 홈페이지를 방문하여야 한다.
(현재 우리 연구실에서는 JDK 1.6Ver. 를 사용하기에 구버전을 다운받았다. 하지만 개인의 설정에 따라서 다른 버전을 사용하여도 지장은 없다.
위의 사진과 같이 Oracle 홈페이지에 가서 해당하는 JDK 버전을 다운 받은 후 설치 프로그램을 실행하면 된다. 아래의 사진은 설치프로그램을 실행하였을 때 실행되는 화면들이다.
우리가 사용하는 환경설정의 경우 JDK, JRE의 설치 경로가 다를 필요가 없기 때문에 기본 세팅값을 사용하였다. 하지만 JDK의 경우에는 설치 주소를 변경하면 환경변수만 수정해 주면 사용할 수 있지만 JRE의 경우 인터넷에서 사용되고 있는 프로그램들이 기본 설치주소를 참조하기에 에러가 나는 경우가 있으니 주소변경을 삼가도록 하자.
JDK의 설치가 끝났다면 윈도우에 환경변수 등록을 해주어야만 한다. 위 과정은 위의 슬라이드 쇼와 같으며 그림의 사각형의 부분을 클릭하거나 따라 타이핑하여도 설정이 쉽도록 만들어졌으므로 쉽게 따라할 수 있을것이다.
우리가 등록하여야 할 환경변수는 총 3가지가 있는데
JAVA_HOME, Path, CLASSPATH이다.
JAVA_HOME은 JAVA가 설치된 위치를 의미한다. 우리가 JAVA개발환경을 구축한적이 없으므로 기본설정값이 없다. 따라서 새로 만들기를 눌러 직접 생성을 해주어야 한다.
변수값에는 JDK가 설치된 절대경로를 입력하면 된다.
Path는 윈도우에서 사용할 명령어들이 탑재된 주소를 입력해 주면 된다. JDK에 포함된 명령어들은 자바를 설치한 곳 아래 bin이라는 폴더에 들어있다. 이미 설정되어 윈도우에서 기본적으로 사용되고 있는 명령어들의 주소가 있기 때문에 시스템 변수에서 찾아 수정을 통해 추가하여야 한다.
Path의 가장 뒷 부분에 ;%JAVA_HOME%\bin
을 추가시켜주면 된다. 첨부된 이미지에서는 JAVA_HOME의 절대경로를 입력하여 세팅되었다.
마지막으로 CLASSPATH는 JAVA에서 사용하는 클래스들의 위치를 알려주는 것으로 JDK에 탑재된 값들은 JAVA설치경로 아래에 lib라는 폴더 안에 tools.jar이라는 파일로 묶여있다. 이것을 추가해 주어야 하는데 기본적으로 만들어져있는 값이 없으므로 새로 만들면 된다.
값에는 .;%JAVA_HOME%\lib\tools.jar로 입력하면 된다. 앞의 점을 빠뜨리면 안되니 유의하도록 하자.
(위의 캡쳐된 화면에는 .;%JAVA_HOME\lib\tools.jar로 되어 있는데 잘못 캡쳐한 부분이다.)
환경변수의 설정이 끝났다면 JDK가 제대로 설치되었는지 확인해야 하는 작업이 남았다.
CMD창에 들어가서 다음과 같은 명령어에 제대로 뜨는지 확인하도록 하자.
JDK의 설치가 종료되었다면 윈도우에서 마치 LINUX를 사용하는 것처럼 사용하게 하는 Cygwin을 설치해 보도록 하자. 아래와 같이 홈페이지에 들어가서 다운로드 파일을 받으면 된다.
시그윈의 경우 위의 슬라이드쇼와 같이 홈페이지에 들어가면 간편하게 다운받을 수 있다.
다운 받은 설치파일을 실행시키면 다음과 같은 진행순서에 따라서 프로그램이 설치되게 된다.
cygwin의 미러사이트가 한국에는 없기 때문에 그나마 가까운 일본의 jaist를 선택하였다.
프로토콜방식은 ftp를 선택하였고, 설치할 패키지로는 vim과 ncftp를 설치하였다. 그 이외에도 많은 설정이 가능하지만 개발환경에 필요하지 않으니 그냥 기본설정으로 넘기면 된다.
설치가 완료되면 다음과 같이 cygwin의 아이콘이 나오게 되고, 더블클릭하면 아래와 같이 리눅스 명령어들이 실행되는 창이 뜨게 된다.
이번에는 Tomcat을 설치할 차례이다.
다른 프로그램들처럼 공식 홈페이지에 가서 프로그램을 받으면 된다.
여기서 Tomcat의 다운로드 위치는 실제로 Tomcat을 설치할 경로쪽에 받도록 하자. 우리가 받은 Tomcat은 인스톨 형식이 아닌 압축을 풀면 사용이 가능한 버전이라서 푸는 경로가 곧 설치 위치이다.
(Test결과 실제로 zip파일을 받아도 상관은 없다. 현재 압축형 파일들은 Java로 개발된 것인지 Windows와 cygwin환경 양쪽에서 다 구동되는 것을 확인하였다.)
cygwin에 들어가서 압축을 해제한다. 압축이 tar.gz으로 되어 있기 때문에 해제할때도 cygwin상에서
tar를 이용하여 압축을 해지하여야만 한다. 압축해지명령어는 다음과 같다.
tar -zxvf 파일명
압축을 해제한 디렉토리에 들어가보면 bin 디렉토리가 있을 것이다. 이 bin 디렉토리 안에 Tomcat을 켜고, 끌 수 있는 파일이 있으니 들어가서 startup.sh파일을 실행하여 Tomcat이 실행되는지도 테스트해 본다. Tomcat을 켜고 웹 브라우저에 http://localhost:8080을 쳤을때 캡쳐와 같은 화면이 나오면 정상적으로 올라온 것이다. Tomcat을 끌때에는 shutdown.sh를 이용하면 된다.
Tomcat의 설치가 끝났다면 이제 마지막으로 이클립스만 다운받아서 설치하면 된다.
이클립스는 대표적인 IDE 툴로 JAVA나 JSP코딩을 할 때에 유용하게 쓰인다.
다른프로그램들과 마찬가지로 홈페이지에서 다운을 받으면 된다.
우리는 JSP와 JAVA의 프로그래밍을 병행할 예정이기 때문에 JAVA EE버전을 지원하는 버전으로 사용하여야 한다. 이클립스는 무설치버전이기 때문에 다운을 받아 그냥 실행하면 된다.
프로그램을 실행하게되면 workspace라고 작업하는 파일들을 저장할 경로를 선택하게 되어 있다. 필자의 경우에는 d:\dev 에 workspace라는 폴더를 만들어서 사용하고 있다. 확인을 누르면 안내페이지가 나오는데 꺼버리고, JSP작업을 하기 위해 우측 상단에 JAVA EE 인지를 확인한다. 그리고 설정으로 넘어가서 우리가 설치한 Tomcat을 잡고, 다이나믹 프로젝트를 생성한 뒤 JSP파일을 만들어서 돌려보면 된다. 이때 버그도 확인되고, 실행결과도 볼 수 있다.
(주. 이때 cygwin에서 Tomcat을 종료해놓지 않았다면 이클립스를 통해 결과물을 확인할 수 없다.)
하지만 이와 같은 방식은 이클립스에 상당한 과부하를 주게 되므로 간단한 파일일 경우에는 모르나 큰 프로그램의 경우에는 사용을 지양하는것이 좋다. 따라서 코딩만 이클립스에서 하고, Tomcat에 해당 소스코드를 연동하여 실행하는편이 프로그램의 과부하를 줄이는 길이다.
아래의 코드는 http://localhost:8080/project 를 다른 위치의 디렉토리에 연결하는 방법이다. server.xml에 context를 추가하여 연결하면 된다. Tomcat 5.5부터는 server.xml에 context를 직접 작성하지 않고 conf/Catalina/localhost/ 에 project.xml 이라는 이름으로 context를 만들어서 사용하는것을 권장하고 있다.
아래의 캡쳐를 따라해 보도록 하자.
이 방식으로 작업할때의 파일은 D:\dev\workspace\WebProject\WebContent 안의 파일을 편집하여 하고, 이 코드를 확인할때는 Tomcat을 활성화시켜서 http://localhost:8080/project/파일명
을 이용하여 하면 된다.
이번에는 JSP의 환경 설정법을 알아보았다. 익숙하지 않겠지만 가능하면 cygwin을 적극적으로 활용하여 server 설정을 변경해 보도록 하자. 대부분의 서버들은 유닉스/리눅스를 이용하기때문에 cygwin 환경에 익숙해지지 않는다면 간단한 서버설정변경도 힘들어지게 된다. 전문가적인 수준은 아니더라도 간단한 설정정도는 쓸 수 있도록 노력하도록 하자.
이것으로 JSP 개발환경 설정에 대한 포스팅을 마친다.