본문 바로가기

개발이야기

Openfire 설치 및 한글 처리 방법

채팅 서버 설치 후 연결이 안되는 경우 SG 설정 볼필요 있음. 9090, 5222

 

jdbc:mysql://xxx.amazonaws.com:3306/openfire_kr?useUnicode=yes&characterEncoding=UTF8

 

xmpp 한글 변경 관련 http://underfree.tistory.com/62    <- DB

openfire 첫 관리자 셋팅시 한글 관련 : http://xinet.kr/tc/46 <- 관리자

셋팅 되어있는 상태에서 다른 DB 로 셋팅하고 싶으면 openfire 설치된 곳에 conf 폴더에

openfire,xml 파일 맨마지막줄 <setup> 부분을 false 로 변경

 

/opt/openfire/conf/openfire.xml

 

가입 페이지 http://서버이름:9090/plugins/registration/sign-up.jsp

 

일부 한글로 만들기

openfire 기본 언어 세팅에 한글은 없다. 영어 중국어 따위만 있다. 그래도 openfire.xml의 아래 부분을 ko로 해 주면 '한국표준시' 따위의 한글은 볼 수 있다.

 

1.<locale>ko</locale>

당연히 xml을 수정한 다음에는 openfire restart해야 한다.

 

1.sudo /etc/init.d/openfire restart

한글 이름 깨지는 문제

username은 아이디다. 당연히 한글로 하지 않는 게 좋다. 그러나 name 부분은 한글로 하는 게 좋을 것이다. 기본으로 보이는 이름이니까 말이다. 그렇게 하려면 처음 db 설정 때 인코딩 설정을 해 줘야 한다. mysql의 경우 아래와 같이 인코딩 설정을 한다.

 

1.jdbc:mysql://localhost:3306/DBname?useUnicode=yes&amp;characterEncoding=UTF8

DBname 뒷부분을 긁어서 자신의 코드에 적용하면 된다.

다 설치한 다음 수정하기 위해서는 openfire.xml을 연다. 아래처럼 고쳐 준다.

 

1.<serverURL>jdbc:mysql://localhost:3306/DBname?useUnicode=yes&amp;characterEncoding=UTF8</serverURL>

당연히 xml을 수정한 다음에는 openfire restart해야 한다.

1.sudo /etc/init.d/openfire restart

 

사용 가능한 메신저

일단 설치하고 나면 pidgin에서 사용하면 된다.(정확히 말하면 XMPP(혹은 jabber)를 지원하는 모든 메신저로 사용 가능하다.) 프로토콜을 XMPP로 선택하고 사용자명에 오픈파이어 가입시 적은 username, 도메인에 서버 설치된 ip주소나 도메인 주소를 적어 주면 된다.

 

실제 저는 여러 메신저 중에서 아래 사이트에 있는 spark 메신저를 사용해서 사용합니다.

설정이 쉬우면서도 기능은 거의 다 갖춘 메신저

http://www.igniterealtime.org/

이곳에서 spark 를 다운로드 해서 사용하면 됩니다.

rpm -ivh openfire-3.6.4-1.i386.rpm

 

웹 클라이언트로 openfire 서버로 접속합니다. 포트에 9090을 붙여서 입력합니다.

openfire 서버는 구동에 조금 딜레이가 있습니다. 5초 가량 지나서 접속해야 원활히 접속이 됩니다.

 

1. Language Selection - 한글이 없으므로 영문 디폴트를 그대로 선택해서 클릭합니다.

 

2. Server Settings - 도메인 이름과 포트사용을 설정합니다.

외부에서 접속가능한 도메인이 없으면 IP 번호를 넣어줍니다.

9090, 9091 포트사용으로 방화벽에 포트를 추가합니다.

 

3. Database Settings - Mysql 사용으로 디폴트 선택을 그대로해서 클릭합니다.

host 명에 mysql 서버가 동일 하드웨어라면 localhost 라고 입력해도 무방합니다.

mysql 디비에 사용자명과 도메인이 기재되어야만 mysql (외부) 접속이 가능합니다.

 

3-1. MySQL의 경우 접속 경로는

jdbc:mysql://localhost:3306/openfire_kr?useUnicode=yes&amp;characterEncoding=UTF8

이다. '?'부터 붙은 부분은 한글 사용으로 인해 붙여준다.

 

rewriteBatchedStatements=true <- 기존 설정되어 있었는데, 그대로 유지 시켜도 되며

Ofoffline 이라는 테이블에 한글로 변경해줌.

 

alter table tb_chat_message convert to character set utf8; <- 테이블 속성 변경해줌.

그리고 위에 접속 시 UTF8 추가해주면 처리완료. 

 

환경 서버 설정

서버 환경 설정

/opt/openfire/conf/openfire.xml 파일에서 마지막 부분에 있는

<setup>true</setup> <setup>false</setup>로 바꾸면 재설정 가능합니다.

<locale>en</locale> <locale>ko</locale>로 바꾸면 지역/타임존에서 한국 표준시로 표기가 됩니다. 기본 언어 설정에 '한글'을 선택하는 부분이 없으므로 여기서 처리를 한다.

 

한글 처리 관련

 

mysql> set names utf8;

mysql> set session character_set_server=utf8;

mysql> set session character_set_database=utf8

 

'개발이야기' 카테고리의 다른 글

svn 설치 절차  (0) 2018.09.20
OpenFire 설치 방법  (0) 2018.09.20
아마존 RDS MySQL에서 한글 처리  (0) 2018.09.20