일상 기록 창고

우분투에 메신저 서버 설치 - 1 ( Openfire + Spark ) 본문

프로그래밍/주저리 주저리

우분투에 메신저 서버 설치 - 1 ( Openfire + Spark )

Crazy_Kong 2016. 11. 18. 08:50

필요사항

1. Java 필요
   - sudo apt-get install default-jre
2. MariaDB ( 데이터베이스 필요 )
   - sudo apt-get install mariadb-server.10.0 
   - 설치 후 openfire 데이터베이스 및 사용자 설정

Openfire 설치

[ 다운로드 ] https://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire_4.0.3_all.deb
설치
- sudo dpkg -i openfire_4.0.3_all.deb

Oepnfire 설정 파일 위치

- /usr/share/openfire
- /etc/openfire
- /usr/share/openfire/resuorce/database/openfire_mysql.sql 

테이블 생성 시 다음과 같은 오류 발생

- mysql> source /usr/share/openfire/resuorce/database/openfire_mysql.sql 시 index size 오류 발생

과정1

[mysqld] 
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix   = 1
오류 해결을 위해 해당 내용 추가 후 mysql 재 시작 

과정2 - vi /usr/share/openfire/resources/database/openfile_mysql.sql 편집

CREATE TABLE ofRoster (
  rosterID              BIGINT          NOT NULL,
  username              VARCHAR(64)     NOT NULL,
  jid                   VARCHAR(1024)   NOT NULL,
  sub                   TINYINT         NOT NULL,
  ask                   TINYINT         NOT NULL,
  recv                  TINYINT         NOT NULL,
  nick                  VARCHAR(255),
  PRIMARY KEY (rosterID),
  INDEX ofRoster_unameid_idx (username),
  INDEX ofRoster_jid_idx (jid(255))
)ROW_FORMAT = DYNAMIC;
CREATE TABLE ofExtComponentConf (
  subdomain             VARCHAR(255)    NOT NULL,
  wildcard              TINYINT         NOT NULL,
  secret                VARCHAR(255),
  permission            VARCHAR(10)     NOT NULL,
  PRIMARY KEY (subdomain)
)ROW_FORMAT = DYNAMIC;
CREATE TABLE ofRemoteServerConf (
  xmppDomain            VARCHAR(255)    NOT NULL,
  remotePort            INTEGER,
  permission            VARCHAR(10)     NOT NULL,
  PRIMARY KEY (xmppDomain)
)ROW_FORMAT = DYNAMIC;
CREATE TABLE ofSASLAuthorized (
  username            VARCHAR(64)   NOT NULL,
  principal           TEXT          NOT NULL,
  PRIMARY KEY (username, principal(200))
)ROW_FORMAT = DYNAMIC;
CREATE TABLE ofExtComponentConf (
  subdomain             VARCHAR(255)    NOT NULL,
  wildcard              TINYINT         NOT NULL,
  secret                VARCHAR(255),
  permission            VARCHAR(10)     NOT NULL,
  PRIMARY KEY (subdomain)
)ROW_FORMAT = DYNAMIC;
CREATE TABLE ofRoster (
  rosterID              BIGINT          NOT NULL,
  username              VARCHAR(64)     NOT NULL,
  jid                   VARCHAR(1024)   NOT NULL,
  sub                   TINYINT         NOT NULL,
  ask                   TINYINT         NOT NULL,
  recv                  TINYINT         NOT NULL,
  nick                  VARCHAR(255),
  PRIMARY KEY (rosterID),
  INDEX ofRoster_unameid_idx (username),
  INDEX ofRoster_jid_idx (jid(255))
)ROW_FORMAT = DYNAMIC;
해당 테이블에 ROW_FORMAT=DYNAMIC 옵션 추가

과정3 - 테이블이 정상적으로 생성되었을 경우 진행

http://localhost:9090/ 로 접속하여 해당 내용 등록

과정4 - Openfire 설정


아쉽게도 한글은 지원하지 않는다.


Domain 에 도메인 혹은 아이피 주소를 넣자.


설치한 MariaDB 세팅을 진행





이 다음 단계에서 비밀번호 설정 후 완료



Account 부분에서 비밀번호 설정 후 완료 버튼을 누르게 되면 위와 같은 화면이 나오면서 끝



접속 주소는 http://도메인:9090  도메인은 본인이 설정한 도메인 주소 혹은 아이피를 넣으면 된다.

아이디는 admin / 본인이 설정한 비밀번호