[linux] centos5에서 Java 설치(간단 버전) (나중에 tomcat설치 추가 예정)

I. Java설치

  java설치는 쉽다. 압축을 풀고, 환경변수 등을 잡아주면 된다.


1. java다운로드 & 설치

http://java.sun.com/javase/downloads/index.jsp 에서 jdk-6u22-linux-i586.bin (버전은 다를 수도 있다.)을 다운받는다.


다운받은 파일을 실행하면 압축이 풀린다.

$sh jdk-6u22-linux-i586.bin 

$mkdir /usr/local/jdk

$mv jdk1.6.0_22 /usr/local/jdk

$ln -s /usr/local/jdk/jdk1.6.0_22 /usr/java


보통 /usr/local/jdk 밑에 버전별로 두고.. 실제 쓰는 버전을 /usr/java 로 심볼릭 링크걸어 쓴다.


2. 환경설정

2-1) .bashrc 등 프로파일에 추가

$vi .bashrc

=======

JAVA_HOME=/usr/java

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH

=======


2-2) 아니면.. 별도의 profile을 만든후, 필요할때 실행하거나, profile에 추가한다.

$touch /etc/profile.d/java.sh

$chmod 755 /etc/profile.d/java.sh

$vi /etc/profile.d/java.sh

=======

JAVA_HOME=/usr/java

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH

=======

3. 확인해본다.
$source /etc/profile.d/java.sh
$env | grep JAVA
$java -version


Loading

[linux] 한글 파일명이 깨질때.. (convmv, iconv)

CentOS5 에.. torrent를 쓰려고 deluge를 설치해서 사용중이다.

설치야 편하게 yum으로 설치 했는데…

이게 잘되긴 하는데.. 받은 파일명에 한글이 들어가있으면 깨진다.. 뭔가 charset이 안맞는것 같은데..

어디서 설정하는지 모르겠다.. 해서.. 일단 다운은 다운대로 받고.. 다운받은 뒤 해결하기로 했다.

방법은 convmv를 이용해서 해결…

우선 설치가 되어있는지 확인하고.. 안되어있으면 설치한다.

# yum list | grep convmv
# yum install convmv

사용방법은 간단하다.

# convmv -f utf8 -t cp949 -r torrent
# convmv -f utf8 -t cp949 -r --notest torrent

-f 는 원본 파일명의 charset (from)

-t 는 바꿀 파일명의 charset (to)

-r 은 하위 디렉토리까지 변경할때..

–notest 는 실제 파일을 바꾼다. (notest옵션이 없으면… 그냥 테스트만 하고 실제로 파일명을 바꾸진 않는다.)

torrent는 바꿀려고 하는 파일명(혹은 경로명)

ps. 추가로 하나더..

파일내용(text)의 charset을 바꾸려면.. iconv를 사용

# iconv -c -f utf8 -t euc-kr src.txt > tar.txt

-f 는 원본 파일의 charset (from)

-t 는 바꿀 파일의 charset (to)

-c 는 출력시 잘못된 문자는 무시

src.txt, tar.txt 원본 파일, 바꿔서 저장할 파일

Loading

[win] IIS, SSL용 인증서 발급하기

윈도우 서버에서 SSL을 하려고 인증서 발급을 하는데..

개념을 제대로 안잡고 부딛혔더니.. 좀 고생좀 했다. 일단 간단한 순서만이라도 적어놓는다.

(다시 한번 하면서 좀 자세히 정리하려 했는데.. 귀찮다.. 나~~중에.. 혹시 다시하게 되면 그때 정리하련다.)

 

1. IIS에서.. 해당 웹사이트의 [속성], [디렉토리 보안] 탭, [보안 통신] 항목의 [서버인증서] 선택

“새 인증서를 만듭니다” 선택 후 다음..

“요청을 지금 준비하지만 나중에 보냅니다” 선택 후 다음..

사이트정보입력 다음.. 조직정보입력 다음… 

“일반 이름(common name)”에 외부에서 접속시 사용할 사이트 명을 입력한다. 다음..

지역정보입력 다음..

certreq.txt 파일 생성위치 지정. (저장위치 기억)

 

2. 인증서를 요청한다.

