mir.pe (일반/밝은 화면)
최근 수정 시각 : 2023-10-08 01:58:14

XpressEngine

Xpress Engine에서 넘어옴
파일:XpressEngine 로고.svg
<colbgcolor=#4669cd><colcolor=#fff> 개발자 과거: 네이버 XE 커뮤니티 개발팀
현재: 엑스이허브
기여자 기여자 명단
발표일 2008년 2월 28일
라이선스 1.4 이전: GPL v2
1.4 이후: LGPL v2
홈페이지 파일:홈페이지 아이콘.svg

1. 개요2. 역사3. 구조4. 버전
4.1. 1.04.2. 1.14.3. 1.24.4. 1.34.5. 1.44.6. 1.54.7. 1.64.8. 1.74.9. 1.84.10. 1.94.11. 1.104.12. 1.114.13. XE3
5. 기타6. 주요 사이트7. 관련 문서

[clearfix]

1. 개요

한 시대를 풍미한 인터넷 게시판 프로그램 제로보드를 인수한 네이버가 제로보드 개발자 고영수[1]를 주축으로 XE 커뮤니티 개발팀을 구성하여 제작한 웹사이트 CMS(Contents Management System)이다. 네이버의 XE 커뮤니티 개발팀은 2019년 7월 1일부로 엑스이허브라는 법인으로 분리되었다.

2. 역사

제로보드 개발자인 고영수가 다니던 첫눈을 인수한 네이버가 2007년에 제로보드를 인수한 후,[2] 고영수를 주축으로 XE 커뮤니티 개발팀을 구성하여 오픈소스 프로그램으로 개발했다. 참고로 고영수는 XE 1.5가 나오기 직전에 XE 개발팀을 떠나 네이버 재팬(현 LINE)으로 자리를 옮겼다. 프로그램 자체의 라이선스는 LGPL이고, 스킨이나 모듈, 위젯, 애드온 등은 별도의 라이선스를 사용할 수 있도록 되어 있다. 첫 오픈베타 버전은 2007년 8월 12일에 공개되었으며, 2008년에 1.0이 나온 이후, 2019년 10월 22일에 1.11대 버전까지 공개되었다.

초기에는 제로보드 XE(eXtra Edition)라는 이름으로 시작했으나, 종합 빌더 개념을 뜻하는 'XpressEngine'으로 바꾸어(즉 역두문자어이다.) 제로보드와는 다른 프로그램이 되었다.

XE Core가 업데이트될 때마다 제작사에서 하위 호환성을 고려하지 않고 API나 설계를 바꾸는 바람에 잘 쓰던 모듈·위젯·애드온이 안 되는 빈도가 높았다. 이 때문에 모듈·위젯·애드온 제작자들에게는 원성을 사기도 했다. 다만 이는 유지보수적인 측면에서 딱히 문제라고 하기 힘든 부분도 어느정도 있긴 하다. 2011년에 레이아웃 및 게시판 스킨의 제작 문서가 나왔는데, 공식 홈페이지는 몇 차례 개편되면서 예전 내용을 찾기 힘들어졌다.

2011년에 1.5 버전이 나왔을 때는 호환성 관련 문제가 심각했다. 1.5로 업그레이드를 했더니 갖가지 버그가 창궐하면서, 그동안 참고 지내오던 사용자들도 본격적으로 불만을 표현했다. 자세한 것은 후술한다. 다행히 1.7로 올라갔을 때는 1.5와의 호환성 문제는 많이 발생하지 않았다.

1.8 이후, XE 개발팀에서는 XE3라는 새로운 CMS를 시작했으나 기존 XE 1.x와는 호환이 전혀 안 된다. 이에, 기존의 XE 사용자들이 연합하여 라이믹스 오픈소스 프로젝트를 출범시켰으며 현재까지도 활발하게 개발을 이어가고 있다. 반면 XE 개발팀은 네이버에서 분사하여 엑스이허브로 독립하였고, XE3에 집중하고 있다. XE3는 XE와는 다르게 PHP 프레임워크를 기반으로 개발되어 기존의 XE 1.x와는 호환되지 않는다.

