상단

Xpress Engine (구 제로보드XE)에 대한 전반적인 사항을 정리한다.
 
Xpress Engine은 게시판 기능을 넘어서 ECM (Enterprise Content Management) 도구로 발전하고 있다.

 

CentOS에 XE 1.7.3.4 설치


CentOS에서 XE 1.7.3.4를 설치 합니다.

 
  • 사전 준비 사항

     
  • Xpress Engine을 다운로드하여 원하는 위치에 놓고 압축을 풉니다.

 
 unzip xe.1.7.3.4.ko.zip
 mv xe board
 chown -R apache:apache board
 
  • http://~/board 사이트로 접속하여 설치를 합니다.

 
 

오류 : ERR_CONTENT_DECODING_FAILED

  • 오류 메시지 : 330 오류(net::ERR_CONTENT_DECODING_FAILED): 알 수 없는 오류

  • 임시 조치 방법

    • vi classes/display/DisplayHandler.class.php

 
 //extension_loaded('zlib') &&
 extension_loaded('gzip') &&
 

설치 가이드


Xpress Engine은 1999년부터 개발되어 온 제로보드(ZeroBoard)로 부터 시작하여 지금은 게시판 영역을 넘어 ECM(Enterprise Content Management)로 발전한 오픈소스 이다.

{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" 
|- |width="25%" align="center" valign="middle" style="background-color:#eee;"|제로보드
(1999년) 
|width="75%"|

고영수(zero)개발자가 개발한 게시판 소프트웨어인 제로보드는 4.1 버전까지 업데이트 되며 기존의 게시판 소프트웨어에 비해 강력한 기능을 보유한 국내 게시판 소프트웨어의 대명사가 되었습니다. 지금도 많은 사용자가 제로보드 4를 이용하고 있습니다.
align="center" valign="middle" style="background-color:#eee;"
제로보드 XE(zbxe)는 기존의 제로보드를 업그레이드한 것이 아닌, 기획부터 구현까지 완전히 새로 만든 소프트웨어 입니다. 게시판 뿐만 아니라 다양한 종류의 웹 사이트를 제작할 수 있는 프레임워크, 자유/오픈 소스 소프트웨어로 나아가기 위한 큰 변화의 시작이었습니다.
-
align="center" valign="middle" style="background-color:#eee;"
XpressEngine이라는 새로운 이름으로 명칭을 변경하면서 개인의 다양성과 콘텐츠의 안정성, 이동성에 더욱 중점을 두었습니다. 제로보드 XE의 '보드(게시판)'라는 단어가 갖는 한계를 벗어나 감정과 생각 등의 생산, 발행, 유통을 도와주는 자유/오픈 소스 소프트웨어가 되고자 하는 의지를 담았습니다.
}
 

설치전 사전 준비 사항

{{wamp 준비}}

 
  • 주의 사항 및 추가 준비 사항

    • MySQL 4.1 이상 지원

    • PHP 4.x와 PHP 5.x 지원, 단 5.2.2는 PHP 자체에 버그가 있음

    • PHP에 iconv 확장팩 설치

    • PHP에 XML 라이브러리 설치

 
 

XE용 DB 설정

{{MySQL DB 설정|Xpress Engine|xedb|xe}}

 

