2008년 1월 11일 금요일

멜론 파일(DCF)를 MP3로 만들자.. #1

이 글을 읽는 여러분들은 컴퓨터를 언제 가장 많이 쓰는가?
사람들 마다 답이 다르겠지만, 나는 아마도 음악을 듣는데 가장 많이 쓴다고 답변할 것이다.

그것도 그런것이 공부할 때, 작업할 때, 개발할 때, 문서 작업 할 때..
따지고 보면 게임 할때를 제외하고는 계속 컴퓨터에서 음악이 흘러 나온다.
시간으로 따지고 보면 음악 재생 프로그램이 가장 오랜 시간동안 동작한다.
그럼 음악을 재생할 때는 어떤 매체를 이용하는가?

CD라고 생각하는 사람들이 있겠고.. 십중팔구 MP3라고 대답할 것이다.
LP라고 대답하는 사람은 없겠지? 카세트 테이프?? 오지마라..

MP3 파일은 어디서 구하는가? 어둠의 경로?
몇개월전에 벅스뮤직에서 월 15000원인가 10000원인가에 MP3 무제한 다운로드 서비스 열었다가
저작권 때문에 한방 맞은것을 기억한다.
요즘 가장 뜨는 음악 사이트는 아마 멜론이 아닐까..
멜론에서 MP3파일을 받을 수 있는가?? 정답은 No.
멜론에서는 DRM(Digital Rights Management) 형식의 DCF 파일을 다운로드 받을 수 있다.
DCF 파일에 대해서 간단히 얘기하자면... 기간과 재생 장치가 정해져 있는 MP3파일이다.

얼마전인가 DCF파일에서 MP3로 변환하는 방법을 알아낼려고 무지하게 애를 썼었다.
결국 알아낼 수 없었다. 지금 깨달은 거지만... 앞으로도 알아낼 수 없을 것이다.
아니지 언젠가는 크랙이 되겠지만. 가까운 미래에는 불가능 할 것이다.

그럼 멜론의 DCF의 재생방식에 대해서 알아보자.. 이부분은 순전히 내 추측으로 쓰는것이다.
(태클 환영합니다.) 내 추측이니 그냥 그런갑다 생각해주면 너무 고마울것 같다.

사용자 삽입 이미지


서버에 음원파일이 있고 Melong Player를 통해서 DCF 다운로드 또는 스트리밍을 한다.
음원파일은 WAV가 될수도 있고 MP가 될수도 있는데 멜론서버를 통해서 날짜와 아이디를 이용하여 암호화 된다. 물론 휴대폰이나 MP3플레이어로 전송될때는 날짜와 플레이어 고유 ID를 통해서 암호화 되는걸로 보인다.
결론적으로 다운로드 된 파일은 DCF 파일이며 MP3플레이어에서는 날짜와 휴대폰으로 복호화 해서 재생을 하게 된다.

자 그럼 이걸을 어떻게 분석할 것이가...

이렇게 생각하는 사람들 분명히 있을것이다. 그럼 날짜와 MP3플레이어 아이디 이용해서 복호화 시키면 바로 MP3 파일로 변환할 수 있겠네... 라고 생각하는 사람...
그게 진작 되었으면 멜론은 망했다라고 하자...
물론 불가능한건 절대 아니다... DVD도 크랙되었고. WMV도 크랙된 적이 있다.
이것도 언젠가는 크랙되겠지... 그래서 한번 해볼까 하고 DRM 스펙이라던지 뭐.. 별별 자료는 다 찾아 봤지만 결론은 힘들다 였다.
그리고 크랙이 되었을 경우에... 멜론에서 가만히 있지 않는다. 암호화 방식을 약간 변경한다던지 키 값 생성방법을 다르게 하면 또 분석해서 크랙해야 된다.
결론적으로 저것을 기획한 사람이 아니면 원천 봉쇄적인 크랙은 안된다는 것이다.