3. 구조

기본 프로그램인 XE Core가 있고, 거기에 모듈이나 위젯, 애드온 등의 추가 프로그램을 올리는 방식이다. 게다가 MVC 패턴으로 개발해서 화면과 데이터를 처리 하는게 분리되었다. 덕분에 제로보드의 단점이었던 확장성은 크게 개선하였다. 예전처럼 소스를 수정하는 것이 아닌, 모듈이나 위젯, 애드온을 제작해서 코어에 연동시키면 되기 때문.

게시판만 지원했던 제로보드와는 달리 웹사이트 하나를 통째로 구축할 수 있는 사이트 빌더의 개념으로 발전했다. 스킨의 경우에도 달랑 게시판 스킨이나 최근 게시물 스킨 정도밖에 없던 제로보드와 달리, 사이트 자체의 스킨인 레이아웃과 각 모듈이나 위젯의 스킨으로 다양화되었다.

종합 빌더 개념으로 설계되어서 과거의 제로보드 보다 서버 자원을 많이 잡아먹고 속도가 느리다는 불만이 있었다. 그러나, 세월이 흐르면서 서버 기술이 발전하고 버전업을 거듭하면서 최적화와 캐시 기술이 발전하면서 이러한 불만은 점차 사그라들었다.

4. 버전

4.1. 1.0

2008년 2월 28일에 나온 첫 정식버전. 모듈·위젯·애드온의 개념은 이 때부터 있었다. 1년 동안 오픈베타를 거쳐서 안정화 기간을 거쳤기에 상당히 안정적이었고, 게시판 모듈과 몇 가지 위젯이 같이 배포되었고, 이때는 블로그를 만들기는 어려웠다. 마이너 업데이트는 1.0.6까지 진행되었다.

4.2. 1.1

2008년 11월 20일에 나온 메이저 업데이트. 마이크로 블로그인 플래닛이 추가되었다. 원래 이때 2.0 버전에 대한 계획이 같이 나왔는데, 개발이 진행되면서 무기한 연기된 상태.

4.3. 1.2

2009년 3월 12일에 배포된 두 번째 메이저 업데이트. 이때부터 이름이 "XE"로 고정된다.

관리자 페이지 UI가 전면적으로 개편되어 쓰기 편해졌고, 확장변수를 마음대로 지정해서 쓸 수 있게 되었다. 레이아웃도 웹상에서 에디터를 이용하여 수정할 수 있도록 변경되었다. 컨텐츠 통합 위젯이 나온 것도 이 1.2가 처음. 한 XE에서 여러 개의 사이트를 만들 수 있는 CafeXE 모듈, 위키를 만들 수 있는 위키 모듈 등이 이때 나왔다. XE가 가장 크게 발전했던 리즈 시절이다.

꽤 많은 것이 변경되었기 때문에 테스트 버전이 먼저 배포된 뒤에 일반 버전으로 넘어갔다.

4.4. 1.3

2009년 11월 11일에 배포된 메이저 업데이트. 블로그 모듈인 텍스타일 1.0이 이때 같이 정식 배포되었다. 가장 큰 변경점. XE 공식 홈 자료실과 연동하여 바로바로 모듈이나 스킨을 설치할 수 있는 쉬운설치 기능도 이때 생겼다.

4.5. 1.4

2010년 1월 20일에 배포된 메이저 업데이트. 라이선스가 GPL에서 LGPL로 변경되었다. 1.4 업데이트 자체는 1.3까지 산적했던 버그를 상당수 잡고, 내부 프로그램 구조를 많이 고쳐서 꽤 안정화시킨 버전이다. 이 때문에 외형상으로는 큰 변경점은 없었다.