XE 설치

  • %APACHE_HOME%/conf/httpd.conf 파일에 XE 관련 정보를 추가하고 Apache를 재기동 한다.

    • Windows Vista의 경우 관리자로 실행하여 수정 한다.

    • Ubuntu의 경우 "AllowOverride None"이 아니라 "AllowOverride All"로 설정해야 rewrite 모듈이 정상 동작 한다.

 
 
     Options FollowSymLinks
     '''AllowOverride All'''
 #    Order deny,allow     (이 라인을 주석으로 막는다)
 #    Deny from all        (이 라인을 주석으로 막는다)
 
 
 ###-----------------------------------------------
 ### XE 설정, Document Root가 d:/www 일 경우
 Alias   /xe    d:/www/xe
 
     Order allow,deny
     Allow from all
 
 
  • 다운로드 사이트에서 "xe.1.3.1.2.zip"를 다운로드 한다.

    • xe.1.3.1.2.zip 파일의 압축을 풀어 d:/www/xe 디렉토리에 복사한다.

    • d:/www/xe 폴더는 Apache HTTP Server에서 읽기, 쓰기 권한이 있어야 한다.
      700px|다운로드


 
 330 오류(net::ERR_CONTENT_DECODING_FAILED): 알 수 없는 오류
  • vi classes/display/DisplayHandler.class.php 에서 다음을 추가 한다.

 
 function printContent(&$oModule)                        //--- 함수에서
 $this->gz_enabled = false;                              //--- 이 라인을 추가 한다.
 if($this->gz_enabled) header("Content-Encoding: gzip"); //--- 이 라인 위에

  • "한국어"를 선택하고 "라이센스에 동의합니다"를 눌러 다음 진행을 합니다.
    700px|언어 선택


  • 필수 설치 조건을 확인하고 "설치를 진행합니다"를 누른다.
    700px|설치 조건 확인


  • 관리자 화면에서 "쉬운 설치"를 위해 사용할 FTP 접속 정보를 등록 한다.

    • 필요한 정보를 입력한 후 "FTP 접속 확인" 버튼을 눌러 설정 값이 정상적으로 입력 되었는지 확인 한다.

    • "무시" 버튼을 누르면 이 설정을 하지 않고 건너 뛰는데 향후 관리자 화면의 "Settings" 화면에서 설정할 수 있다.
      700px|FTP 설정 확인


  • "mysql innodb"를 선택하고 "설치를 진행합니다"를 누른다.
    700px|DB 선택


  • DB와 관리자 정보를 입력하고 "등록" 버튼을 누른다.

  • *mysql_innodb

  • **DB 호스트네밍 : localhost

  • **DB Port : 3306

  • **DB 아이디 : xe

  • **DB 비밀번호 : 암호를 입력할 것

  • **DB 데이터베이스 : xedb

  • **테이블 머릿말 : xe (하나의 서버에 여러개의 XE 설치시 구분자)

  • *관리자정보

  • **아이디 : admin

  • **비밀번호 : admin의 암호로 사용할 것을 입력할 것

  • **이름 : 관리자

  • **닉네임 : 관리자

  • **이메일 주소 : 관리자의 이메일 주소

  • *환경 설정

  • **rewrite mod 사용 : 선택

  • **time zone : +09:00 Korea Standard Time, Japan Standard Time, China Standard Time
    700px|DB, 관리자 정보


 

설치 후 설정 확인

  • rewrite mod가 정상 동작하지 않을 경우

    • 오류 현상

 
 http://호스트/xe/?module=admin 으로 접속하면 페이지가 정상적으로 뜨나
 http://호스트/xe/admin 으로 접속할 경우 404 (웹 페이지를 찾을 수 없습니다) 오류가 발생 한다.
  • 확인 사항

 
 
     '''AllowOverride All'''
 
- Xpress Engine이 설치된 폴더에 .htaccess 파일이 있는지 확인 한다.  
- http://호스트/xe/?module=admin 으로 접속하여 "Setting" 메뉴에서 "rewrite mod 사용" 체크 되어 있는지 확인 한다.  
  • "쉬운 설치"에서 폴더 생성 권한이 없다는 메시지가 나올 경우

    • 우측 상단의 "Settings" 메뉴을 선택 한다.

    • "설치된 XE의 FTP 경로 설정"에서 /var/www/xe/ 처럼 끝이 /로 끝이 나도록 등록 한다.

 
 

XE 환경 설정