인증서 사이트나, 아니면 직접 서버에 “인증 서버”를 설치하면 된다.

(직접 인증서버를 설치하였을 경우(아래 2-1참고)에는 http://서버주소/certsrv 로 들어가서 아래 작업을 한다. )

인증서 발급요청 선택-> advanced 어쩌구 선택 -> 요청내용에 1에서 저장한 certreq.txt 내용을 복사해서 붙임..

결과 기다림..

(직접 인증서버를 설치하였을 경우에는 발급을 해준다. 아래 2-2참고 )

대기중인 인증서 발급요청 상태보기 선택-> 인증서가 발급됐으면.. 어쩌구.cer를 저장한다.. (저정위치 기억)

 

3. 인증서 IIS에 등록

IIS에서 해당 웹사이트의 [속성], [디렉토리 보안] 탭, [보안 통신] 항목의 [서버인증서] 선택

“대기 중인 요청을 처라한 다음 인증서를 설치합니다” 선택 후 다음.

2에서 생성한 어쩌구.cer을 찾아서 지정 다음.. 다음.. 해서 마친다.

  

 

 

 

2번서 인증서버를 직접 설치하여 인증서 발급하기.

2-1 우선 인증서버를 설치한다.

“인증 서버” 선택.. 기타 자료 입력. 설치가 완료되면 

http://서버주소/certsrv 에 들어간다.

2-2 인증서 발급하기

2번에서와 같이.. certreq.txt내용을 복사해서 붙인다음.. “인증 서버”실행..

대기중인 인증서에서 오른쪽 클릭하여 발급을 선택

Loading

[win] 영문 OS에서 한글 입출력 하기

windows 2003 서버를 다운받아 설치하는데.. 영문버전이다..

워낙 출시된지 오래된거라.. 한글판은 없더라고.. (2008서버는 한글버전 있던데..)

하여튼.. 그래서 설치하고서 한글 입출력을 하기 위해 자료를 좀 찾아봤다.

 

1. Control Panel – Regional and Language Option – Language(tab) – Install files for East Asian langauges(check)

뭐뭐(아마도 언어팩…) 설치한다고 안내메시지가 나온다. OK를 클릭하고, 하단의 Apply버튼을 클릭한다.

Windows Server CD를 넣으라고 나오고, 넣고나면 파일들을 설치한다.

 

2. 역시 상단의 Language(tab)에서.. Text services and input languages 항목의 Details… 버튼을 클릭한다.

Settings(tab) 의 하단의 Installed services의 Add버튼을 클릭하고 Add Input Language 창이 뜨면 Input language에서 “Korean”을 선택하고 OK 클릭

상단의 Default input langauge를 “Korean – Korean Input System (IME 2002)”를 설정

Advanced(tab) 선택해서 Turn off advancd text services 를 채크

OK 클릭

 

3. 다시 나온 Regional and Language Options에서 Regional Options(tab) 선택

Standars and formats 에서 “Korean”선택, 하단의 Location에 “Korea” 선택

 

4. Advances(tab) 선택

Language for non-Unicode programs에서 “Korean” 선택

하단의 Default user account settings은 기본설정으로 쓸꺼냐는 항목인듯.. 나는 채크했음.

OK 클릭

 

끝~~

Loading

[win] MS제품 무료로 받기 (windows server 2008 등.) – 아마도 대학메일 필요

아마도.. 교육용으로 다운받을 수 있는것 같은데…

Dreamspark 에서 받을 수 있는것 같다.

 

1. 먼저 여기서 사용할 계정을 만든다.

 http://edu.exlab.kr 로 가서.. 요구하는 정보들을 작성 후 계정 생성.

학교, 학번 등 정보를 요구한다.

 

2. Dreamspark 에서  라이센스 받기

http://www.dreamspark.com 에 접속 후, 1에서 만든 ID@exlab.kr 로 로그인

다운받으려고 하니.. Student Verification 이 뜬다.

역시나.. ac.kr 메일이 있어야 할 듯..

하여튼.. 여기서 국가 선택하고 학교 선택하면, 인증코드를 넣거나, 학교이메일을 입력하라고 나온다.

ac.kr 메일을 가지고 있다면.. 그걸 입력하면 인증코드가 메일로 날라오고, 그걸 입력하면 된다.

(이건 한번만 해주면 된다.)

 

인증후엔… 원하는 제품을 선택하고, DOWNLOAD를 선택해 다운을 받거나, GET KEY를 선택해 CD-Key를 받는다.

 

 

지금 난…

어디서나 ActiveSync를 할수있다는 말을 듣고 exchange server를 구성해볼까..? 하는 생각이 있어서..

우선 windows server 2003 다운받고 있다.

나중에 Visual studio도 다운받아서.. WM 프로그래밍도 한번 해볼까..??

Loading

[win] outlook 종료가 안될 때..

사용하던 PDA를.. palm 기종에서 WM기종으로 넘어오면서…

현재 자료가 저장되어있는 메인프로그램이 아직까진 Palm Desktop 인데.. 이걸 outlook으로 바꿔야 하나..하고 생각하고 있다.

사무실 PC에 outlook설치해서 palm의 자료를 옮겨 와 놓고.. 이것저것 좀 확인 중인데…

 

뭐.. 몇가지 아쉬운 부분도 있고 한데…

그보다 더 큰 문젠.. 사무실 PC의 아웃룩이 정상적으로 종료가 안된다는것..

palm 자료와 싱크하면서 좀 꼬였나..? 하는 생각도 있고.. 이렇게 정상적이지 않아선..

outlook으로 옮겨오기가 좀 깨림찍 하다..

하여튼.. 그래서 우선 이문제부터 해결하고서 좀 생각해보자.. 하고 자료 좀 찾아봤는데..

 

일단 첫번째 본 게시물은…

http://comlover.net/tt/entry/outlook-2007이-정상-종료하지-않을-때  (나의 경우엔 outlook 2003이다..)

 

그리고, 여기에 딸린 (원)게시물..

http://www.howto-outlook.com/faq/outlookdoesntclose.htm

 

게시물 내용을 잠간 적어보자면…

 

1. outlook의 [도구]-[옵션]-[기타](탭)-[고급 옵션](버튼) 에서.. [추가 기능 관리자](버튼) 이나 [COM 추가 기능](버튼) 을 눌러서..

설치되어있는 Add-in을 확인해보라는것.

 

2. 서로 간섭하는 프로그램을 의심해보라는것..

예를 들면 Fax 소프웨어, 바이러스 백신, 스팸차단필터, PDA나 핸드폰 동기화프로그램, skype 등…

 

그리고.. 기타 등등…

 

나의 경우엔.. [COM 추가 기능]에서..  “iTunes Outlook Addin”을 비활성화 해줬더니.. 정상적으로 종료됐다.

 

이젠 outlook이 정상적으로 돌아가는것 같으니..

outlook자료 초기화 하고, 다시한번 Palm자료 옮겨놓고.. 이젠 outlook을 메인으로 삼아야 할려나..?? (사실.. 그러긴 싫은데..-_-;;)

 

Loading

[linux] log file 주기적 정리하기 (find 사용의 몇가지 예)

관리하는 서버에..

간혹 로그가 쌓여서 서비스가 안되는 경우가 있다.

해서.. 주기적으로 일정기간이 지난 로그파일은 삭제를 하고 싶은데..

이럴때 자주 사용하는 명령어가  find 명령어다. 이걸 사용해서 삭제하는 스크립트를 작성하고.. crontab에 등록해놓으면.. 주기적으로 로그파일 정리를 하게 된다.

find 의 원래 용도는.. 단어 뜻 그대로.. 일정요건의 파일을 찾아주는 명령어.

기본 사용법은…

$ find . -name *.php

이런식으로.. find 경로명 [조건] 식으로 하면 된다..

여기에.. [조건] 항목에 여러가지 옵션을 쓸 수 있는데… 그중 mtime 를 사용하면.. 일정시간이 지난 파일을 찾을 수 있다..

몇가지 예를 통해서.. 간단한 사용법을 익혀보자.

첫번째 예로.. apache 로그중에..  30일이 지난 로그를 찾고자 한다면..

$ find /usr/local/apache/logs -mtime +30

이렇게 하면 된다.

두번째 예로.. 30일 넘은 로그들을 삭제하고 싶다면..?

crontab에 넣으려고.. 스크립트 파일로 만들었다.

#!/bin/sh 
cd /usr/local/apache/logs 
find ./*.log -mtime +30 -exec rm -f {} \;

(find에 경로명을 바로 써주어도 되나.. 디렉토리가 여러개이고, 해당 디렉토리에서 여러 명령어를 실행할 수 있으므로 cd로 해당 디렉토리로 이동해서 실행하도록 했다. 그리고, 경로명에는 경로뿐 아니라, 파일명까지 포함되도 된다.. 다른파일은 안건드리도록 log파일만 find하도록 했다.)

옵션을 좀 설명하자면..

find 옵션중 -exec 옵션을 사용해서 특정 명령어를 실행시킬수 있다. 사용법은 -exec [명령어] \; 의 형태이며..

명령어 내용중에 {}를 넣어주면 해당위치에 find에서 찾은 파일이 들어간다. 그리고.. exec 옵션의 마지막을 알리기 위해 끝엔 \; 를 붙여준다.

조금.. 응용해서.. 30일 넘은건 삭제하고…

5일이 넘은건 압축하고 싶다.. 물론 쉽게 가능하다.

한데..삭제를 할때.. *.log뿐만 아니라 압축파일(*.log.Z)도 삭제해야하므로… 삭제시 조건은 *.log* 가 된다.

#!/bin/sh 
cd /usr/local/apache/logs 
find ./*.log* -mtime +30 -exec rm -f {} \; 
find ./*.log -mtime +5 -exec compress {} \;

한가지 문제가 발생했다.

다른곳을 봤더니 로그파일이.. access_log.20091217 이런식으로 쌓인다.. (rotatelogs를 사용할 경우 이렇게 생길수있다.)

find조건을 달려고보니.. 삭제를 할때도 *_log.* 으로 찾아야되고.. 압축할때도 *_log.* 로 해야한다..

문제는.. 압축할때 *_log.*로 찾으면 이미 압축항 파일도 찾아진다는것..

물론 compress가 이미 압축된 파일이라고 skip할테지만.. 맘에 걸린다.

이럴때 쓸 수 있는 옵션이.. -name 옵션과.. not을 뜻하는 ! 옵션..

원하는 바는 다음과 같이 하면 된다.

#!/bin/sh 
cd /usr/local/apache/logs 
find ./*_log.* -mtime +30 -exec rm -f {} \; 
find ./*_log.* ! -name '*.Z' -mtime +5 -exec compress {} \;

원래 -name 옵션은.. 파일명이 맞는걸 찾는 옵션인다… 앞에 ! 가 붙어서 반대의 의미를 갖는다.

즉 파일명이 *.Z를 만족하지 않는 파일을 찾겠다는 것이다.

-name 옵션은 자주 쓰이는데… 한가지 주의해야할것이.. 이상하게 평소대로 하면 오류가 나면서 잘 작동하지 않는 경우가 있다.

이럴때는.. -name 의 값을 작은따옴표로 묶어주면 정상적으로 작동한다.(이것땜시.. 삽질했었다..)

마지막으로 하나 더 예를 들자면…

로그가 여러종류가 쌓아는데..

그중에 access_log 와 error_log 만 골라서 압축,삭제를 하고 싶다..

이럴때는 위에 나왔던 -name 옵션과… or 을 뜻하는 -o 옵션을 이용하면 된다. 그리고 조건을 \(, \) 로 묶어준다.

#!/bin/sh 
cd /usr/local/apache/logs 
find ./* \( -name 'access_log*' -o -name 'error_log*' \) -mtime +30 -exec rm -f {} \; 
find ./* \( -name 'access_log*' -o -name 'error_log*' \) ! -name '*.Z' -mtime +5 -exec compress {} \;

몇가지 사용하는 옵션이 또 있긴 하지만…

우선 제목과 관련된 내용은 이정도에서 정리하련다.

Loading

[ppc] PlayMap 재설치시 PC없이 하기

PlayMap재설치_091022  Playmap재설치_091228

HTC 터치 다이야를 사용하면서..

몇가지 프로그램을 깔았는데…

이게 GPS가 있어서.. 무료로 GPS연동되는 지도를 찾다보니.. Play Map 이라는 어플을 알게됐다.

자세한 내용이나.. 다운로드는 해당 사이트 (http://www.playmap.co.kr) 에 가보면 알 수 있을테고…

여기서는.. 그냥 몇가지 내가 경험한 내용을 알리고자 한다.

 

우선 설치방법은.. ActiveSync를 통해서.. 장치와 연결을 해야하고..

사이트에서 다운받은 파일을 PC에 설치후.. PC 바탕화면에 있는 “PlayMap Install” 을 선택하면 설치 위치 (장치 or 저장소) 를 선택하라고 나온다.

(ActiveSync연결이 안된 상태면.. 단말기가 연결되어있지 않습니다 라고 나올꺼다..)

하여튼.. 여기서 설치하면 알아서 설치를 해주는데…

HTC 터치 다야의 경우에는.. 외장메모리를 지원하진 않지만.. 약 4G의 “내부 저장소”를 제공한다..

그래서 나는 대부분의 설치파일들을 이곳에 넣고 다니고.. 장치를 초기화 하거나 해야할때.. 이곳에 넣어놓은 설치파일들을 실행해서 설치한다.

 

PlayMap의 경우 설치파일이 300M고.. 실제 설치를 하게되면 한 600M 넘는 파일을 설치하는것 같은데…

설치위치를 “내부 저장소”로 해 놓으면.. 지도데이터파일들은 이곳에 설치되는것 같은데…

기기를 하드리셋한 후.. 다시 PlayMap을 실행하려면.. 또 PC에서 설치해야한다..

물론 이때는.. 데이터 파일들은 확인해서 중복설치하지 않으므로.. 잠간이면 설치가 되긴 하지만..

PC에 연결을 해야한다는건… 참 귀찮은 일이다.. (사실 이게 싫어서.. 설치파일들 죄다 “내부 저장소”에 넣어서 다니는데…)

 

하여튼.. 그래서 PlayMap도 설치파일을 따로 내부 저장소에 넣어놓고 다닐 수 없을까.. 하고 알아봤는데..

몇가지 시행착오를 거쳐서.. 해결을 하긴 했다..

 

1. 우선.. 정상적으로 PC를 통해서 설치를 한다..(물론 설치 위치를 “내부 저장소”로 선택해야한다.)

그리고.. 다음에 또 설치할 수 있게 설치파일을 PDA에 옮겨놔야 하는데…

정상적으로 PC에 설치했다면.. C:\Program Files\M&Soft\PlayMap\Install\Bin\PlayMap.CAB 에 있을꺼다..

이걸 터치 다야에 적당한 위치에 복사해놓는다.. (난 \내부 저장소\download\playmap 에 넣어놨다.)

 

2. 그리고.. 하드리셋을 했을경우… 저기 저장해놓은 PlayMap.CAB을 실행시켜 설치를 하면 되는데…

이때 설치장소는 “장치”도 가능하고, “내부 저장소”도 가능하다.. (PC를 통해 설치하면 무조건 “장치”로 되는듯.)

난.. 두번째 설치할때는 “내부 저장소”에 설치한다.

문제는.. 이렇게 해서 설치를 해도.. PlayMap을 실행하면 “DAL 지도 데이터를 찾을 수 없습니다..”라고 나오나..? 하여튼 그런 메시지가 뜨는데…

이는 지도데이터 위치를 못찾아서 그렇다..

몇번 설치하면서 확인해봐도.. PC를 통해서 설치할때만 registry를 건드리는것 같고.. 저 CAB파일로 설치할때는 세팅을 안하는 것 같다.

 

3. 해서.. registry setting을 해줘야하는데.. 이를 위해서.. 1번 단계에서 PC를 통한 설치 후.. 해당 registry값을 export 받아놓는다.

해당위치는.. HKLM\Software\M&Soft\PlayMap 안에…

EXEDir, InkPath(lnkPath 인지도 모르겠다. 하여튼.. 이값은 비어있다.), MapDir, SetupDir 이다.

하여튼.. 나는 귀찮아서.. HKLM\Software\M&Soft 째로 export 받아서 파일로 만들어 놨다..

설치 위치에(장치 or 내부저장소) 따라서 “EXEDir”값이 바뀌는 것 같던데… 해서 값을 바꿔가며 2개를 export 받아놨다.

이젠.. 2번에서 cab파일로 설치했으면.. export 받았던 registry값을 import 한뒤에 실행하면 실행이 된다..

 

뭐 일단 실행은 제대로 되는것 같은데..

혹시 필요할지 모르니.. CAB파일과, registry 파일 올려놓는다..

CAB파일로 설치할때 선택한 위치에 따라서.. registry file은 선택해서 하기 바란다.

 

============

(09.12.31 추가)

PlayMap 사이트에 들어갔더니.. 버전업이 됐나보다..

위에 쓴 글은… 1.0.4 (2009.10.22.) 버전을 가지고 한거였고…

 

새로나온 1.0.7 (2009.12.28) 버전을 설치해봤는데…

이번건 PC에서 설치할때.. cab파일 위치를 정할 수 있게 해놨네…

근데.. 레지스트리 값을 보면.. EXEDir 이게 아무래도 설치위치 같은데.. 장치에 하나, 저장소에 하나.. 다 장치로 잡히는 듯..

하여튼… 새버전 cab파일이랑.. 레지스트리 백업파일 올린다..

(이전에 쓴글에 버전에 대한 언급이 없어서.. 혼동을 줄까봐 추가하여 이번거랑 같이 올린다.)

 

글구.. “내부 저장소”를 “Internal Storage”로 변경해서 쓰는 사람이 있어서..

레지스트리도 그에 맞게 따로 올린다. 4개중 적당한거 선택해서 써라. (레지스트리값은 저번이나 이번이나 바뀌지않은듯.)

– M&Soft-장치-내부저장소 : 프로그램을 장치에 설치한 사람(“내부 저장소”로 사용)

– M&Soft-장치-Internal Storage : 프로그램을 장치에 설치한 사람(“Internal Storage”로 사용)

– M&soft-내부저장소 : 프로그램을 “내부 저장소”에 설치한사람

– M&Soft-Internal Storage : 프로그램을 “Internal Storage”에 설치한 사람

근데.. 이번버전 설치한뒤에 레지값을 보니.. 프로그램 설치위치 상관없이.. 저장소 이름에 따라 처음 2개중에 골라써도 문제 없는 듯.

 

Loading

[ppc] Windows Mobile 기기 처음 ActiveSync 가 안될때..

말머리를 ppc(PocketPC)로 할까.. wm(Windows Mobile)로 할까.. 잠간 생각하다가..

그냥 ppc로 하기로 했다.. 약자는 그게 더 알아보기 쉬울것 같아서..

 

outlook자료도(주소록 등..) 구축됐겠다…

하여튼.. ActiveSync를 설치하고 나서.. 처음으로 싱크를 하려고 하는데…

이게 인식을 못한다..

연결설정에 들어가서.. 연결을 눌러봐도.. 검색해도 검색을 못하고..

직장 사무실에 USB보안 프로그램이 깔려있어서.. 혹시 이것때문에 인식을 못하나..?

뭐 써본적이 있어야.. 이게 정상적으로 안되는건지.. 비정상적으로 안되는건지 알지…

하여튼.. 그러다가.. 다른 문서를 보고서 알았다..

 

처음 sync하려고 할때.. 기기 인식을 못한다면.. windows mobile 기기에서..

설정->연결->USB-PC연결 에 들어가서..

“ActiveSync (Outlook과 동기화)” 항목 하위에.. “빠른 데이터 동기화 사용” 이란 항목이 체크되어있는지 확인하라..

내가 가진 기기의 경우는… 그 밑에 친절히 설명이 되어있다..

“ActiveSync에서 장치를 인식하지 못하면 이 확인란을 선택 해제하십시오.”

 

선택해제 하고 다시 연결하니.. 잘 인식되고.. sync도 잘 됐다..

(메모는 “주의필요”가 떴다.. 왜그런진 아직 확인 안해봤다..)

Loading