이에 관련 자료를 웹사이트에서 찾아봤더니
대부분 멜론플레이어를 재생하고 루프백으로 녹음하는 방법을 사용하더라.
뭐 이 글에서도 그런 방법을 사용할것이다. 이 문장 읽고 실망하시는 분들 좀 더 읽어보던지
아니면 그냥 돌아가던지...

그럼 내가 쓰는 이 글이 다른글하고 무슨 차이가 있어? 라고 생각하는 사람들 있을것이다.
그런 사람들은 내 블로그 이름을 다시 한번 살펴보고..

난 앞으로 쓰여질 이 글에서 재생, 녹음, MP3을 어떻게 하면 자동화 시킬것인지에 대해서 논하겠다. 이 글을 읽을려면 윈도우즈 프로그래밍에 대한 약간의 기초적인 지식이 있어야 할것이다.

작업 순서는 다음과 같다.
사용자 삽입 이미지

위의 그림은 멜론 플레이어를 충분히 분석한 뒤에 나온 그림임을 알아두길 바란다.
1 번부터 5번까지는 프로그램을 직접 작성해 자동화 되는 방식으로 진행된다.
3번이 두개인 이유는 3번 과정이 동시에 진행되어야 하기 때문이다.

그럼 다음 글에서는 위의 같은 순서가 왜 필요한지 짚어보도록 하자..

퍼가길 기대하지 않지만 퍼가시는 분들은 출처를 꼭 밝혀주시기를 바랍니다.

2008년 1월 5일 토요일

Tomcat5 + Mysql + Apache + PHP 한글 신경 안쓰고 설치하기(대박)

Apache의 Tomcat ... 젠장
완전 깡패(Apache)에 양아치(Tomcat:여자뒤를 졸졸 따라다니는 남자)같은 놈들이다.
이놈들과 씨름한지 사흘째... 결국 결론을 찾았다.

첫째날..
Tomcat5를 Fedora6에 설치했다. Manager까지 띄우고 나서 설치할려고 하는 Web Application이 컴파일이 안되서 하루를 잡아먹었다.... 결국 컴파일 성공

둘째날
설치한 Web Applicaion과 MySQL 사이에 한글 에러가 나서 하루를 잡아먹었다.... 결국 GG...

셋째날
한글문제를 해결할 방법을 찾아내다... 여러분 더 이상 고민하지 마라... 간단한 길이 있다...
정답은 바로... Redhat... 그것도 9..   Enterprise Edition 아니다.  Redhat9.. kernel 2.4

지금 부터 설명하는건 회사 웹서버 설치 방법이 아니다....
그냥 개인적인 서버 돌릴때나 써먹어라..
그리고 redhat9 쓴다고 비웃는 사람들... 다시는 내 블로그 오지마라.

그럼 시작해볼까..

Step1. Redhat9 을 설치한다. kaist 서버에 가면 있다. 속도도 빠르고... CD 3장 밖에 않한다.
설치 옵션은 webserver + ftpserver + 편집기 + 개발용도구(gnu-java 제외) + mysql
그렇다... 기본적인 mysql 쓴다. 3.x 버전인데 쓸만하다. 서브쿼리는 안되지만...
위에도 말했듯이 개인적인 서버 꾸밀때 쓰는 방법이다. 물론 노력하면 4.x 버전으로 설치 할 수 있다. 그건 다른 사람이 쓴 글 보고 연구하기 바란다.

Step2. 세팅 시작
-- 리눅스의 한글 설정 확인 vi /etc/sysconfig/i18n
-- 첫번재 줄에 LANG="ko_KR.eucKR" 로 설정되어 있다면 pass 그렇지 않다면 설정하고 저장
-- setup에 가서 mysqld, vsftpd, httpd 을 시스템 서비스 자동시작으로 바꿔준다

Step3. JAVA SDK 설치
-- java.sun.com 으로 가서 jdk-6u3-linux-i586.bin을 다운로드 받는다. 버전에 따라 파일명이 약간 다를 수 있다.
--  /usr/local/src 로 jdk-6u3-linux-i586.bin을 복사한다.
-- %cd /usr/local/src
-- sh jdk-6u3-linux-i586.bin
-- 압축이 다 풀리면  %cp -R jdk1.6.0_03 ../jdk