XE 초기 설정

  • XE 관리자로 로그인 합니다.

  • XE 시스템의 기본 설정을 합니다.

    • "Settings -> 설정"에서 다음과 같이 설정 합니다.

      • 짧은 주소 사용 : 선택

      • Language : 한국어

      • 표준 시간대 : +09:00 Korea Standard Time, Japan Standard

      • 모바일 뷰 사용 : 선택

    • "Settings -> FTP 계정 정보 입력"에서 다음과 같이 설정 합니다.

      • 아이디 : FTP 아이디를 입력 하세요.

      • 비밀번호 : FTP 아이디에 해당하는 비밀번호를 입력 하세요.

      • FTP 서버 주소 : XE가 설치된 서버 주소를 입력 하세요.

      • FTP Port : 21

      • FTP Passive mode : 선택

      • 설치된 XE의 FTP 경로 설정 : XE가 설치된 절대 경로를 입력 하세요.

     
  • XE를 사용할 사용자를 등록 합니다.

    • "회원 관리 -> 회원 관리 -> 생성"에서 XE를 사용할 사용자를 생성 합니다.

    • 예) 아이디: user01, 소속 그룹: 정회원

 
 

  • XE에서 사용할 메뉴를 등록 합니다.

    • "사이트 설정 -> 메뉴 -> 생성"을 선택하여 메뉴을 생성 합니다.

      • 제목 : "사이트 메뉴"

     
  • XE에서 사용할 레이아웃을 등록 합니다.

    • "사이트 설정 -> 레이아웃 -> 다운로드 목록"에서 "XE 공식 사이트 레이아웃 (xe_official)"에 있는 "생성" 버튼을 선택 합니다.

    • 제목 : "XE 공식 사이트 레이아웃"

    • 홈 페이지 URL : XE의 홈 페이지 URL을 입력 한다. (예, http://www.jopenbusiness.com/xe/)

    • 상단 메뉴 : 위에서 생성한 "사이트 메뉴"를 선택 합니다.

     
  • "서비스 관리 -> 페이지 -> 생성"을 선택하여 home 페이지를 생성 합니다.

    • 모듈 이름 : home

    • 레이아웃 : "XE 공식 사이트 레이아웃 (xe_official)"

    • 모바일 뷰 사용 : 선택

    • 모바일 레이아웃 : "XE 공식 사이트 모바일 레이아웃 (default)"

     
  • 메뉴에 home 페이지를 추가 합니다.

    • "사이트 설정 -> 메뉴"에서 위에서 생성한 "사이트 메뉴"를 수정 합니다.

    • 메뉴 트리에서 "+" 버튼을 눌러 메뉴를 추가 합니다.

      • 메뉴명 : 홈

      • 연결 url : home

     
  • 설정에서 XE의 홈 페이지를 지정 합니다.

    • "Settings -> 설정"에서 시작 모듈을 home으로 선택 합니다.

 
 

기본 설치 프로그램

  • 모듈

    • SocialXE 클라이언트 모듈 ver. 1.0.6

    • SocialXE 서버 모듈 ver. 1.0.8

    • 게시판 EX ver. 0.5.9

    • nLucene 모듈 ver. 1.2

    • PXE 게시판 ver. 0.5.6

    • 자료실 - Resources ver. 1.1.1

    • 지식인XE ver. 1.1.2

    • Textyle ver. 1.3.1

      • 글감 모듈 ver. 1.0

    • Project XE ver. 1.0.2

      • IssueTracker ver. 1.1.0

      • WikiXE ver. 1.1.0

    • 주변 지도 모듈 ver. 0.2

    • NAVER Analytics ver. 0.2.1

    • 출석부 모듈 ver. 1.5.16

     
  • 애드온

    • 요약 책갈피 SNS Bookmarker ver. 1.1.2

    • QRCODE 애드온 ver. 0.2

    • 태그 연관글 출력(tag_relation) ver. 1.3

    • Facebook Social plugin Addon - Like button ver. 0.1

     
  • 위젯

    • Sitemap 위젯 ver. 0.1.0

    • PlannerXE123 (위젯 버전) ver. 3.3.0

    • 최근 글 위젯 (카테고리) ver. 0.1

    • NAVER Analytics Widget ver. 0.1

     
  • 에디터컴포넌트

    • 지도 글쓰기 도구(구글맵 사용) ver. 0.3.5

     
  • 단락에디터컴포넌트

 
 

  • 모듈 스킨

    • 문하우스 게시판스킨 ver. 3.0

     
  • 위젯 스킨

    • 플래쉬 회전하는 태그 위젯 SmallFont ver. 1.2

    • xeHome - 공지/웹진형 ver. 0.1

    • 문하우스 MH통합게시판위젯 ver. 2.0

    • 로그인 정보 출력 - XGENESIS Official Skin ver. 0.1.0

     
  • 위젯 스타일

    • Elkha - Gray Widget Style ver. 1.2.1

     
  • 레이아웃 스킨

    • 엑스돔 레이아웃 v2 ver. 2.5.2.4

    • Elkha - Sky2 ver. 1.4.5

    • Crom iXE 레이아웃 ver. 1.0.3

  • 에디터 스타일

 
 

SocialXE 설정

  • SocialXE에서 사용하기 위해 게시판을 생성 합니다.

    • "게시판 EX -> 게시판 EX 관리 -> 게시판 생성"에서 모듈 이름을 "SocialBoard"로 등록하고 게시판을 생성 합니다.

    • "게시판 EX -> 게시판 EX 관리 -> 게시판 목록"에서 SocialBoard의 수정 버튼을 선택 합니다.

      • 모든 권한 설정에서 "특정 그룹 사용자"를 선택하고 "관리그룹"을 체크 합니다.

    • http://localhost/xe/?mid=SocialBoard 로 접속해서 "쓰기" 버튼을 눌러 SocialXE를 위한 임의의 글을 등록 합니다.

      • 등록후 URL에서 문서 번호를 확인하고 기억 합니다. (예, document_srl=73)

     
  • SocialXE에서 사용하기 위해 페이지를 생성 합니다.

    • "제어판 -> 서비스 관리 -> 페이지 -> 생성"을 선택하여 페이지를 생성 합니다.

      • 모듈 이름: social

     
  • 생성된 페이지에 SocialXE 기능을 추가 합니다.

    • http://localhost/xe/?mid=social 페이지에서 "페이지 수정" 버튼을 선택 합니다.

    • "SocialXE 댓글"을 선택한 후 "추가" 버튼을 누릅니다.

      • 댓글이 등록될 문서번호: 게시판 등록시 생성한 문서의 번호를 여기에 입력 합니다.

      • 소셜 서비스에 등록될 제목: Social

      • 소셜 서비스에 등록될 주소: http://localhost/xe/?mid=social

      • 한번에 보여질 댓글 개수: 10

 
 

NAVER Analytics 설정

  • Naver Analytics 사이트에서API Key를 발급 받습니다.

  • "Settings -> 부가 기능 설정 -> Naver Analytics"에서 "API Key 정보"를 등록 합니다.

  • 처음 Naver Analytics를 적용할때, 데이터가 없어서 오류가 나면서 화면이 보이지 않을 경우

    • vi /var/www/html/xe/widgets/analytics_flash_counter/analytics_flash_counter.class.php

 
 //--- if 문을 추가하여 foreach문을 감싸 안아 줍니다.
 if ($response_obj != null) {
     foreach($response_obj as $key => $va
         $aXML_data[](.md) = 'id="'.preg_replace('/-/', '', $val->day->body).'" cnt="'.$val->visit_count->body.'"';
     }
 }
 
 
 

관리자 가이드


XE 폴더 구조

{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" 
|- |width="25%" align="center" valign="middle" style="background-color:#eee;"|XE Core |width="75%"|

  • Classes

    • Context : /classes/context/Context.class.php

    • Object : /classes/object/Object.class.php : 데이터 전달을 위해 사용되는 base 클래스

    • MobuleObject : /classes/module/ModuleObject.class.php : 모듈의 base 클래스

    • ModuleHandler : /classes/module/ModuleHandler.class.php : 모듈을 실행하는 클래스

      • init() : Module 초기화

      • procModule() : Module 실행

      • displayContent($oModule) : Module 실행 결과 화면 반환

 
 if ($oModuleHandler->init()) {
     $oModule = &$oModuleHandler->procModule();
     $oModuleHandler->displayContent($oModule);
 }
 

|- 
|align="center" valign="middle" style="background-color:#eee;"|모듈 |

  • Action의 기본 묶음을 표현하고, Data를 포함할 수 있는 최소 단위의 프로그램 조각

  • 폴더 : /modules/모듈/

    • conf/ : 모듈 설정 파일

    • lang/ : 모듈 언어 파일

    • queries/ : 모듈에서 사용하는 Query 파일

    • schemas/ : 모듈의 Schema 파일

    • skins/ : 모듈용 Skin 파일

    • tpl/ : 모듈용 Template 파일

    • 모듈.class.php : 모듈용 Class 파일

    • 모듈.model.php, 모듈.view.php, 모듈.controller.php : 모듈용 MVC 파일

    • 모듈.admin.model.php, 모듈.admin.view.php, 모듈.admin.controller.php : 모듈 Admin용 MVC 파일
      align="center" valign="middle" style="background-color:#eee;"
  • 모듈의 제어나 결과의 변경이 가능한 추가 기능 구현

    • before_module_init, before_module_proc, after_module_proc, before_display_content

  • 폴더 : /addons/
    align="center" valign="middle" style="background-color:#eee;"
  • 화면에 표시되는 작은 프로그램

  • 폴더 : /widgets/

    • conf/ : 위젯 설정 파일

    • queries/ : 위젯에서 사용하는 Query 파일

    • skins/ : 위젯용 Skin 파일

    • 위젯.class.php : 위젯 파일

      • conf/info.xml에 정의된 값 또는 의 attribute값을 받아 proc($args) 함수가 실행 된다.

  • 사용법

 
 

|- 
|align="center" valign="middle" style="background-color:#eee;"|에디터컴포넌트


|- |align="center" valign="middle" style="background-color:#eee;"|단락에디터컴포넌트


|- |align="center" valign="middle" style="background-color:#eee;"|모듈 스킨


|- |align="center" valign="middle" style="background-color:#eee;"|위젯 스킨 |

  • 폴더 : /widgets/skins/스킨_폴더(default)/

    • skin.xml : 위젯 스킨 정보를 저장

    • widget.html : 위젯 스킨 파일

    • css/widget.css : 위젯 스킨 파일에서 사용하는 CSS 파일
      align="center" valign="middle" style="background-color:#eee;"
  • 위젯의 배경, 보더, 타이틀 등 위젯의 모양을 꾸며주는 위젯스타일

  • 폴더 : /widgetstyles/위젯스타일명/

    • widgetstyle.html : 위젯스타일의 템플릿 파일

    • skin.xml : 위젯스타일의 제목, 설명, 제작자, 추가변수에 대한 설정 파일

    • preview.gif : 위젯스타일 미리보기
      align="center" valign="middle" style="background-color:#eee;"
  • 폴더 : /layouts/
    align="center" valign="middle" style="background-color:#eee;"
    }
 

JOSSO 적용

 
 

오류시 조치 사항

  • 330, ERR_CONTENT_DECODING_FAILED

    • gz 압축 전송 옵션을 끈다.

    • vi config/config.inc.php

 
 if(!defined('__OB_GZHANDLER_ENABLE__')) define('__OB_GZHANDLER_ENABLE__', 0);
 

개발자 가이드


위젯 만들기

  • 위 "XE 폴더 구조"에서 설명한 구조로 위젯을 만들어 서버에 올려 두면 바로 사용할 수 있습니다.

  • 참고 문헌

 
 

참고 문헌


 
 

분류: 오픈소스 
CMS 
WebSite

최종 수정일: 2024-09-30 12:26:18

이전글 :
다음글 :