마이너 업데이트가 되면서 기능이 추가되었는데, 1.4.3에서 모바일 레이아웃·스킨을 공식 지원하기 시작했다. 2011년 8월 11일 1.4.5.9 버전을 마지막으로 배포했다.

2012년 이 버전은 한 유저가 Xzet이라는 이름으로 보안 업데이트를 계속 진행하고 있었다. 1.5 보안 업데이트가 나온 지 며칠만에 패치가 되는 등 업데이트 속도는 빠른 편이였으나 1.4.5.20 버전을 마지막으로 업데이트가 중단되었으며 이후 타 유저가 1.4.5.24까지 업데이트를 진행했지만 이 역시 중단되었다.

4.6. 1.5

2011년 9월 28일 베타 버전을 배포하고, 10월 27일에 1.5.0.8 버전을 정식 버전으로 배포했다. 그리고 XE 사용자들에게 헬게이트가 열렸다. 속도를 개선하고 관리자 UI를 개편하는 등, XE의 구조 자체를 전면적으로 뜯어고치는 패치였는데, 대단히 많은 문제를 드러냈다.

베타 버전을 정식 업데이트로 포함시키는 바람에 1.4를 아무 문제없이 쓰던 유저들이 1.5로 업데이트했다가 속출하는 버그에 골치를 꽤나 썩였다. 결국 베타 버전 배포를 분리시켰지만 이미 업데이트 한 사람들이 많아서, 결국 공식 홈 팁 게시판에 1.4로 롤백하는 방법에 대한 팁이 떴다.

거기다 구조 자체를 전면적으로 뜯어고치다 보니 각종 스킨과 모듈·위젯·애드온의 상당수가 1.5에서는 작동되지 않았다. 1.4에서 너무 오래 머물러 있다 보니 이들 모듈의 경우 업데이트가 중단된 것도 많았고, 이 문제는 계속해서 현재 진행중이다. 업데이트를 안 하고 1.4에서 그대로 머물러 있는 사용자도 많은 편.

변경된 관리자 화면도 비판을 많이 받았다. 메뉴 지정이 사이트맵 개념으로 변경되다 보니 사용자들에게 혼란을 준 것도 있고, 1.4에 비해 너무 밋밋한 텍스트 위주의 구성도 비판을 많이 받았다. 결국 한 사용자에 의해 관리자 화면만 1.4로 되돌리는 스킨이 나오고야 말았다.

속도가 빨라진 건 사실이지만 그 증가폭이 미미했기 때문에 여전히 무거운 CMS라는 인식은 사라지지 않았다.

위에 열거된 이런저런 문제와 함께 계속 수정되지 않고 있던 XE의 글 작성 에디터에 산적해 있던 버그[3] 문제까지 나오고, XE의 사용자 게시판은 XE의 개발진에 대한 비판으로 그 어느 때보다 뜨겁게 달아오르고 있다.

결국 비판에 지친 사용자들은 하나 둘 나서서 해당 문제를 수정한 패치를 버그 신고 사이트에 제출하고 모듈을 만들어내는 등 자체적으로 문제 해결에 나서고 있다. 사실 이렇게 나가는 것이 맞을지도 모른다. 오픈 소스는 유저 참여로 발전하기 때문이다.

2012년 3월 20일에 1.5.2 버전이 나왔다. 사용자들의 패치와 버그 신고를 적극적으로 받아들여 꽤 많은 버그를 수정했다. 사용자들은 아직 작은 버그는 좀 있지만 상당히 안정화 되었다는 평을 내놓고 있다.

2013년 3월 8일 기준 1.5.4.3 버전이 마지막이다.

이 버전은 다올 CMS이라는 이름으로 보안 업데이트를 계속 진행하고 있다.

4.7. 1.6