Step4. ant 설치
-- www.apache.org 로 가서 apache-ant-1.7.0-bin.tar.gz 다운로드
-- Ant가 뭔지 궁금한 사람은 따로 찾아보도록 하고 java에서 쓰는 make 라고 생각하면 된다.
-- /usr/local/src로 복사
-- %cd /usr/local/src
-- %tar xfz apache-ant-1.7.0-bin.tar.gz
-- cp -R apache-ant-1.7.0 ../ant

Step5. tomcat 설치
-- www.apache.org로 가서 /apache-tomcat-5.5.25.tar.gz 다운로드
-- /usr/local/src로 복사
-- %tar xfz apache-tomcat-5.5.25.tar.gz
-- %cp -R apache-tomcat-5.5.25 ../tomcat

Step6. 환경변수 설정
자 여기까지 왔으면 벌써 5개 설치됐다. httpd, mysqld, jdk, ant, tomcat....
명령 몇개 쳤는데 벌써 다 됐다. 이제 환경변수 설정해줘야 한다.
우리가 하는건 편한 윈도가 아니고 리눅스이기 때문에 이런거 다 해줘야 한다.
귀찮으면 윈도 써라... 처음부터 끝까지 마우스로만 설치해도 되는거 많다.
% vi /etc/profile
가장 아랫 줄로 가서
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
ANT_HOME=/usr/local/ant
export ANT_HOME
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
export PATH
CLASSPATH=$CLASSPATH:$JAVA_PATH/lib:$CATALINA_HOME/common/lib
export CLASSPATH
추가 한 다음 저장하고 나온다.
환경변수 적용 : % source /etc/profile

Step7. Tomcat 설정
cd /usr/local/tomcat/conf
vi tomcat-user.xml
<tomcat-users> 태그 안에  
<user name="admin"  password="admin"  roles="admin, manager" /> 추가
이렇게 추가하면 tomcat manager 에 admin//admin 으로 로그인 가능하다.
저장하고 나와서 톰켓을 실행한다.
$CATALINA_HOME/bin/startup.sh
경로들이 제대로 나오면서
http://server_ip:8080 으로 접속해서 tomcat manager 화면이 나오면 성공
----------------------------------------------------------------------------------
정리하면서...
Tomcat 자체가 너무 생소했고... 아파치 http 와는 차원이 다른 한글문제 등으로 오랜동안
좌절했다... redhat9 의 경우 설치부터 eucKR 로 설치 하기 때문에 unicode -> eucKR 에서 생기는 문제점을 해결 가능하다. 하지만 커널 버전이 낮기 때문에 사람들이 선호하지 않는다.
근본적으로 한글 문제를 해결하기 위해서는 모든 페이지를 unicode로 만드는 것이다.

지금 설정으로는 80포트로는 php, 8080 포트로는 jsp 서비스가 가능하다. 80 포트로 php와 jsp 동시에 서비스 하기 위해서는 jakarta-connection 설정을 하면 된다. 이부분에 대해서는 각자 찾아보길 바란다. 내 생각으로는 방문자가 많지 않은 홈페이지에서는 아파치 서버와 꼭 연결할 필요없이 tomcat을 80으로 세팅해서 쓰는 방법도 괜찮을것 같다. 사람들이 말하길 아파치가 성능이 좀 좋다고 하는데 그거야 엄청난 방문자들이 들어올때 이야기고 아파치가 jsp를 처리한다고 해서 tomcat이 돌지 않아도 된다는 얘긴 아니다. 그리고 한 서버에서 php와 jsp를 동시에 돌리는 것은 별로 좋은 방법이 아니라고 본다.

2008년 1월 4일 금요일

javax.servlet.jsp does not exist 문제해결

톰캣을 설치하고 나서

몇날 몇일을 고생하게 만들었다.

다음과 같이 해결

