- CentOS에 XE 1.7.3.4 설치
- 오류 : ERR_CONTENT_DECODING_FAILED
- 설치 가이드
- 설치전 사전 준비 사항
- XE용 DB 설정
- XE 설치
- 설치 후 설정 확인
- XE 환경 설정
- XE 초기 설정
- 기본 설치 프로그램
- SocialXE 설정
- NAVER Analytics 설정
- 관리자 가이드
- XE 폴더 구조
- JOSSO 적용
- 오류시 조치 사항
- 개발자 가이드
- 위젯 만들기
- 참고 문헌
Xpress Engine (구 제로보드XE)에 대한 전반적인 사항을 정리한다.
Xpress Engine은 게시판 기능을 넘어서 ECM (Enterprise Content Management) 도구로 발전하고 있다.
홈페이지 : http://www.xpressengine.com/, http://www.zeroboard.com/
라이센스 : GPL v2
단 Xpress Engine기본 프로그램의 변형이 아닌 모듈/애드온/위젯 프로그램과 스킨은 각 저작자가 라이센스를 정할 수 있습니다.플랫폼 : PHP
CentOS에 XE 1.7.3.4 설치
CentOS에서 XE 1.7.3.4를 설치 합니다.
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에서 읽기, 쓰기 권한이 있어야 한다.
http://www.jopenbusiness.com/xe/로 접속하여 초기 설정을 한다.
화면이 표시되지 않고 컨텐츠 인코딩 오류가 발생할 경우
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"); //--- 이 라인 위에
"한국어"를 선택하고 "라이센스에 동의합니다"를 눌러 다음 진행을 합니다.
필수 설치 조건을 확인하고 "설치를 진행합니다"를 누른다.
관리자 화면에서 "쉬운 설치"를 위해 사용할 FTP 접속 정보를 등록 한다.
필요한 정보를 입력한 후 "FTP 접속 확인" 버튼을 눌러 설정 값이 정상적으로 입력 되었는지 확인 한다.
"무시" 버튼을 누르면 이 설정을 하지 않고 건너 뛰는데 향후 관리자 화면의 "Settings" 화면에서 설정할 수 있다.
"mysql innodb"를 선택하고 "설치를 진행합니다"를 누른다.
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
설치가 완료 되면 http://localhost/xe/?module=admin 으로 로그인 하여 관리자 설정을 한다.
설치 후 설정 확인
rewrite mod가 정상 동작하지 않을 경우
오류 현상
http://호스트/xe/?module=admin 으로 접속하면 페이지가 정상적으로 뜨나
http://호스트/xe/admin 으로 접속할 경우 404 (웹 페이지를 찾을 수 없습니다) 오류가 발생 한다.
확인 사항
Apache HTTP Server에 rewrite 모듈이 설치 되었는지 확인 한다.
'''Apache HTTP Server 설정 파일에서 AllowOverride를 None이 아니라 All로 변경 한다.'''
'''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 폴더 구조"에서 설명한 구조로 위젯을 만들어 서버에 올려 두면 바로 사용할 수 있습니다.
참고 문헌