2011년 말 2012 개발 계획 안내 공지글로 안내된 버전으로, 기본 에디터 tinyMCE로 변경 및 SNS 로그인 지원이 예정되어 있던 버전이다.

이후 2012년 4월 1일부터 30일까지 알파 테스트가 진행된 뒤 4월 30일부터 베타 테스트가 진행될 예정이였으나 진행되지 않았고, 결국 2012년 9월 XE 1.7 버전이 개발중임이 발표됨과 동시에 1.6 버전의 개발이 중단되었음이 발표되었다. #

여담으로 설치 화면이나 관리자 화면 모두 이전 버전에 비해 크게 달라졌었는데, 관리자 화면의 경우 워드프레스의 영향을 크게 받았는지 관리자 이름 옆에 Howdy라고 붙어 있기도 했다. 설치 화면을 포함한 전체적인 모습

4.8. 1.7

현재 개발팀의 공식적인 입장으론 1.6을 건너 뛰어서 1.7을 출시할 것이라고 한다. 트위터 Bootstrap 스킨을 적용하였고, 1.6에서 예정되었던 많은 기능들은 취소되거나 1.8로 연기되었다.

2013년 1월 29일부터 2월 7일까지 베타 테스트가 진행된다. 테스터들의 평은 대체적으로 괜찮다는 반응.

그리고 2013년 3월 14일 1.7.3.0 버전으로 정식 출시되었다. 호환성이 괜찮아서 1.5에서 되던 모듈이나 애드온은 1.7에서 정상적으로 작동되는 것이 많다. 밋밋했던 관리자 화면도 개선되는 등 1.5보다는 긍정적인 변화가 많다. 종전까지 기본 모듈로 포함되었던 엮인글 모듈은 사용률이 저조한데다가 스팸의 온상이 되고 있다는 지적에 따라 1.7.4 버전부터 제외되었다.

그러나 단점도 있는데, 사이트맵 구조가 바뀌면서 모듈이나 페이지를 단독으로 추가할 수 없고, 메뉴와 같이 추가하거나 삭제해야 하게 되었다. 이 때문에 1.5부터 사용하던 사용자들은 바뀐 사용법에 혼란을 겪기도 했다.

1.7.3.0 버전 출시 이후 한동안 개발이 지지부진하게 진행되었는데[4] 이를 참다 못한 몇몇 유저들이 누리 CMS라는 이름으로 포크 버전을 개발하기도 했다. 다만 이후 XE 개발이 다시 재개되며 2014년 3월 14일 개발이 공식적으로 종료되었다.[5]

2015년 5월 2일 기준 1.7.13 버전이 마지막이다.

이 버전은 한 유저가 YJSoft EX 라는 이름으로 보안 업데이트를 계속 진행 했었다.

4.9. 1.8

에디터 교체, 파일 업로드 변경, 비밀번호 암호화 개선 등을 목표로 개발되었다. 2015년 4월 14일에 정식 버전이 공개되었다.

에디터는 CKEditor가 메인이 되었고, 기존에 쓰던 에디터도 계속 쓸 수 있다. 에디터 교체와 함께 파일 업로더도 플래시 기반에서 HTML5 기반으로 변경되었다.