JAVA_HOME=/usr/local/jdk1.6.0
ANT_HOME=/opt/SDK/lib/ant
CATALINA_HOME=/usr/local/apache-tomcat-5.5.25
export CATALINA_HOME
export ANT_HOME
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:
                  $CATALINA_HOME/common/lib/servlet-api.jar:
                  $CATALINA_HOME/common/lib/jsp-api.jar:
                  $CATALINA_HOME/webapps/ROOT/WEB-INF/classes

Set Default JAVA with SUN JAVA in Fedora 5,6,7

Fedora Core developers make it rather hard to install and properly configure Sun’s JVM. All said and done Sun’s JVM (comes with JDK) is the best JVM implementation out there; not to mention that it is the reference implementation. Here is how you can easily install JDK 6 / Java SE 6 in 5 minutes or less. Here are the steps:

1. Login as root

2. First you need to download it from here. This works fine from GUI browsers like Firefox, Internet Explorer or Safari. However Sun makes it very hard (from java.sun.com) to download it for Linux console users (like those trying to install on their dedicated web server). You cannot access the download link from text based lynx browser. Fortunately there is a way. I found a secret location for you to easily download JDK 6 using wget or curl (console apps). This is also very useful if you are planning to use any download accelerators. The current binary (32 bit version) is here. This link will surely change with time so it is better to browse to the link above and then access this link from that page.

Download it using wget or curl. The command, for example, today will be:
wget http://www.java.net/…/jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin

Note: The link has been truncated for brevity, however it is hyperlinked to the actual link.

3. Now change the permission of the downloaded file to 755 like this:
chmod 755 jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin

4. Then run it:
./jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin

You will need to type yes to indicate your acceptance to their agreement and the installation will complete on its own. Unfortunately you are not yet done. Type java -version on the command line and you will see that it still points to the crappy old JVM from gcj.

5. Now you need to find the actual location of your JDK installation and indicate to Fedora to accept your choice.

Type the following:
updatedb;locate javac |grep bin

You will see an entry like this:
/usr/java/jdk1.6.0_02/bin/javac

Here /usr/java/jdk1.6.0_02 is the actual JAVA_HOME for your machine. Note this as you will need it to run the future commands.

Now you need to run the alternatives command to instruct Fedora to recognize Sun’s JVM.
alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_02/bin/java 100
alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_02/bin/jar 100
alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_02/bin/javac 100

You can do this for other Java executables too, should you need them, following the same pattern.

Note: If alternatives is not in your path then use locate alternatives to locate it.

Finally you should configure alternative to use Sun’s JVM as the default JVM. To do this type:
/usr/sbin/alternatives --config java

This will present you with at least 2 options. Choose the one for Sun’s JVM. Similarly repeat the process for other commands.

Now you are done configuring Fedora for the most part. Type java -version and you should see something like this:

java version “1.6.0_02-ea”
Java(TM) SE Runtime Environment (build 1.6.0_02-ea-b02)
Java HotSpot(TM) Client VM (build 1.6.0_02-ea-b02, mixed mode, sharing)

Note: This works for most part, except Tomcat. The default installation of Tomcat has been hardwired to use GCJ. I changed the configuration file and it didn’t help. My solution for Tomcat is to ditch Fedora’s version and install directly from site. It works like a charm. Set JAVA_HOME to the value we found above and you are done.

FC6에 APM+Oracle+Tomcat+Resin 설치

어제 하나로 IDC 가서 페도라6 으로 갈아 치웠다.
대략 14시간의 삽질 끝에 모든 설치를 성공하고 이렇게 글을 남겨 본다.
Apache2.2 + PHP5 + MySQL5 + Tomcat6 + Resin3.1 + Oracle10g + JDK1.6 설치 가이드.
아마 가장 최신의 패키지들을 설치한것이 아닐까 하는 생각이 든다.
거두 절미하고 본격적으로 시작하니 잘 따라해보자.

모든 설치는 putty, realvnc를 이용하여 설치했다.
realvnc 설정 가이드도 있으니 무시하지 끝까지 보고 따라해보자.


1. APM 설치
Apache2.2 + PHP5 + MySQL5 는 RPM 패키지로 설치한다.
아마 대부분 설치가 됐을것이므로 자세한 가이드는 패스한다.

