Railo Webhosting?
Railo는 오픈소스로서 무료로 쓸 수 있는 Coldfusion engine입니다. Coldfusion을 개발하거나, Test, 공부하기 위해서는 자신의 PC에 Railo 엔진을 설치하여 이용할 수 있습니다만, 실제 서비스를 목적으로 하는 경우에는 당연한 이야기이지만, 웹호스팅이나 웹서버를 임대하여 사용해야 합니다. Coldfusion 웹호스팅을 전문적으로 제공하는 업체가 국내에 없기 때문에 일반적으로 JSP/서블릿 호스팅과 Railo에서 제공하는 WAR(Web ARchive)를 이용하여 자신만의 웹호스팅을 만들 수 있습니다.
지금 Coldfusion을 바로 시작할 수 있습니다. 아래의 내용을 참고하여 주세요. 이제 국내의 JSP/Servlet호스팅환경에 Railo를 적용하여 나만의 Coldfusion 호스팅을 만들어보는 시간을 갖도록 하겠습니다.(기초적인 웹, FTP, SSH 등의 사용법과 Apache 등의 웹서버 환경에 대한 선행학습이 반드시 있어야 원활하게 따라 할 수 있습니다.)
About Railo
Railo는 스위스의 Railo Technologies에서 만든 Coldfusion 해석엔진이며, Adobe Systems사의 Coldfusion에 대응하는 오픈소스로 제공되는 Opensource Coldfusion WAS(Web Application Server)입니다. Web Administrator, CFC(콜드퓨전컴포넌트), UDF(사용자정의함수), Flash Remoting, Integrated Flex(BlazeDS) 등 Coldfusion 8에서 제공하는 거의 대부분의 기능을 제공합니다. Railo는 매우 빠르고, 가벼우며, 적용이 쉽습니다.
Get Railo
Railo는 다음의 URL에서 다운로드 할 수 있습니다. PC에서 Test용으로 다운로드 후 바로 실행할 수 있는 Express edition과, Server에 적용하여 본격적으로 이용할 수 있는 Server edition, 그리고 웹호스팅환경, Legacy J2EE WAS환경에 적용하여 확장할 수 있는 Custom edition을 다운로드할 수 있습니다.
Railo Express Edition은 Jetty Webserver가 내장되어 있어, 별도의 서블릿환경을 구축하지 않아도 되며, Railo Server Edition은 Caucho의 Resin 3.X이 기본 서블릿엔진으로 내장되어 있으며, Railo Custom Edition은 Caucho Resin, Apache Tomcat, Mortbay Jetty, JBOSS, Weblogic, Glassfish 등의 타 JSP/Servlet엔진에 Deploy할 수 있는 버전입니다.
http://www.getrailo.org/index.cfm/download/
Get Webhosting
자신이 알고 있는 국내에서 JSP/Servlet환경을 제공하는 웹호스팅 업체를 선택하여, 상품을 신청하십시오. 국내에서 JSP호스팅을 신청할 수 있는 몇몇 호스팅업체중 JSP 제공 환경이 저의 주관적인 생각에 제일 좋은 곳은 Cafe24.com입니다. 가격도 저렴할 뿐만 아니라 Railo와 같은 WAR(Web ARchives)를 적용하는데 있어 필수적인 기능인 각각의 Host마다 Tomcat과 같은 Servlet엔진을 시작/중지할 수 있는 단독 구동 권한을 제공합니다.(Tomcat과 같은 Servlet엔진을 단독으로 이용할 수 없어도 Railo를 이용할 수 있습니다만, 가능하면 단독환경이 좋습니다.) 물론 현재의 제 블로그 역시 이곳에서 호스팅을 받고 있습니다. 현재는 Cafe24의 VPS(가상서버)호스팅으로 Railo를 적용하여 서비스 하고 있습니다. (광고를 목적으로 안내하는 것이 아니기 때문에 타 업체를 이용하셔도 무방합니다.)
http://www.cafe24.com/special/hosting_jsp_spec.php
신청 후 완료 확인메일을 받으시면 먼저 Tomcat Mapping이라는 작업을 해줘야 합니다. 이 작업은 Apache WebServer에게 .cfm과 .cfc 파일을 일반 바이너리파일로 인식하지 않고, Railo에게 해석해 달라고 연동을 해주는 작업이라고 보시면 됩니다. 즉, CFML의 기본문서인 cfm파일과 cfc(Coldfusion Componet)파일을 사용할 수 있도록 설정하는 것 입니다. Cafe24.com을 기준으로 적용방법에 대하여 설명드리겠습니다. Cafe24.com에서 자신의 아이디로 로그인 후 "나의 서비스관리"라는 메뉴로 가보시면 왼쪽에 "톰캣매핑"이라는 메뉴가 있는데 이곳에 .cfm과 .cfc를 등록만 해주면 됩니다. (cfm과 cfc앞에 . 마침표 기호가 있습니다.) 대부분의 웹호스팅업체가 이와 비슷한 과정을 거치므로 타 업체를 이용하신다고 해도 내용을 잘 따라 하시면 될 것입니다.
Deploying Railo
Tomcat에 Railo를 Deploy하기 위해서는 Railo Custom edition을 자신의 PC에 다운로드합니다. 2009년 8월 현재 Railo는 3.1 버전을 배포하고 있습니다. 3.0버전의 경우 별도의 Free License를 받아야 하므로 3.1버전을 다운로드 하도록 합니다.(이 버전은 Opensource버전이며, 기능이 더 많이 추가되어 있습니다.) 다운로드 할 버전은 railo-3.1.1.000.war (33MB) 입니다.
다운로드한 railo-3.1.1.000.war (33MB) 파일을 FTP등을 이용해서 자신의 웹호스팅 디렉토리에 업로드 합니다. Cafe24의 경우 주요 디렉토리는 다음과 같습니다.(Cafe24만의 독자적인 구조이니, 타 업체의 경우 다를 수 있습니다.)
- 자신의 홈 디렉토리 : /home/hosting_users/계정명/
- 웹루트 디렉토리 : /home/hosting_users/계정명/www/ (이 디렉토리안에 Railo의 war파일을 업로드해야 합니다.)
- Tomcat 디렉토리 : /home/hosting_users/계정명/tomcat/
Cafe24.com의 경우 Tomcat Manager을 지원하지 않고, SSH를 통하여 직접 Tomcat을 구동할 수 있습니다. 또한 WAR파일을 적용할 때 역시 SSH를 통하여 Tomcat의 Webapps 디렉토리가 아닌 자신의 웹루트에 업로드하여 압축을 푸는 것만으로 Tomcat에 자동으로 Deploy되도록 되어 있습니다. 다른 업체의 경우 다를 수 있습니다.
업로드한 Railo의 WAR파일은 다음과 같이 jar 명령어로 압축을 풀어줍니다.
| test@locahost:~s jar xvf railo-3.1.1.000.war |
Railo WAR파일의 압축을 풀면, 전에 없던 디렉토리와, 파일들이 생기는데, 특히 WEB-INF 디렉토리와 하위 파일/디렉토리는 절대 삭제하여서는 아니됩니다. 이 디렉토리안에 Railo가 설치되고, 적용되어 있기 때문입니다. 따라서 만일의 삭제했을 경우를 대비하여 압축을 풀었던 Railo WAR파일을 따로 백업해 두길 바랍니다.(Railo 홈페이지에서 버전이 새로 발표되면, 구버전을 다운로드 할 수 없게될 수 있습니다.) 그리고, 웹루트상의 WAR파일만 삭제합니다.
이제, Tomcat을 재시작해 주어야 합니다. SSH로 접속하여 자신의 /home/hosting_users/계정명/tomcat/bin/으로 이동합니다. 다음과 같이 톰캣을 재시작해 줍니다.(가급적 재시작보다는 중지 후 시작을 다시 해주는 것이 낫습니다.)
| test@localhost:~$ cd /home/hosting_users/계정명/tomcat/bin test@localhost:~$ ./catalina.sh stop test@localhost:~$ ./catalina.sh start |
자, 이제 마지막으로 브라우저로 접속해 볼까요? http://도메인/index.cfm 으로 접속해 보세요. 정상적으로 Dump된 화면을 보시면 설치가 성공한 것입니다.
Index.cfm 파일 적용하기
Cafe24와 같은 웹호스팅환경에서는 기본적으로 index.cfm파일에 대하여 Apache웹서버의 DirectoryIndex문서처리를 해주지 않습니다. 일반적으로 한국내에서 cfm파일이 생소하여 그것이 뭔지 모르기 때문이기도 하거니와, PHP파일 역시 처음 서버를 설치한 후 추가적으로 Apache에 PHP를 인식하고 해석하도록 설정을 해주는 작업은 어짜피 동일하기 때문입니다. 따라서 브라우저에서 도메인만 입력하면 페이지를 찾을 수 없다고 나오거나, http://abc.com/board/ 와 같이 디렉토리까지만 입력하면 역시 404에러가 나오는 이유는 실제 board안에 index.cfm문서가 있어도 Apache가 그것이 기본문서로 지정되어 있지 않아서, index.htm, index.html, index.php파일이 없으므로 404 에러를 출력하게 되는 것 입니다.
그렇다면, 일반 웹호스팅계정으로서 Apache 설정파일에 어떻게 index.cfm이 기본문서라고 지정해 줄 수 있을까요? 세가지의 방법이 있습니다. 제일 좋은 방법은 서버관리자에게 Apache의 설정파일인 httpd.conf파일에 index.cfm을 지정해 달라고 할 수 있습니다. 하지만 거의 100% 거부할 것입니다. 아직은 Coldfusion이 일반화되어 있지 않거니와, httpd.conf에 적용하게 되면, 같은 서버에 있는 다른 웹호스팅계정에도 영향을 주게 됩니다.
두번째 방법은 index.htm파일을 만들어 각각의 디렉토리마다, 하나씩 넣어두고, <script>의 location.href 기능을 이용해서 index.cfm으로 늘 Redirectiong 해주는 방법이 있습니다. 하지만 이 경우 매 디렉토리를 만들때마다 하나씩 넣어줘야 하고, 특히 Session등의 공유를 위한 페이지에서는 문제가 발생할 수 있습니다.
그렇다면 가장 안전하고 편한 방법은? 다행히도 Cafe24는 각각의 호스팅계정에서 .htaccess파일을 이용하여 Apache의 일부 기능을 제어할 수 있도록 허용하고 있습니다.(사실 보안상 좋지 않은 방법이나, 사용자별로 독자적인 환경 구축을 위해서는 어쩔 수 없는 선택입니다.) 메모장 등에서 다음과 같이 입력하고, 파일명을 .htaccess로 저장합니다.(.점 기로가 앞에 있고, 확장자가 없습니다.)
DirectooryIndex index.htm index.html index.cfm index.cfml index.php
이 파일을 웹루트 디렉토리 상위 디렉토리안에 저장합니다. 즉, /home/hosting_users/계정명/ 안에 저장합니다. 웹루트 디렉토리인 www안에 저장하면 절대 위험합니다. 공격자가 이 파일을 접근할 수 있게 되며, 이를 수정하여 시스템 전체를 공격할 수 있습니다. 반드시 웹루트 상위 디렉토리의 본인 계정 홈디렉토리에 두어 브라우저에서 접근할 수 없도록 해야 합니다.
접속하기
자 이제 모든 설치가 끝났습니다. 자신의 웹디렉토리에서 Railo의 관리자를 접속해 보도록 하겠습니다. Railo는 크게 관리자모드가 2개가 있습니다. 하나는 전체 호스트를 관리라는 Server Administrator와 각각의 호스트별로 설치되는 Context별 관리자인 Web Administrator입니다. 이렇게 하는 이유는 보안상 유리하기 때문입니다. 먼저,
http://도메인/railo-context/admin/index.cfm 으로 접속하시어 Web/Server모두 패스워드를 설정해 줍니다. 각각 처음 접속하여 연속 두번 패스워드를 입력하면 앞으로 해당 패스워드로 관리자모드를 관리할 수 있습니다. 그런 다음 로그인하여 Server Administrator에서 Regional, Datasource, Mail 등의 메뉴항목을 클릭하여 본인의 서버환경에 맞게 설정해 줍니다.
나머지 기타 설정에 대하여는 댓글로 남겨 주시거나, 제가 운영하고 있는 네이버카페(http://cafe.naver.com/opencfml.cafe)로 문의 바랍니다.

|


ColdFusion (74)