비밀번호 암호화는 원래 쓰던 MD5에서 MD5, MD5+SHA1+MD5, PBKDF2(PKCS#5 v2 표준, SHA256 기반), Bcrypt로 여러가지를 사용할 수 있도록 변경되었다. 이전 버전에서 업그레이드한 경우에는 MD5를 그대로 사용하며, 새로 설치한 경우에는 서버에서 지원하는 가장 높은 수준의 알고리즘을 기본값으로 사용한다.

PHP 버전 요구사항이 5.3으로 올라가서 아직 PHP 5.2를 많이 쓰는 국내 웹호스팅에서는 설치가 어려운 점이 있다. 덕분에 호스팅사들이 PHP 5.3을 지원하기 시작했다.[6]

이 버전은 Rhymix로 포크되었다. 2015년 12월경에 포크되었는데 이후의 XE 버전들의 내용도 통합하면서 현재까지도 활발하게 개발되고 있으며 XE의 사실상의 후속 CMS로 발전했다.

4.10. 1.9

2017년 11월 30일에 공개되었다.

PHP 7.2에서 핵심 객체와 예약어 간의 충돌이 생겨버려서 이를 수정한 버전이다.

2017년 12월 7일 1.9.2 버전이 나왔다. OPcache 문제가 발생했으면 OPcache를 제거하라고 한다. 여기서 문제는 PHP 5.5 이후로 PHP 의 기본 캐시는 OPcache가 되었기 때문에 사용하지 않으면 프로그램이 크게 느려진다는 것이다.

4.11. 1.10

2018년 3월 공개 예정이였으나 취소되었다. 이 버전부터 최소 PHP 버전이 5.6.4로 올라갈 예정이였다.

4.12. 1.11

2018년 10월 10일에 공개되었다. 보안 향상을 위한 템플릿 필터 기능이 새로 추가되었으며 레이아웃 편집기에서 PHP 코드를 직접 사용할 수 없도록 변경되었다.

2019년 10월 22일 1.11.6 버전이 나왔다. HTML 내용 필터링 등 몇몇 버그가 수정되었다. 개발사에서는 이 버전을 마지막으로 사실상 개발 및 지원을 종료하였다. 이 후의 개발은 오픈소스 커뮤니티 차원에서 진행하고 있는 사실상의 XE의 후속 CMS인 라이믹스로 이어지고 있다.

최종 버전인 1.11.6 버전에는 XSS를 포함한 심각한 보안 취약점이 다수 존재한다. 알려진 취약점 정리 글 라이믹스로 업그레이드 하지 않는 경우에는 비공식 보안패치 버전이라도 적용해야 한다.

4.13. XE3

자세한 내용은 XE3 문서 참조. Laravel이라는 PHP 프레임워크 기반으로 제작되었으며, 기존 버전과는 호환이 되지 않는 별개의 CMS이다.

5. 기타

XpressEngine 1.4를 기반으로 수정한 버전을 사용했던 일베저장소는 과거(2010~2012년경)의 능력있는 운영진들이 뭔 짓을 했는지, 일반적인 서버에 비해 빠른 속도를 유지하면서 XE 기반으로 동접 몇만 명을 견디는 데다 DDOS공격에서도 쉽게 복구되었던 점 등 꽤나 많이 최적화가 되어있어서 그런지 정부 지원 등의 음모론이 돌기도 했다. xml을 처리하는 자바스크립트 파일을 보면 상당히 효율적으로 수정해 둔 것을 볼 수 있는데, 웹 프로그래머들 사이에서 이를 참고하거나 도용한 최적화 팁이 퍼지기도 했다. 주로 해당 파일만 일베저장소의 것으로 바꿔치기하는 방법이 유행했는데, XE 버전이 업데이트되며 1.4 기반의 파일을 적용하기 힘들어졌으며, 이후 일베저장소 역시 개편으로 자체 CMS로 전환되며 이는 옛말이 되었다. 그리고 현재는 서버 최적화 기법이 발전하면서 굳이 이런 꼼수를 동원할 필요가 없게 되었다.

높은 수준의 코드 최적화 덕분인지 한때 XE 홈페이지에 일베저장소가 쇼케이스로 나온 적이 있는데, 당연히(?) 댓글에 반(反) 일베 네티즌들과 일베 이용자들의 병림픽이 펼쳐졌다. 결국 일주일여만에 해당 글은 삭제되었다.

많이 사용되는 웹제작 프로그램이지만, 문제는 마켓 활성화에 실패하여, 쓸만한 유료 테마나 플러그인을 구하기가 힘들다는 단점이 있다. 워드프레스처럼 원하는 모듈을 적절한 가격에 구할 수 있는 시장이 없기에 프리랜서나 전문 업체에게 맡겨야 하는 불편함이 있는데, 특성화된 용도만을 위해 제작하게 되므로 결국 기능에 비해 부담되는 유지보수 및 업그레이드 비용은 타 웹제작 프로그램에 비해 열세인 부분이라 볼 수 있다. 그나마 이용자층이 늘어나며 공개 배포 자료나, 유료 판매 자료가 늘어나서 자료 부족 부분은 약간은 해결 되었다.

현재 XE는 버그, 유저 PR[7], 새로 나온 PHP 8 지원 등을 포함하여 Rhymix(라이믹스)라는 오픈소스 프로젝트에서 열심히 발전하고 있다. XE 개발팀이 XE3 공개 이후, XE는 보안 취약점을 해결한 버전만 배포될 것이란 소문이 무성해지고 있는 가운데 시작된 프로젝트다. 명칭은 2016년 1월 12일에 Rhymix(라이믹스)로 최종 결정되었다. 라이믹스는 XE의 실질적인 후속 CMS로 발전하여 현재까지도 활발하게 개발되고 있다.

6. 주요 사이트

다음은 XpressEngine을 사용하거나, 사용했던 주요 사이트이다.

등재 기준은 나무위키에 독립 문서로 존재하는 기업/단체 등에서 운영하는 사이트 혹은 독립 문서로 존재하는 사이트와 정부기관(+공공기관, 공기업, 국립대학) 및 지방자치단체(+산하기관 등)의 사이트와 각급학교 사이트로 한정한다.

특정 사이트가 XE를 사용하는지는 페이지 소스보기를 통해 메타 태그중 'generator' 항목이 'XpressEngine'으로 지정되어 있는 것이나 XE에서 사용하는 디렉토리명이 보이거나[예시1] 사이트 메인주소 뒤에 index.php?module=admin를 붙였을 때 로그인창이 뜨거나 '접근권한이 없습니다.' 등의 메시지가 뜨는 것으로 확인할 수 있다. XE 1.4버전까지는 메타 태그에 버전까지 명시되어 있었으나 특정 버전의 취약점을 악용하여 공격할 수 있다는 지적에 따라 1.5 버전부터는 버전 표시가 제거되었다. 다만 1.5 버전과 1.7 버전 이후 버전의 관리자 화면 디자인이 다른 점을 이용해 버전을 대략적으로 구분할 수는 있다.

마지막 버전인 1.11.6 버전에 취약점이 산재해 있고, 이에 따른 각종 침해 사고가 발생함에 따라 XE를 사용하던 사이트 대다수가 자체 개발 사이트로 변경하거나 Rhymix로 업그레이드했다. 만약 본인이 XpressEngine으로 웹사이트를 운영하고 있다면 가능한 한 빠르게 Rhymix로 전환해야 한다.

7. 관련 문서



[1] LINE NEXT Corporation CEO [2] 네이버의 제로보드 인수 이유, 2007년 3월 14일, 머니투데이 기사. [3] 원래 1.4에서 XEED라는 이름의 새로운 에디터를 제작하고 있었는데 베타까지 나오고 개발이 중지되었다. [4] 거의 보안패치만 진행되었다. [5] 코드는 Github에서 구할 수 있지만 개발이 중단된 지 오래된 코드이므로 실 사용 목적으로는 부적합하다. [6] 실제로 XE의 영향력은 상당하기에 기업이 받을 타격을 생각하여 PHP 버전 업그레이드를 시작하였다. XE의 결정으로 몇년째 버티다 부랴부랴 업그레이드하는 모습이 정말 통쾌하다 [7] PR은 Pull Request의 줄임말로, 깃허브에서 도움되는 기능 추가 혹은 개선해달라고 요청하는 것이라 보면 된다. [예시1] common, modules, widgets등의 디렉토리