2. 페도라6 처음 설치시 해주면 좋은것들..
bash$> updatedb

mlocate를 사용할때 캐쉬를 이용한다.
페도라6 처음 설치 시 이 캐쉬파일이 없어 locate가 동작하지 않을것이니 앞으로의 편의를 위해 캐쉬를 만들어주자.


3. 필요없는 자바, 톰캣 관련 패키지 삭제
우리는 현재 최신버전의 JDK 1.6 을 설치할 것이다.
하지만, 페도라6 는 GNU 버전의 JDK1.4.2 를 기본 패키지로써 제공하고 있다.
구버전은 안키운다. 삭제해주자.
또한, 페도라6에서 기본적으로 설치되는 톰캣은 5.5 다.
구버전은 안키운다. 삭제해주자. (-_-)

bash$> yum -y remove tomcat\*
bash$> yum -y remove \*java\*

톰캣을 삭제하면 종속성에 의해 이클립스가 삭제된다.
뭐 필요없다 페도라6 에서 제공하는 이클립스는 3.1 이다.
이클립스 3.2 는 나중에 따로 가이드를 올리겠다.
앞에 \ 는 역슬러시다 java 라는 단어가 들어간 패키지명은 모두 삭제한다.
조금 시간이 걸릴것이므로 느긋하게 기다린다.


4. 필수 패키지 설치
앞으로 진행을 편히하기 위해 필요한 모든 패키지를 설치하고 가자.

bash$> yum -y install httpd-devel php-mysql libXp-devel libXp perl

httpd-devel: apxs mod_jk의 동적 모듈 컴파일을 위해
php-mysql: php에서 mysql에 연결하기 위해
libXp, LibXp-devle: 오라클 설치 때 필요한 openmotif 패키지 때문에..
perl: 펄은 대부분 설치 되었겠지만 없으면 설치해야한다.

-y 옵션은 모두건 yes 한다는거다.
뭐뭐 설치되는지 구경하고 싶으면 -y 옵션을 빼자

우선 필요한 패키지들을 설치해준다.
이젠 openmotif21-2.1.30-14.i386.rpm 를 설치해야 한다.
첨부된 파일을 다운로드 받고 압축을 풀면 openmotif21-2.1.30-14.i386.rpm 파일이 나온다.
적당히 서버에 업로드하고

bash$> rpm -Uvh openmotif21-2.1.30-14.i386.rpm

이젠 오라클 설치에 필요한 패키지를 설치해야한다.
아래 패키지는 꼭 설치해 주도록 하자.

bash$> yum -y install setarch-\* tcl-\* libXau-devel-\* libXp-\* compat-db-\* compat-db-\* compat-libstdc++-33\* compat-libf2c-34-\* compat-gcc-34-\* libaio-* compat-gcc-34-c++-\* compat-libstdc++-296\* compat-libgcc-296\*

여기서 중요한건 띄어쓰기다. 잘보고 한줄에 모두 입력하도록 한다.
너무 길어서 쓰기 힘들면 긁어다 입력하자. 다시한번 말하지만 \ 는 역슬러시다.

필수 패키지 설치가 끝났다.
이제 본격적으로 설치에 들어간다.


5. JDK 1.6 설치
첨부된 파일 중에 jdk-6-linux-i586.bin 이 있다.
이상한 사이비 사이트에서 받은것이 아닌, sun사 홈페이지에 직접 다운로드한 jdk 1.6 이므로 안심하고 설치하자. 뭐 못믿겠으면 직접 sun사 홈페이지가서 받아도 된다.

적당히 업로드하고 실행시켜서 설치해준다.
중요한건 설치할때 해당 경로에서 jdk1.6.0 이란 디렉토리를 만들면서 설치 된다.
그러니 반드시 내가 설치를 원하는곳으로 파일을 이동시켜서 설치하자
본인은 /usr/local 로 이동시켜서 아래 명령을 실행했다.
본인의 jdk 경로 (JAVA_HOME)은 /usr/local/jdk1.6.0 이 되겠다.

bash$> sh jdk-6-linux-i586.bin

요래요래 해주면 일단 jdk 가 설치 된다.
이제 각종 환경 변수들을 쌔려 줘야 한다.
글로벌하게 적용되야 하니 /etc/profile 맨 마지막에 적당히 추가해주자.

bash$> vi /etc/profile

JAVA_HOME=/usr/local/jdk1.6.0
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
export PATH

여기서 JAVA_HOME, CLASSPATH 를 자신이 JDK를 설치한 경로로 적어줘야한다.
먼말인지 모르겠다면 앞으로 이 가이드를 따라올 수 없는것이니 일찌감치 포기하자.

추가해 줬으면 이제 putty 를 종료하고 다시 서버로 접속한다.
그래야만 위 환경변수가 적용된다.



5. Resin 3.1 설치
이제 레진을 설치해보자.
레진 또한 첨부 파일에 보면 resin-3.1.0.tar.gz 파일이 있다.
참고로 레진이랑 톰캣은 소스가 아니라 바이너리다.
즉, 압축만 풀면 바로 쓸 수 있는것이다.
하지만 약간의 설정이 필요하니 잘 따라오도록 하자.
본인은 /usr/local/etc 로 resin-3.1.0.tar.gz 파일을 이동시키고 압축을 풀었다.

bash$> tar xvzf resin-3.1.0.tar.gz

뭐 압축풀면 끝이다.
하지만 아파치와의 연동을 위해 환경설정과 컴파일을 한번 때려줘야 한다.
레진 디렉토리로 이동 후..

bash$> cd resin-3.1.0
bash$> ./configure --with-apache=/usr/include/httpd

요로코롬 해준다.
이게 뭐냐면 레진이 아파치랑 연동하기 위해 아파치 라이브러리를 참조하기 때문이다.
완료가 되면 아래 명령을 바로 때려주자.

bash$> make all
bash$> make install


요래 해주면 caucho_module.so 동적 라이브러리 모듈이 생성되고 자동으로 httpd.conf 에 넣어준다. 레진이 이래서 조낸 좋은거다.

이제 httpd.conf 파일을 열어서 추가가 됐는지 확인해보자

bash$> vi /etc/httpd/conf/httpd.conf

파일 맨 마지막에

LoadModule caucho_module /usr/lib/httpd/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes

요렇게 추가가 된게 보일것이다.
하지만 바로 지워준다.

왜? 아래 따로 include 해서 쓸것이기 때문이다.
싫으면 걍쓰도록한다. 하지만 나중에 다른 버철호스트에도 레진이 영향을 받아 웹페이지가 안열리는 현상이 발생할 수도 있다.
그러니 왠만하면 본 가이드를 그대로 따라하자
본인은 다 나중에 편하고, 좋자고 하는것이지 막 각종 편법들을 남발해가면서 일단 설치만 되면 땡이지 하는건 딱 질색이기 때문이다.

이걸로 바로 사용할 수 있지만.. 간단하게 버철호스트랑 레진의 호스트와 차후 톰캣 설치 시 mod_jk 와 손쉽게 바꿔가며 사용할 수 있게 하기 위해 별도의 conf 파일로 만들어 준다.
아래처럼 따라해보자.

bash$> cd /etc/httpd
bash$> mkdir conf.custom
bash$> vi resin.conf


따로 include 해서 레진과 톰캣을 손쉽게 바꿔가면 쓰기 위한것이다.
vi resin.conf 한다음 아까 위에 지웠던 내용을 입력해준다. (-_-) (방금 욕하는 소리가 들렸다.)

LoadModule caucho_module /usr/lib/httpd/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes

요래 하고 저장해주자.
설마 저장하는 법을 모르는 사람이 있을까봐 알려준다.
vi 편집기 상태에서  :wq! 라고 입력하고 엔터치면 된다.

참고로 아래 버철호스트는 newal.net 의 예제 이다.
자신에게 맞게 적당히 수정해주는 센스가 필요하다.
newal.net 이 돌아가는 DocumentRoot 는 /home/newal/www 이다
이 디렉토리 안에 index 파일이 존재한다. (에이 보안상 안좋은데.. 그래도 다 알려준다.)

NameVirtualHost 222.237.78.65

<VirtualHost 222.237.78.65>
   ServerAdmin newal@newal.net
   DocumentRoot /home/newal/www
   ServerName newal.net
   ServerAlias www.newal.net
   DirectoryIndex index.jsp index.php index.html index.htm
   ErrorLog logs/error_newal.net
   CustomLog logs/access_newal.net common

  # 레진을 사용하기 위해..
   Include conf.custom/resin.conf

  # 테터툴즈 사용을 위해..
   <Directory /home/newal/www>
       Options FollowSymLinks
       AllowOverride FileInfo
   </Directory>
</VirtualHost>

자 Include conf.custom/resin.conf 보이지 않는거 바로 이 버철호스트에서만 레진을 쓰겠다는것이다.

다른 버철호스트에도 레진을 적용하고 싶으면 그냥 Include conf.custom/resin.conf 요 문구만 갔다 붙여넣기 해주면 된다. 조낸 좋지 않은가?

자 이제 레진의 호스트를 잡아줘야 한다.

bash$> cd /usr/local/etc/resin-3.1.0/conf
bash$> vi resin.conf


아래 부분을 추가해줘야하는데 어디다 하는지 모를것이다.
자세하게 알려주겠다.
대략 250번째 라인을 보면 Configuration for the web-tier/load-balancer 주석이 보인다.
뭐 약간 틀릴 수도 있으니 +- 20줄 내에서 잘 찾아보자.

이 주석 바로 위에 </cluster> 가 보일것이다.
</cluster> 위에다가 추가해주면 된다.
아래가 아니라 위에다 추가하는것이다. 잘보고 추가 하자.

    <host id="newal.net" root-directory=".">
      <web-app id="/" root-directory="/home/newal/www"/>
      <web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
        <prologue>
          <resin:set var="resin_admin_password"  default=""/>
          <resin:set var="resin_admin_localhost" default="true"/>
        </prologue>
      </web-app>
    </host>

잘 보면 root-directory 가 아파치에서 적은 DocumentRoot 와 일치하는것을 볼 수 있다.
당연하지만 레진이 도메인이 newal.net 일때 /home/newal/www/index.jsp 파일을 읽을 것이다.

자 이제 끝났다.
레진을 시작시켜 보자.

bash$> cd /usr/local/etc/resin-3.1.0/bin
bash$> sh httpd.sh start


요래 해주면 레진이 시작 된다. 뭐 한줄 나오고 끝이다.
이제 바로 아파치를 재시작 해준다.

bash$> /etc/init.d/httpd restart


이제 /home/newal/www 디렉토리에 index.php 파일을 만들고 파일 내용은 아래처럼 한다.

<?
phpinfo();
?>

또하나 index.jsp 파일을 만들고 내용은 아래처럼 한다.

<%
out.println("Hello World");
%>


위와 같이 대충 만들어놓고 브라우저에서 접근해보자

http://newal.net/index.php
http://newal.net/index.jsp

php정보가 나오고, Hello World 가 뜨면 성공한것이다.



더 쓰고 싶은데 귀찮아서 여기까지 쓰고 나머지는 다음에 쓰겠다..



출처 : http://newal.net/

2008년 1월 2일 수요일

We are the world - USA for Africa

FLV Player(wearetheworld.flv (16.76 MB))

라이오넬 리치]

There comes a time When we heed a certain call
우리가 어떤 부름을 새겨 듣을 때가 왔어요

[라이오넬 리치&스티비 원더]

When the world must come together as one
이제 이 모든 세계가 하나로 합해져야 할 때가 온거예요

[스티비원더]
There are people dying 많은 사람들이 죽어가고 있어요

[폴 사이먼]

And it"s time to lend ahand to life 지금이 바로 구원의 손길을 건네줄 때에요

[폴 사이먼&케니 로저스]

The greatest gift of all 모두에게 가장 위대한 선물을 말이죠

[케니 로저스]

We can"t go on pretending day by day
우린 매일같이 더 이상 위선의 모습만 보일 수는 없어요

[제임스 잉그램]

That someone,somewhere will soonmake a change
누군가가,어딘가에서 머지 않아 변화가 일어날겁니다

[티나 터너]

We are all part of god"s great big family
우리 모두는 한결같이 신의 거대한 가족의 일원이랍니다

[빌리 조엘]

And the truth,you know, love is all we need
여러분도 알다시피,우리 모두에게는 진실과 사랑이 필요한겁니다

[마이클 잭슨]

We are the world, we are the children
we are the ones who make a brighter day so let"s start giving
우리 모두는 하나(한 가족)입니다 우리 모두는 똑같은(신의)한 자손들입니다
우리 모두는 더 밝은 미래를 만들 역군들인겁니다
그러니 이제 나누어주기 시작합시다

[다이아나 로스]

There"s a choice we"re making we"re saving our own lives
우린 지금 선택의 기로에 놓여 있습니다 우린 우리 자신의 생명을 구하고 있는겁니다

[마이클&다이아나 로스]
It"s true we"ll make a better day just you and me
바로 당신과 나 우리가 진정으로 더 나은 미래를 만들겁니다

[디온 워윅]

Send them your heart so they"ll know that someone cares
그들에게 당신의 마음을 보내 주세요
그럼 그들은 누군가에게 자신들을 보살피고 있다는 사실을 알 게 될겁니다

[디온 워윅&윌리 넬슨]

And their lives will be stronger and free
그리고 그들의 생명은 더 강해지고 자유로와질거구요

[읠리 넬슨]

As God has shown us by turning stones to bread
신은 우리에게 돌을 빵으로 바꾸는 가능성을 보여주고 있습니다

[알 제로우]

So we all must lend a helping hand
그러니 우리 모두는 도움의 손길을 내밀어줘야합니다

[브루스 스프링스틴]

We are the world, we are the children
우리 모두는 하나예요 우리 모두는 한 자손입니다

[밥 딜런]
We are the ones who make a brighter day so let"s start giving
우리 모두는 더 밝은 미래를 만들 역군들인겁니다 그러니 이제 나누어주기 시작합시다

[시카고]

There"s a choice we"re making
we"re saving our own lives
it"s true we"ll make a better day just you and me
우린 지금 선택의 기로에 놓여 있습니다
우린 우리 자신의 생명을 구하고 있는겁니다
바로 당신과 나 우리가 진정으로 더 나은 미래를 만들겁니다

[마이클 잭슨]

When you"re down and out, there seems no h­ope at all
당신이 빈털털이가 되어 쓰러져 있을 땐 전혀 아무런 희망도 없는 것처럼 보이지요

[루이 휴이스]

But if you just believe there"s no way we can fall
하지만 우린 결코 쓰러질 수 없다는 진실을 믿어주기만 한다면

[신디 로퍼]

Well,well,well,well let us realize that a change can only come
그래요,그렇다면 분명히 어떤 변화가 꼭 올 수 있을거라는 사실을 우리 같이 실감해보자구요

[킴 칸스]

When we stand together as one
바로 우리가 하나되어 함께 서있을때 말이죠

**[모두 함께]
We are the world we are the children
we are the ones who make a brighter day so let"s start giving
there"s a choice we"re making we"re saving our own lives
it"s true we"ll make a better day just you and me
우리 모두는 하나예요 우리 모두는 한 자손입니다
우리 모두는 더 밝은 미래를 만들 역군들인겁니다
그러니 이데 나누어주기 시작합시다 우린 지금 선택의 기로에 놓여 있습니다
우린 우리 자신의 생명을 구하고 있는겁니다
바로 당신과 나 우린 진정으로 더 나은 미래를 만들겁니다

2008년 1월 1일 화요일

남아당자강(사나이는 자고로 강해야 한다.)

FLV Player(c_Clip_황비홍1.黃飛鴻.(이연걸).1991.AC3.5.1Ch.CD1[(009748)12-05-42].flv (8.36 MB))

남아당자강