Admin_Old (토론) m편집 요약 없음 |
로고 안나오던 문제 수정 |
||
| (사용자 10명의 중간 판 99개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
[[파일:rhymix.png]] | {{소프트웨어 정보 | ||
| 이름 = 라이믹스 | |||
| 로고 = [[파일:rhymix.png|width=auto]] | |||
| 설명 = 현 라이믹스의 로고 | |||
| 원작자 = [[XpressEngine|XE]] 개발팀 및 기여자 | |||
| 개발자 = (주)포에시스 | |||
| 발표일 = 2015년 12월 18일 | |||
| 최신 버전 = 2.1.36 | |||
| 최신 버전 출시일 = {{날짜/출력|2026-08-12}} | |||
| 프로그래밍 언어 = [[PHP]] | |||
| 종류 = 오픈소스 [[CMS]] 및 웹 프레임워크 | |||
| 라이선스 = GNU GPL v2 계열 | |||
| 웹사이트 = [https://rhymix.org rhymix.org] | |||
| 전작 = [[XpressEngine|XpressEngine 1.x]] | |||
}} | |||
영어 문서는 [[Rhymix|Rhymix]] 문서를 참고할 수 있다. | |||
{{틀:인용문|Rhyme + Remix {{틀:=}} "RHYMIX"!}} | |||
[https://rhymix.org 라이믹스 공식 홈페이지] · [https://rhymix.org/manual 공식 매뉴얼] · [https://github.com/rhymix/rhymix GitHub 저장소] · [https://github.com/rhymix/rhymix-docs 공식 문서 저장소] | |||
== | == 개요 == | ||
'''라이믹스'''(Rhymix)는 [[XpressEngine|XpressEngine 1.x]]를 기반으로 갈라져 나온 PHP 기반의 오픈소스 [[CMS]] 및 웹 프레임워크이다. 공식 홈페이지에서는 라이믹스를 “오픈소스 CMS 및 프레임워크”로 소개하며, 모듈과 테마를 이용하여 홈페이지, 커뮤니티, 게시판, 서비스형 웹사이트 등을 구성할 수 있다고 설명한다.<ref name="official-home">[https://rhymix.org 라이믹스 공식 홈페이지]</ref> | |||
== | 프로젝트는 2015년 12월 18일에 시작되었으며, 현재는 대전에 소재한 (주)포에시스(Poesis Inc.)가 개발과 유지보수를 맡고 있다.<ref name="about">[https://rhymix.org/about 라이믹스 소개]</ref> | ||
라이믹스는 기존 XE 1.x와의 호환성을 상당 부분 유지하면서도, 보안 패치, PHP 최신 버전 대응, 성능 개선, 관리자 기능 개선, 확장성 개선 등을 꾸준히 반영하는 방향으로 개발되고 있다. 공식 GitHub 저장소의 설명에 따르면 라이믹스는 XE 기반 자료의 호환성을 최대한 유지하면서도, 더 빠르고 안전하며 사용자와 개발자가 소통하기 쉬운 CMS를 지향한다.<ref name="github-readme">[https://github.com/rhymix/rhymix rhymix/rhymix GitHub 저장소]</ref> | |||
* [[가온 | |||
* [https:// | 이름은 rhyme(운율)과 remix(재조합)를 결합한 것으로, 기존 XE 생태계를 단순히 보존하는 데 그치지 않고 필요한 부분을 다시 섞고 개선한다는 의미를 담고 있다. 공식 소개 문서는 라이믹스가 온라인에서 무언가를 만들어내는 모든 “메이커”를 지원하는 것을 목표로 하며, 설치와 운영 과정에서 대부분의 사용자가 터미널 명령을 입력할 필요가 없어야 한다는 원칙을 내세운다고 설명한다.<ref name="about" /> | ||
라이선스는 GNU GPL v2 계열이다. 라이믹스 공식 저장소와 공식 홈페이지 모두 GPLv2를 명시하고 있으며, 공식 매뉴얼에는 GPL 라이선스에 따른 사용자, 개발자, 디자이너의 권리와 의무가 별도 문서로 정리되어 있다.<ref name="license">[https://rhymix.org/manual/contrib/license GPL: 개발자, 디자이너, 사용자 등의 권리와 의무]</ref> | |||
== 역사 == | |||
라이믹스는 XE 1.x의 소스 코드를 기반으로 시작된 프로젝트이다. XE가 보안 패치 중심으로 유지되는 동안, 실제 운영자와 개발자들이 필요로 하던 개선 사항을 더 적극적으로 반영하기 위해 XETOWN 커뮤니티를 중심으로 포크가 논의되었다. 프로젝트의 공식 시작일은 2015년 12월 18일이다.<ref name="about" /> | |||
초기에는 명확한 이름이 정해지지 않아 XETOWN Fork, XETOWN CMS, XETOWN Core 등으로 불렸으며, 2016년 1월 GitHub 이슈에서는 XETOWN REMIX, 줄여서 XTR이라는 이름도 논의되었다.<ref name="issue31">[https://github.com/rhymix/rhymix/issues/31 XETOWN 프로젝트에서 정리해야 될 사항들]</ref> 이후 프로젝트명은 라이믹스(Rhymix)로 정착하였다. | |||
라이믹스라는 이름은 Rhyme과 Remix를 결합한 말로 설명된다. 기존 XE 생태계를 단순히 보존하는 데 그치지 않고, 필요한 부분을 다시 섞고 개선한다는 의미를 담고 있다. | |||
=== 라이선스 전환 === | |||
라이믹스는 포크 과정에서 XE가 사용하던 LGPL v2.1 대신 GPL v2를 채택하였다. 공식 매뉴얼은 이 전환의 취지를 개발자의 권리를 일부 제한하는 대신 사용자의 권리를 보호하기 위한 것으로 설명한다.<ref name="license" /> | |||
이 선택은 두 프로젝트 사이에 단방향 관계를 만들었다. LGPL은 GPL로의 전환을 허용하므로 라이믹스는 XE의 코드를 가져올 수 있지만, 반대 방향은 성립하지 않는다. 또한 라이믹스의 확장 기능을 사용하는 모듈과 애드온은 모두 GPL이어야 하며, 판매하더라도 구매자에게 암호화하지 않은 원본 소스 코드를 제공해야 한다. 자세한 내용은 [[라이믹스/라이선스]] 문서를 참고할 수 있다.<ref name="license" /> | |||
=== 저장소 이력 === | |||
라이믹스는 포크 시점에 저장소 이력을 새로 시작하지 않고 XE의 커밋 기록을 그대로 이어받았다. 이 때문에 공식 저장소에는 XE 시절부터 누적된 약 21,000건의 커밋이 남아 있다. 2026년 8월 기준 저장소의 스타는 297개, 포크는 134개이다.<ref name="github-readme" /> | |||
== 특징 == | |||
=== XE와의 관계 === | |||
라이믹스는 XE 1.x를 기반으로 하지만, 단순한 보안 패치판이라기보다는 XE 1.x의 구조와 생태계를 이어받아 적극적으로 개선한 별도 프로젝트에 가깝다. 공식 저장소에서도 라이믹스가 XpressEngine의 소스 코드를 기반으로 하며, 기존 XE 서드파티 자료와의 호환성을 최대한 보장하려 한다고 설명한다.<ref name="github-readme" /> | |||
다만 라이믹스는 XE와 완전히 같은 소프트웨어가 아니다. PHP 요구 버전, 서버 환경, 관리자 설정, 보안 정책, 일부 서드파티 자료의 동작 방식에서 차이가 있다. 특히 XE에서 라이믹스로 업그레이드한 뒤에는 다시 XE로 되돌릴 수 없으므로, 이전 전에 반드시 파일과 데이터베이스를 백업해야 한다.<ref name="xe-upgrade">[https://rhymix.org/manual/introduction/xe-upgrade XE 1.x에서 업그레이드]</ref> | |||
두 소프트웨어의 구체적인 차이는 [[라이믹스/XE와의 차이점]] 문서에 정리되어 있다. | |||
=== 프레임워크 구조 === | |||
라이믹스는 CMS인 동시에 자체 프레임워크를 갖추고 있다. 공식 매뉴얼의 클래스 및 함수 명세에는 Cache, Config, Cookie, DB, DateTime, Debug, Exception, Formatter, HTTP, i18n, Image, Korea, Lang, MIME, Mail, Pagination, Password, Push, Queue, Request, Router, SMS, Security, Session, Storage, Template, Timer, UA, URL 등의 코어 클래스가 정리되어 있으며, 파일 내용·파일명·HTML·IP·미디어를 검사하는 필터 클래스도 별도로 제공된다.<ref name="manual-index">[https://rhymix.org/manual 라이믹스 매뉴얼]</ref> | |||
이 가운데 Queue는 메일 발송이나 푸시 알림처럼 시간이 오래 걸리거나 외부 서비스와 연계되는 작업을 비동기로 처리하는 데 쓰이며, Router는 짧은주소 처리를 담당한다. 확장 기능 제작 문서에는 DB 쿼리 연산자와 라우터 사용법이 별도 항목으로 수록되어 있다.<ref name="manual-index" /> | |||
=== 템플릿 문법 v2 === | |||
라이믹스는 2.1.8부터 새로운 템플릿 문법인 템플릿 문법 v2를 프리뷰 형태로 제공한다.<ref name="release-218">[https://rhymix.org/news/424 Rhymix 2.1.8 Release Notes]</ref> 이 문법은 Blade 문법을 기반으로 하되 라이믹스의 구조에 맞게 여러 지시자를 추가한 것으로, Blade의 <code>@auth</code>, <code>@can</code> 같은 지시자를 라이믹스의 권한 체계에 맞게 재해석하여 게시판 관리자 여부나 댓글 작성 권한 등을 간단히 확인할 수 있다.<ref name="template-v2">[https://rhymix.org/manual/theme/template_v2 템플릿 문법 v2]</ref> | |||
파일 확장자는 <code>.html</code>과 <code>.blade.php</code> 중에서 선택할 수 있으며, 후자를 사용하면 대부분의 편집기에서 Blade 플러그인을 통해 문법 강조와 자동 완성을 이용할 수 있다. 기존 v1 문법 가운데 검증된 요소는 그대로 유지되어 두 문법을 섞어 쓸 수도 있다.<ref name="template-v2" /> 2.1.8 릴리즈 노트는 이 문법이 프리뷰 단계이며 2.2에서 정식 지원될 예정이라고 안내하였다. 자세한 문법은 [[라이믹스/매뉴얼/템플릿 문법 v2]] 문서를 참고할 수 있다.<ref name="release-218" /> | |||
=== 활발한 업데이트 === | |||
라이믹스는 새 기능, 버그 수정, 보안 패치가 꾸준히 이루어지는 프로젝트이다. 공식 매뉴얼은 라이믹스를 운영하는 사이트가 자주 업데이트할 준비를 해야 한다고 안내한다.<ref name="update">[https://rhymix.org/manual/introduction/update 라이믹스 업데이트]</ref> | |||
공식 홈페이지와 뉴스 게시판에서는 각 정식 버전의 릴리즈 노트와 변경 파일을 제공한다.<ref name="newslist">[https://rhymix.org/news/category/177 라이믹스 릴리즈 노트 목록]</ref> | |||
=== 공식 문서와 커뮤니티 === | |||
공식 문서는 [https://rhymix.org/manual 라이믹스 공식 매뉴얼]과 [https://github.com/rhymix/rhymix-docs rhymix-docs 저장소]에서 확인할 수 있다. 공식 문서에는 설치 환경, 설치 방법, 업데이트, XE 1.x에서 업그레이드, 서드파티 자료 호환성, nginx 설정, 도메인 변경, 확장 기능 제작, 테마 제작, 코어 개발 참여 방법 등이 정리되어 있다.<ref name="docs-repo">[https://github.com/rhymix/rhymix-docs rhymix/rhymix-docs]</ref> | |||
질문과 토론은 공식 홈페이지의 커뮤니티, Q&A, 팁·튜토리얼 게시판과 XETOWN 등을 통해 이루어진다. 공식 홈페이지에는 프론트엔드 포럼도 별도로 운영되고 있다.<ref name="frontend">[https://rhymix.org/frontend 라이믹스 프론트엔드 포럼]</ref> 이 밖에 자료실과 쇼케이스도 운영되고 있어, 모듈, 애드온, 스킨, 레이아웃, 에디터, 테마 패키지 등을 확인할 수 있다.<ref name="pds">[https://rhymix.org/pds 라이믹스 자료실]</ref><ref name="showcase">[https://rhymix.org/showcase 라이믹스 쇼케이스]</ref> | |||
== 버전 == | |||
라이믹스의 버전별 변경 사항은 공식 홈페이지의 [https://rhymix.org/news 뉴스 및 릴리즈 노트]에서 확인할 수 있다. 정식 버전은 압축 파일 형태로 제공되며, 이전 정식 버전 사용자를 위한 변경 파일 묶음도 함께 제공된다.<ref name="newslist" /> 가온 위키에도 버전별 릴리즈 노트가 [[라이믹스/릴리즈 노트]] 아래에 개별 문서로 정리되어 있다. 버전 번호 체계는 [[라이믹스/버전]] 문서를 참고할 수 있다. | |||
=== 최근 릴리즈 === | |||
{| class="wikitable" | |||
! 버전 !! 공개일 !! 보안 패치 !! 주요 내용 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.36|2.1.36]] || 2026년 8월 12일 || 포함 || 2.1 개발 종료 및 2.2 준비 전환 발표 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.35|2.1.35]] || 2026년 7월 8일 || 포함 || URL 파라미터 검증 취약점 수정 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.34|2.1.34]] || 2026년 6월 26일 || 포함 || 쉬운설치 도입 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.33|2.1.33]] || 2026년 5월 12일 || 포함 || 썸네일 생성 SSRF 취약점 수정 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.32|2.1.32]] || 2026년 4월 1일 || 포함 || 애드온 관리 기능 RCE 취약점 수정 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.31|2.1.31]] || 2026년 2월 26일 || 포함 || 확장 변수 IDOR 취약점 수정 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.30|2.1.30]] || 2026년 2월 10일 || || 관리자 대시보드 검색 결과 개수 표시 등 | |||
|- | |||
| [[라이믹스/릴리즈 노트/2.1.29|2.1.29]] || 2025년 12월 18일 || || 이미지 처리 메모리 계산 최적화 | |||
|} | |||
=== 2.1 개발 종료와 2.2 === | |||
2026년 8월 12일 공개된 2.1.36 릴리즈 노트에서 개발진은 라이믹스 2.1을 긴급한 보안 패치 외에는 더 이상 업데이트하지 않고, 2.2 준비에 집중하겠다고 밝혔다. 2.2의 공개 일정과 주요 기능 로드맵은 별도로 공지할 예정이라고 안내되었다.<ref name="release-2136">[https://rhymix.org/news/1953194 Rhymix 2.1.36 Release Notes]</ref> | |||
앞서 2.1.8 릴리즈 노트에서는 프리뷰로 제공되던 템플릿 문법 v2가 2.2에서 정식 지원될 예정이라고 안내된 바 있다.<ref name="release-218" /> | |||
=== Development Snapshot === | |||
공식 홈페이지에서는 정식 다운로드와 별도로 Development Snapshot도 제공한다. Development Snapshot은 개발 중인 최신 코드를 빠르게 사용할 수 있다는 장점이 있지만, 정식 버전에 비해 안정성이 낮을 수 있으므로 운영 사이트에 적용할 때는 주의해야 한다.<ref name="install">[https://rhymix.org/manual/introduction/install 라이믹스 설치]</ref> | |||
== 설치 환경 == | |||
라이믹스를 설치하려면 공식 매뉴얼에서 제시하는 최소 사양을 만족해야 한다. 2026년 8월 기준 공식 문서의 주요 요구 사항은 다음과 같다.<ref name="requirements">[https://rhymix.org/manual/introduction/requirements 설치 환경]</ref> 자세한 내용은 [[라이믹스/매뉴얼/설치 환경]] 문서를 참고할 수 있다. | |||
{| class="wikitable" | |||
! 구분 !! 요구 사항 | |||
|- | |||
| PHP || PHP 7.4 이상, PHP 8.2 이상 권장 | |||
|- | |||
| 데이터베이스 || MySQL 5.7 이상 또는 MariaDB 10.6 이상 | |||
|- | |||
| 필수 PHP 모듈 || curl, gd, iconv 또는 mbstring, json, openssl, PDO_MySQL, SimpleXML, Zend OPcache | |||
|- | |||
| 권장 PHP 모듈 || apcu, exif, fileinfo, intl, zip | |||
|- | |||
| 웹서버 설정 || Apache의 mod_rewrite 권장. nginx는 별도 rewrite 설정 필요 | |||
|- | |||
| 쓰기 권한 || files 폴더에 쓰기 권한 필요 | |||
|- | |||
| PHP 메모리 제한 || 최소 128MB, 대용량 이미지 처리 시 256MB 권장 | |||
|} | |||
XE는 오래된 PHP 버전에서도 동작하는 경우가 있었지만, 라이믹스는 PHP 7.4 이상이 필요하다. 따라서 XE에서 라이믹스로 넘어오는 경우에는 PHP 버전, 데이터베이스 버전, PHP 확장 모듈, files 폴더 권한을 먼저 확인해야 한다.<ref name="xe-upgrade" /> | |||
== 설치 == | |||
라이믹스 설치는 공식 홈페이지에서 최신 정식 버전 또는 Development Snapshot을 다운로드한 뒤, 웹서버의 문서 루트에 업로드하여 진행할 수 있다. 압축 파일을 FTP 또는 SFTP로 업로드한 뒤 서버에서 압축을 풀거나, 로컬에서 압축을 푼 뒤 전체 파일을 업로드할 수 있다.<ref name="install" /> | |||
Git을 사용할 수 있는 서버라면 GitHub 저장소를 직접 clone하는 방식도 가능하다. | |||
<syntaxhighlight lang="console"> | |||
git clone https://github.com/rhymix/rhymix.git | |||
</syntaxhighlight> | |||
Git으로 설치하면 이후 업데이트를 비교적 쉽게 적용할 수 있다. 다만 SSH 접속과 git 사용이 가능해야 하며, 서버 환경에 따라 권한 설정을 별도로 확인해야 한다. 웹호스팅과 가상 서버별 구체적인 설치 절차는 [[라이믹스/설치]] 문서를 참고할 수 있다. | |||
설치 과정에서는 데이터베이스 접속 정보, 테이블 접두사, 최고관리자 계정, 표준 시간대, SSL 사용 여부 등을 입력한다. 대한민국 사용자를 대상으로 운영하는 사이트라면 표준 시간대는 일반적으로 Asia/Seoul을 사용한다.<ref name="install" /> | |||
== 업데이트 == | |||
라이믹스는 보안 패치와 버그 수정이 수시로 이루어지므로, 운영 사이트는 정기적으로 업데이트하는 것이 좋다. 공식 매뉴얼은 크게 두 가지 업데이트 방법을 안내한다.<ref name="update" /> | |||
=== 새 버전 덮어쓰기 === | |||
최신 버전의 압축 파일을 내려받아 기존 라이믹스 설치 경로에 덮어쓰는 방식이다. 라이믹스의 설정, 첨부파일, 캐시, 사용자 데이터 등은 주로 files 폴더와 데이터베이스에 저장되므로, 일반적인 업데이트 과정에서 코어 파일을 덮어써도 사이트 데이터가 삭제되지는 않는다. | |||
다만 코어 파일을 직접 수정한 경우에는 수정 내역이 사라질 수 있으므로 주의해야 한다. 코어 파일을 직접 고치는 방식은 업데이트 충돌을 만들기 쉬우므로, 가능하면 모듈, 애드온, 스킨, 이벤트 핸들러 등 확장 기능으로 처리하는 것이 좋다. | |||
=== git으로 업데이트 === | |||
Git으로 설치한 경우 다음 명령으로 현재 브랜치의 최신 코드를 받을 수 있다. | |||
<syntaxhighlight lang="console"> | |||
git pull | |||
</syntaxhighlight> | |||
코어 파일을 수정하지 않았다면 이 방식이 가장 간단하다. 수정한 파일이 있는 경우에는 git stash, 별도 브랜치, merge 등을 이용하여 충돌을 관리해야 한다. 충돌 표시가 남아 있는 파일을 방치하면 화면이 비정상적으로 출력되거나 기능이 동작하지 않을 수 있으므로, 업데이트 후에는 반드시 <code>git status</code>를 확인하는 것이 좋다. | |||
== XE 1.x에서 업그레이드 == | |||
XE 1.x 사이트는 일반적으로 라이믹스 코어 파일을 기존 XE 설치 경로에 덮어쓰는 방식으로 업그레이드할 수 있다. 공식 매뉴얼은 XE 코어 업데이트와 유사한 방식으로 진행할 수 있다고 설명한다.<ref name="xe-upgrade" /> | |||
다만 업그레이드 전에 다음 사항을 반드시 확인해야 한다. | |||
* XE 1.8 미만 버전에서 라이믹스로 직접 업그레이드하는 것은 지원하지 않는다. 먼저 XE 1.8 이상, 가능하면 최신 XE 1.11 계열로 올린 뒤 라이믹스로 넘어가는 것이 권장된다. | |||
* 라이믹스로 변환한 뒤에는 다시 XE로 돌아갈 수 없다. | |||
* FTP 계정의 파일 전체와 데이터베이스를 각각 백업해야 한다. | |||
* 관리자 계정으로 로그인한 상태에서 작업하는 것이 안전하다. | |||
* 업그레이드 후 관리자 화면에서 표시되는 모듈 업데이트와 테이블 생성을 모두 완료해야 한다. | |||
* 모든 업데이트 후 캐시파일 재생성을 실행해야 한다. | |||
* 서드파티 자료의 호환성을 점검해야 한다. | |||
* 라이믹스 2.1 이상에서는 관리자 대시보드에서 불필요한 옛 XE 코어 파일을 정리할 수 있다.<ref name="xe-upgrade" /> | |||
== 모듈, 애드온, 스킨 == | |||
라이믹스는 모듈, 애드온, 위젯, 레이아웃, 스킨, 에디터, 테마 패키지 등 다양한 확장 요소를 통해 기능과 디자인을 추가할 수 있다. 공식 자료실에서도 이러한 자료를 종류별로 분류하여 제공한다.<ref name="pds" /> | |||
모듈은 게시판, 회원, 포인트, 쇼핑몰 등 비교적 독립적인 기능 단위를 담당한다. 애드온은 페이지 처리 과정의 특정 지점에 개입하여 부가 기능을 수행하는 방식으로 동작하며, 자세한 내용은 [[라이믹스/애드온]] 문서를 참고할 수 있다. 스킨과 레이아웃은 화면 출력과 디자인을 담당하며, 에디터와 에디터 컴포넌트는 글쓰기 환경을 확장한다. | |||
불필요한 애드온을 많이 활성화하면 사이트 속도와 유지보수에 영향을 줄 수 있다. 따라서 사용하지 않는 확장 기능은 비활성화하거나 삭제하고, 오래된 자료는 PHP 버전과 라이믹스 버전 호환성을 확인한 뒤 사용하는 것이 좋다. | |||
=== 가온 위키의 모듈 문서 === | |||
가온 위키에는 개별 모듈을 다루는 문서가 별도로 작성되어 있다. | |||
* [[라이믹스/모듈/Reaction]] — 게시물 반응 모듈 | |||
* [[라이믹스/모듈/소셜 로그인]] — 코어에서 분리된 소셜 로그인 모듈 | |||
* [[라이믹스/모듈/구충제]] | |||
라이믹스의 동작을 방해하여 차단된 자료는 [[라이믹스/블랙리스트]] 문서에 정리되어 있다. | |||
=== 쉬운설치 === | |||
2026년 6월 26일 공개된 [[라이믹스/릴리즈 노트/2.1.34|2.1.34]]부터는 '''쉬운설치''' 기능이 지원된다. 관리자 화면에서 공식 자료실의 자료를 FTP 접속 없이 바로 설치할 수 있는 기능이다.<ref name="easyinstall">[https://rhymix.org/news/1948052 쉬운설치 지원을 시작합니다]</ref> | |||
쉬운설치 목록에 노출되는 자료는 공개·무료 자료 가운데 2025년 12월 이후 릴리즈 시스템을 이용해 등록하거나 갱신한 것, 또는 기존에 등록된 자료 중 설치 파일을 릴리즈로 변환한 것으로 한정된다. 설치 경로가 표준과 다른 테마 패키지와 기타 분류는 대상에서 제외된다.<ref name="easyinstall" /> | |||
목록 갱신에는 시간이 걸린다. 자료 API가 10~15분마다, Cloudflare 캐시가 5~10분마다, 개별 사이트가 4시간마다 갱신되므로, 새로 올라온 자료가 쉬운설치 화면에 나타나기까지 최대 4시간 30분가량 걸릴 수 있다.<ref name="easyinstall" /> | |||
공식 공지는 쉬운설치를 이용할 때 신뢰할 수 있는 개발자의 자료만 설치할 것을 권고한다. 서드파티 코드는 사이트의 모든 데이터에 접근할 수 있고 외부로 전송하는 것도 가능하므로, npm이나 Packagist에서 발견된 악성 패키지 사례와 같은 위험이 존재한다는 것이다.<ref name="easyinstall" /> | |||
== 서드파티 자료 호환성 == | |||
라이믹스는 XE 1.x 자료와의 호환성을 최대한 유지하려 하지만, 모든 서드파티 자료가 항상 정상 동작하는 것은 아니다. 특히 오래된 모듈이나 애드온은 PHP 최신 버전, 라이믹스의 보안 정책, 코어 기능 변화와 충돌할 수 있다. | |||
공식 문서에는 XE에서 라이믹스로 업그레이드할 때 점검해야 할 서드파티 자료 호환성 체크리스트가 정리되어 있다.<ref name="thirdparty">[https://rhymix.org/manual/introduction/thirdparty-checklist 서드파티 자료 호환성 체크리스트]</ref> 예를 들어, 과거 XE용으로 쓰이던 일부 메일 발송, 자동 로그인, 멀티도메인, SEO 관련 기능은 라이믹스 코어 또는 시스템 설정에 흡수되었다. 반대로 일부 오래된 애드온은 더 이상 필요하지 않거나 정상적으로 작동하지 않을 수 있다. | |||
라이믹스로 이전한 뒤에는 다음 항목을 점검하는 것이 좋다. | |||
* 관리자 화면의 시스템 설정 | |||
* 보안 설정과 세션 관련 설정 | |||
* 메일 발송 설정 | |||
* 멀티도메인 설정 | |||
* SEO 설정 | |||
* 자동 로그인 관련 기능 | |||
* 게시판, 회원, 포인트, 커뮤니케이션 등 주요 모듈 | |||
* 오래된 애드온의 필요 여부 | |||
* PHP 8.x 환경에서 발생하는 경고 또는 오류 | |||
== 보안 == | |||
=== 취약점 식별 체계 === | |||
라이믹스는 자체 취약점 식별 번호인 RVE를 부여하여 관리한다. 번호는 연도와 일련번호를 조합한 형태로, 릴리즈 노트에 취약점 유형과 함께 표기된다.<ref name="newslist" /> | |||
2026년에는 확장 변수를 통한 IDOR, 애드온 관리 기능의 원격 코드 실행, 썸네일 생성 과정의 SSRF, 데이터 들여오기 모듈의 SSRF 및 정보 유출, 애드온 관리와 쉬운설치 모듈의 경로 탐색, 폼 전송 시 외부 URL 리다이렉트, URL 파라미터 검증 미비, referrer 헤더를 이용한 반사형 XSS, 모듈 관리자의 권한 초과 접근 등이 RVE-2026-1부터 RVE-2026-20 사이의 번호로 처리되었다.<ref name="release-2136" /><ref name="release-2134">[https://rhymix.org/news/1948042 Rhymix 2.1.34 Release Notes]</ref> | |||
일부 취약점에는 한국인터넷진흥원(KISA)이 부여한 KVE 번호가 함께 표기된다. 데이터 들여오기 모듈의 SSRF에는 KVE-2026-0992가, 쉬운설치 모듈의 경로 탐색에는 KVE-2026-1185가, 모듈 관리자 권한 관련 취약점에는 KVE-2026-1661, KVE-2026-1662, KVE-2026-1666이 각각 부여되었다.<ref name="release-2136" /><ref name="release-2134" /> | |||
RVE 번호별 상세 목록과 대응 KVE 번호는 [[라이믹스/보안]] 문서에 정리되어 있다. 라이믹스의 동작을 방해하는 서드파티 자료는 블랙리스트로 처리될 수 있으며, 해당 내역은 [[라이믹스/블랙리스트]] 문서에서 확인할 수 있다. | |||
=== 보안 관련 개선 === | |||
취약점 수정 외에도 보안을 강화하는 변경이 함께 이루어지고 있다. 2.1.34에서는 비밀번호 찾기 요청을 세션당 1분에 한 번으로 제한하고, 보안 설정에서 세션 ID 갱신을 제어할 수 있도록 하였다.<ref name="release-2134" /> 2.1.36에서는 로그인 비밀번호 입력란에 <code>autocomplete="off"</code>를 적용하고, 회원 정보나 비밀번호가 변경되면 세션 ID를 갱신하도록 하였으며, Guzzle 라이브러리를 최신 보안 패치 버전으로 갱신하였다.<ref name="release-2136" /> | |||
=== 버그 및 취약점 제보 === | |||
일반적인 버그나 개선 제안은 [https://github.com/rhymix/rhymix/issues GitHub 이슈]에 등록할 수 있다. 이슈를 등록할 때는 실행 환경, 라이믹스 버전, PHP 버전, 운영체제, 브라우저, 오류 메시지, 스크린샷, 재현 가능한 URL 등을 함께 제공하는 것이 좋다.<ref name="github-guide">[https://rhymix.org/manual/contrib/github GitHub 이슈 및 PR 작성]</ref> | |||
보안 취약점은 공개 이슈에 올리지 말고 [mailto:[email protected] [email protected]]로 제보해야 한다. 공식 저장소와 공식 문서 모두 보안 취약점은 공개적으로 언급하지 말고 개발진에게 비공개로 알려 달라고 안내한다.<ref name="github-readme" /><ref name="github-guide" /> | |||
== 공식 자료실과 생태계 == | |||
라이믹스 공식 홈페이지에는 자료실이 운영되고 있다. 자료실은 모듈, 애드온, 위젯, 레이아웃, 스킨, 에디터, 에디터 컴포넌트, 테마 패키지, 기타 자료 등으로 분류된다.<ref name="pds" /> | |||
또한 쇼케이스 게시판에서는 라이믹스를 기반으로 제작된 사이트나 서비스 사례를 확인할 수 있다.<ref name="showcase" /> 라이믹스는 커뮤니티 사이트, 정보 공유 사이트, 기업 홈페이지, 자체 서비스 구축 등 다양한 용도로 사용할 수 있다. | |||
공식 채널 외에도 이용자들이 운영하는 문서·정보 사이트가 있다. 라이믹스 가이드는 변경 내역과 레퍼런스를 별도로 정리하고 있으며,<ref name="rxguide">[https://rhymix-guide.github.io 라이믹스 가이드]</ref> 라이믹스 꿀팁은 활용 팁과 프로젝트 관련 글을 모아 두고 있다.<ref name="rxtip">[https://rxtip.kr 라이믹스 꿀팁]</ref> | |||
== 로고와 BI == | |||
라이믹스의 공식 로고와 BI 가이드는 공식 홈페이지의 BI Guide에서 제공한다. 이 문서에는 로고 사용 원칙, 공식 색상, 글꼴, 아이콘, PNG·SVG·AI 원본 파일, PDF 가이드 등이 정리되어 있다.<ref name="bi">[https://rhymix.org/bi Rhymix BI Guide]</ref> | |||
BI Guide에 따르면 Rhymix의 이름과 로고는 (주)포에시스가 소유하며, 오픈소스 문화와 프로젝트 발전에 기여하는 방향으로 사용하는 것을 원칙으로 한다. 로고는 공식 색상 조합과 형태를 왜곡하지 않는 범위에서 사용해야 한다.<ref name="bi" /> | |||
=== 로고 변천 === | |||
{| class="wikitable" | |||
| [[파일:rhymix.png|300px]] | |||
| [[파일:rhymix_old.png|300px]] | |||
|- | |||
! 현 라이믹스의 로고 | |||
! 예전 라이믹스의 로고 | |||
|} | |||
== 개발 참여 == | |||
라이믹스의 개발은 GitHub에서 이루어진다. 버그 제보, 기능 제안, 코드 기여는 GitHub 이슈와 Pull Request를 통해 진행할 수 있다. 공식 문서는 이슈 작성 전에 같은 문제가 이미 등록되어 있는지 검색하고, 서버 환경과 라이믹스 버전, PHP 버전, 오류 메시지, 재현 방법 등을 함께 제공하도록 안내한다.<ref name="github-guide" /> | |||
Pull Request를 작성할 때는 공식 코딩 규칙을 참고해야 한다. 라이믹스 코어 코드는 지원하는 모든 PHP 버전에서 정상 동작해야 하며, 사소한 경고나 deprecated 오류도 방치하지 않는 것을 목표로 한다.<ref name="coding">[https://rhymix.org/manual/contrib/coding-standards 코딩 규칙]</ref> | |||
== XE Admin Help == | |||
XE 시절 관리자 화면에는 오래된 XE Admin Help 문서가 포함되어 있었다. 그러나 해당 문서는 XE의 오래된 버전을 기준으로 작성되어 최신 라이믹스의 화면과 기능을 설명하기에 적합하지 않았다. | |||
라이믹스에서는 오래된 XE 매뉴얼을 제거하고, 공식 문서를 별도 저장소와 공식 홈페이지 매뉴얼로 관리하는 방향으로 정리하였다.<ref name="old-manual">[https://github.com/rhymix/rhymix/pull/1073 오래된 XE 매뉴얼 삭제 PR]</ref> 현재는 [https://rhymix.org/manual 공식 매뉴얼]과 [https://github.com/rhymix/rhymix-docs rhymix-docs 저장소]를 참고하는 것이 좋다. | |||
== 관련 문서 == | |||
* [[XpressEngine]] | |||
* [[XETOWN]] | |||
* [[라이믹스/버전]] | |||
* [[라이믹스/릴리즈 노트]] | |||
* [[라이믹스/보안]] | |||
* [[라이믹스/라이선스]] | |||
* [[라이믹스/XE와의 차이점]] | |||
* [[라이믹스/XE에서 넘어오기]] | |||
* [[라이믹스/매뉴얼]] | |||
* [[라이믹스/매뉴얼/설치 환경]] | |||
* [[라이믹스/매뉴얼/라이믹스 업데이트]] | |||
* [[라이믹스/매뉴얼/도메인 변경]] | |||
* [[라이믹스/라우터]] | |||
* [[라이믹스/애드온]] | |||
* [[라이믹스/블랙리스트]] | |||
* [[라이믹스/모듈/Reaction]] | |||
* [[라이믹스/모듈/구충제]] | |||
* [[라이믹스/버그]] | |||
* [[라이믹스/설치]] | |||
* [[라이믹스/Next 라이믹스]] | |||
* [[라이믹스/모듈/소셜 로그인]] | |||
== 외부 링크 == | |||
* [https://rhymix.org 라이믹스 공식 홈페이지] | |||
* [https://rhymix.org/about 라이믹스 소개] | |||
* [https://rhymix.org/manual 라이믹스 공식 매뉴얼] | |||
* [https://rhymix.org/news 라이믹스 릴리즈 노트] | |||
* [https://rhymix.org/pds 라이믹스 자료실] | |||
* [https://rhymix.org/showcase 라이믹스 쇼케이스] | |||
* [https://rhymix.org/frontend 라이믹스 프론트엔드 포럼] | |||
* [https://rhymix.org/bi Rhymix BI Guide] | |||
* [https://github.com/rhymix/rhymix 라이믹스 GitHub 저장소] | |||
* [https://github.com/rhymix/rhymix-docs 라이믹스 공식 문서 저장소] | |||
* [https://xetown.com XETOWN] | |||
== 각주 == | |||
<references /> | |||
[[분류:CMS]] | |||
[[분류:PHP 소프트웨어]] | |||
[[분류:오픈소스]] | |||
[[분류:라이믹스]] | |||
2026년 8월 21일 (금) 15:21 기준 최신판
| 라이믹스 | |
|---|---|
![]() | |
| 원작자 | XE 개발팀 및 기여자 |
| 개발자 | (주)포에시스 |
| 발표일 | 2015년 12월 18일 |
| 최신(안정화) 버전 | 2.1.36 / 2026년 8월 12일 |
| 프로그래밍 언어 | PHP |
| 종류 | 오픈소스 CMS 및 웹 프레임워크 |
| 라이선스 | GNU GPL v2 계열 |
| 웹 사이트 | rhymix.org |
| 전작 | XpressEngine 1.x |
영어 문서는 Rhymix 문서를 참고할 수 있다.
- “ Rhyme + Remix = "RHYMIX"!
”
라이믹스 공식 홈페이지 · 공식 매뉴얼 · GitHub 저장소 · 공식 문서 저장소
개요[편집 / 원본 편집]
라이믹스(Rhymix)는 XpressEngine 1.x를 기반으로 갈라져 나온 PHP 기반의 오픈소스 CMS 및 웹 프레임워크이다. 공식 홈페이지에서는 라이믹스를 “오픈소스 CMS 및 프레임워크”로 소개하며, 모듈과 테마를 이용하여 홈페이지, 커뮤니티, 게시판, 서비스형 웹사이트 등을 구성할 수 있다고 설명한다.[1]
프로젝트는 2015년 12월 18일에 시작되었으며, 현재는 대전에 소재한 (주)포에시스(Poesis Inc.)가 개발과 유지보수를 맡고 있다.[2]
라이믹스는 기존 XE 1.x와의 호환성을 상당 부분 유지하면서도, 보안 패치, PHP 최신 버전 대응, 성능 개선, 관리자 기능 개선, 확장성 개선 등을 꾸준히 반영하는 방향으로 개발되고 있다. 공식 GitHub 저장소의 설명에 따르면 라이믹스는 XE 기반 자료의 호환성을 최대한 유지하면서도, 더 빠르고 안전하며 사용자와 개발자가 소통하기 쉬운 CMS를 지향한다.[3]
이름은 rhyme(운율)과 remix(재조합)를 결합한 것으로, 기존 XE 생태계를 단순히 보존하는 데 그치지 않고 필요한 부분을 다시 섞고 개선한다는 의미를 담고 있다. 공식 소개 문서는 라이믹스가 온라인에서 무언가를 만들어내는 모든 “메이커”를 지원하는 것을 목표로 하며, 설치와 운영 과정에서 대부분의 사용자가 터미널 명령을 입력할 필요가 없어야 한다는 원칙을 내세운다고 설명한다.[2]
라이선스는 GNU GPL v2 계열이다. 라이믹스 공식 저장소와 공식 홈페이지 모두 GPLv2를 명시하고 있으며, 공식 매뉴얼에는 GPL 라이선스에 따른 사용자, 개발자, 디자이너의 권리와 의무가 별도 문서로 정리되어 있다.[4]
역사[편집 / 원본 편집]
라이믹스는 XE 1.x의 소스 코드를 기반으로 시작된 프로젝트이다. XE가 보안 패치 중심으로 유지되는 동안, 실제 운영자와 개발자들이 필요로 하던 개선 사항을 더 적극적으로 반영하기 위해 XETOWN 커뮤니티를 중심으로 포크가 논의되었다. 프로젝트의 공식 시작일은 2015년 12월 18일이다.[2]
초기에는 명확한 이름이 정해지지 않아 XETOWN Fork, XETOWN CMS, XETOWN Core 등으로 불렸으며, 2016년 1월 GitHub 이슈에서는 XETOWN REMIX, 줄여서 XTR이라는 이름도 논의되었다.[5] 이후 프로젝트명은 라이믹스(Rhymix)로 정착하였다.
라이믹스라는 이름은 Rhyme과 Remix를 결합한 말로 설명된다. 기존 XE 생태계를 단순히 보존하는 데 그치지 않고, 필요한 부분을 다시 섞고 개선한다는 의미를 담고 있다.
라이선스 전환[편집 / 원본 편집]
라이믹스는 포크 과정에서 XE가 사용하던 LGPL v2.1 대신 GPL v2를 채택하였다. 공식 매뉴얼은 이 전환의 취지를 개발자의 권리를 일부 제한하는 대신 사용자의 권리를 보호하기 위한 것으로 설명한다.[4]
이 선택은 두 프로젝트 사이에 단방향 관계를 만들었다. LGPL은 GPL로의 전환을 허용하므로 라이믹스는 XE의 코드를 가져올 수 있지만, 반대 방향은 성립하지 않는다. 또한 라이믹스의 확장 기능을 사용하는 모듈과 애드온은 모두 GPL이어야 하며, 판매하더라도 구매자에게 암호화하지 않은 원본 소스 코드를 제공해야 한다. 자세한 내용은 라이믹스/라이선스 문서를 참고할 수 있다.[4]
저장소 이력[편집 / 원본 편집]
라이믹스는 포크 시점에 저장소 이력을 새로 시작하지 않고 XE의 커밋 기록을 그대로 이어받았다. 이 때문에 공식 저장소에는 XE 시절부터 누적된 약 21,000건의 커밋이 남아 있다. 2026년 8월 기준 저장소의 스타는 297개, 포크는 134개이다.[3]
특징[편집 / 원본 편집]
XE와의 관계[편집 / 원본 편집]
라이믹스는 XE 1.x를 기반으로 하지만, 단순한 보안 패치판이라기보다는 XE 1.x의 구조와 생태계를 이어받아 적극적으로 개선한 별도 프로젝트에 가깝다. 공식 저장소에서도 라이믹스가 XpressEngine의 소스 코드를 기반으로 하며, 기존 XE 서드파티 자료와의 호환성을 최대한 보장하려 한다고 설명한다.[3]
다만 라이믹스는 XE와 완전히 같은 소프트웨어가 아니다. PHP 요구 버전, 서버 환경, 관리자 설정, 보안 정책, 일부 서드파티 자료의 동작 방식에서 차이가 있다. 특히 XE에서 라이믹스로 업그레이드한 뒤에는 다시 XE로 되돌릴 수 없으므로, 이전 전에 반드시 파일과 데이터베이스를 백업해야 한다.[6]
두 소프트웨어의 구체적인 차이는 라이믹스/XE와의 차이점 문서에 정리되어 있다.
프레임워크 구조[편집 / 원본 편집]
라이믹스는 CMS인 동시에 자체 프레임워크를 갖추고 있다. 공식 매뉴얼의 클래스 및 함수 명세에는 Cache, Config, Cookie, DB, DateTime, Debug, Exception, Formatter, HTTP, i18n, Image, Korea, Lang, MIME, Mail, Pagination, Password, Push, Queue, Request, Router, SMS, Security, Session, Storage, Template, Timer, UA, URL 등의 코어 클래스가 정리되어 있으며, 파일 내용·파일명·HTML·IP·미디어를 검사하는 필터 클래스도 별도로 제공된다.[7]
이 가운데 Queue는 메일 발송이나 푸시 알림처럼 시간이 오래 걸리거나 외부 서비스와 연계되는 작업을 비동기로 처리하는 데 쓰이며, Router는 짧은주소 처리를 담당한다. 확장 기능 제작 문서에는 DB 쿼리 연산자와 라우터 사용법이 별도 항목으로 수록되어 있다.[7]
템플릿 문법 v2[편집 / 원본 편집]
라이믹스는 2.1.8부터 새로운 템플릿 문법인 템플릿 문법 v2를 프리뷰 형태로 제공한다.[8] 이 문법은 Blade 문법을 기반으로 하되 라이믹스의 구조에 맞게 여러 지시자를 추가한 것으로, Blade의 @auth, @can 같은 지시자를 라이믹스의 권한 체계에 맞게 재해석하여 게시판 관리자 여부나 댓글 작성 권한 등을 간단히 확인할 수 있다.[9]
파일 확장자는 .html과 .blade.php 중에서 선택할 수 있으며, 후자를 사용하면 대부분의 편집기에서 Blade 플러그인을 통해 문법 강조와 자동 완성을 이용할 수 있다. 기존 v1 문법 가운데 검증된 요소는 그대로 유지되어 두 문법을 섞어 쓸 수도 있다.[9] 2.1.8 릴리즈 노트는 이 문법이 프리뷰 단계이며 2.2에서 정식 지원될 예정이라고 안내하였다. 자세한 문법은 라이믹스/매뉴얼/템플릿 문법 v2 문서를 참고할 수 있다.[8]
활발한 업데이트[편집 / 원본 편집]
라이믹스는 새 기능, 버그 수정, 보안 패치가 꾸준히 이루어지는 프로젝트이다. 공식 매뉴얼은 라이믹스를 운영하는 사이트가 자주 업데이트할 준비를 해야 한다고 안내한다.[10]
공식 홈페이지와 뉴스 게시판에서는 각 정식 버전의 릴리즈 노트와 변경 파일을 제공한다.[11]
공식 문서와 커뮤니티[편집 / 원본 편집]
공식 문서는 라이믹스 공식 매뉴얼과 rhymix-docs 저장소에서 확인할 수 있다. 공식 문서에는 설치 환경, 설치 방법, 업데이트, XE 1.x에서 업그레이드, 서드파티 자료 호환성, nginx 설정, 도메인 변경, 확장 기능 제작, 테마 제작, 코어 개발 참여 방법 등이 정리되어 있다.[12]
질문과 토론은 공식 홈페이지의 커뮤니티, Q&A, 팁·튜토리얼 게시판과 XETOWN 등을 통해 이루어진다. 공식 홈페이지에는 프론트엔드 포럼도 별도로 운영되고 있다.[13] 이 밖에 자료실과 쇼케이스도 운영되고 있어, 모듈, 애드온, 스킨, 레이아웃, 에디터, 테마 패키지 등을 확인할 수 있다.[14][15]
버전[편집 / 원본 편집]
라이믹스의 버전별 변경 사항은 공식 홈페이지의 뉴스 및 릴리즈 노트에서 확인할 수 있다. 정식 버전은 압축 파일 형태로 제공되며, 이전 정식 버전 사용자를 위한 변경 파일 묶음도 함께 제공된다.[11] 가온 위키에도 버전별 릴리즈 노트가 라이믹스/릴리즈 노트 아래에 개별 문서로 정리되어 있다. 버전 번호 체계는 라이믹스/버전 문서를 참고할 수 있다.
최근 릴리즈[편집 / 원본 편집]
| 버전 | 공개일 | 보안 패치 | 주요 내용 |
|---|---|---|---|
| 2.1.36 | 2026년 8월 12일 | 포함 | 2.1 개발 종료 및 2.2 준비 전환 발표 |
| 2.1.35 | 2026년 7월 8일 | 포함 | URL 파라미터 검증 취약점 수정 |
| 2.1.34 | 2026년 6월 26일 | 포함 | 쉬운설치 도입 |
| 2.1.33 | 2026년 5월 12일 | 포함 | 썸네일 생성 SSRF 취약점 수정 |
| 2.1.32 | 2026년 4월 1일 | 포함 | 애드온 관리 기능 RCE 취약점 수정 |
| 2.1.31 | 2026년 2월 26일 | 포함 | 확장 변수 IDOR 취약점 수정 |
| 2.1.30 | 2026년 2월 10일 | 관리자 대시보드 검색 결과 개수 표시 등 | |
| 2.1.29 | 2025년 12월 18일 | 이미지 처리 메모리 계산 최적화 |
2.1 개발 종료와 2.2[편집 / 원본 편집]
2026년 8월 12일 공개된 2.1.36 릴리즈 노트에서 개발진은 라이믹스 2.1을 긴급한 보안 패치 외에는 더 이상 업데이트하지 않고, 2.2 준비에 집중하겠다고 밝혔다. 2.2의 공개 일정과 주요 기능 로드맵은 별도로 공지할 예정이라고 안내되었다.[16]
앞서 2.1.8 릴리즈 노트에서는 프리뷰로 제공되던 템플릿 문법 v2가 2.2에서 정식 지원될 예정이라고 안내된 바 있다.[8]
Development Snapshot[편집 / 원본 편집]
공식 홈페이지에서는 정식 다운로드와 별도로 Development Snapshot도 제공한다. Development Snapshot은 개발 중인 최신 코드를 빠르게 사용할 수 있다는 장점이 있지만, 정식 버전에 비해 안정성이 낮을 수 있으므로 운영 사이트에 적용할 때는 주의해야 한다.[17]
설치 환경[편집 / 원본 편집]
라이믹스를 설치하려면 공식 매뉴얼에서 제시하는 최소 사양을 만족해야 한다. 2026년 8월 기준 공식 문서의 주요 요구 사항은 다음과 같다.[18] 자세한 내용은 라이믹스/매뉴얼/설치 환경 문서를 참고할 수 있다.
| 구분 | 요구 사항 |
|---|---|
| PHP | PHP 7.4 이상, PHP 8.2 이상 권장 |
| 데이터베이스 | MySQL 5.7 이상 또는 MariaDB 10.6 이상 |
| 필수 PHP 모듈 | curl, gd, iconv 또는 mbstring, json, openssl, PDO_MySQL, SimpleXML, Zend OPcache |
| 권장 PHP 모듈 | apcu, exif, fileinfo, intl, zip |
| 웹서버 설정 | Apache의 mod_rewrite 권장. nginx는 별도 rewrite 설정 필요 |
| 쓰기 권한 | files 폴더에 쓰기 권한 필요 |
| PHP 메모리 제한 | 최소 128MB, 대용량 이미지 처리 시 256MB 권장 |
XE는 오래된 PHP 버전에서도 동작하는 경우가 있었지만, 라이믹스는 PHP 7.4 이상이 필요하다. 따라서 XE에서 라이믹스로 넘어오는 경우에는 PHP 버전, 데이터베이스 버전, PHP 확장 모듈, files 폴더 권한을 먼저 확인해야 한다.[6]
설치[편집 / 원본 편집]
라이믹스 설치는 공식 홈페이지에서 최신 정식 버전 또는 Development Snapshot을 다운로드한 뒤, 웹서버의 문서 루트에 업로드하여 진행할 수 있다. 압축 파일을 FTP 또는 SFTP로 업로드한 뒤 서버에서 압축을 풀거나, 로컬에서 압축을 푼 뒤 전체 파일을 업로드할 수 있다.[17]
Git을 사용할 수 있는 서버라면 GitHub 저장소를 직접 clone하는 방식도 가능하다.
git clone https://github.com/rhymix/rhymix.git
Git으로 설치하면 이후 업데이트를 비교적 쉽게 적용할 수 있다. 다만 SSH 접속과 git 사용이 가능해야 하며, 서버 환경에 따라 권한 설정을 별도로 확인해야 한다. 웹호스팅과 가상 서버별 구체적인 설치 절차는 라이믹스/설치 문서를 참고할 수 있다.
설치 과정에서는 데이터베이스 접속 정보, 테이블 접두사, 최고관리자 계정, 표준 시간대, SSL 사용 여부 등을 입력한다. 대한민국 사용자를 대상으로 운영하는 사이트라면 표준 시간대는 일반적으로 Asia/Seoul을 사용한다.[17]
업데이트[편집 / 원본 편집]
라이믹스는 보안 패치와 버그 수정이 수시로 이루어지므로, 운영 사이트는 정기적으로 업데이트하는 것이 좋다. 공식 매뉴얼은 크게 두 가지 업데이트 방법을 안내한다.[10]
새 버전 덮어쓰기[편집 / 원본 편집]
최신 버전의 압축 파일을 내려받아 기존 라이믹스 설치 경로에 덮어쓰는 방식이다. 라이믹스의 설정, 첨부파일, 캐시, 사용자 데이터 등은 주로 files 폴더와 데이터베이스에 저장되므로, 일반적인 업데이트 과정에서 코어 파일을 덮어써도 사이트 데이터가 삭제되지는 않는다.
다만 코어 파일을 직접 수정한 경우에는 수정 내역이 사라질 수 있으므로 주의해야 한다. 코어 파일을 직접 고치는 방식은 업데이트 충돌을 만들기 쉬우므로, 가능하면 모듈, 애드온, 스킨, 이벤트 핸들러 등 확장 기능으로 처리하는 것이 좋다.
git으로 업데이트[편집 / 원본 편집]
Git으로 설치한 경우 다음 명령으로 현재 브랜치의 최신 코드를 받을 수 있다.
git pull
코어 파일을 수정하지 않았다면 이 방식이 가장 간단하다. 수정한 파일이 있는 경우에는 git stash, 별도 브랜치, merge 등을 이용하여 충돌을 관리해야 한다. 충돌 표시가 남아 있는 파일을 방치하면 화면이 비정상적으로 출력되거나 기능이 동작하지 않을 수 있으므로, 업데이트 후에는 반드시 git status를 확인하는 것이 좋다.
XE 1.x에서 업그레이드[편집 / 원본 편집]
XE 1.x 사이트는 일반적으로 라이믹스 코어 파일을 기존 XE 설치 경로에 덮어쓰는 방식으로 업그레이드할 수 있다. 공식 매뉴얼은 XE 코어 업데이트와 유사한 방식으로 진행할 수 있다고 설명한다.[6]
다만 업그레이드 전에 다음 사항을 반드시 확인해야 한다.
- XE 1.8 미만 버전에서 라이믹스로 직접 업그레이드하는 것은 지원하지 않는다. 먼저 XE 1.8 이상, 가능하면 최신 XE 1.11 계열로 올린 뒤 라이믹스로 넘어가는 것이 권장된다.
- 라이믹스로 변환한 뒤에는 다시 XE로 돌아갈 수 없다.
- FTP 계정의 파일 전체와 데이터베이스를 각각 백업해야 한다.
- 관리자 계정으로 로그인한 상태에서 작업하는 것이 안전하다.
- 업그레이드 후 관리자 화면에서 표시되는 모듈 업데이트와 테이블 생성을 모두 완료해야 한다.
- 모든 업데이트 후 캐시파일 재생성을 실행해야 한다.
- 서드파티 자료의 호환성을 점검해야 한다.
- 라이믹스 2.1 이상에서는 관리자 대시보드에서 불필요한 옛 XE 코어 파일을 정리할 수 있다.[6]
모듈, 애드온, 스킨[편집 / 원본 편집]
라이믹스는 모듈, 애드온, 위젯, 레이아웃, 스킨, 에디터, 테마 패키지 등 다양한 확장 요소를 통해 기능과 디자인을 추가할 수 있다. 공식 자료실에서도 이러한 자료를 종류별로 분류하여 제공한다.[14]
모듈은 게시판, 회원, 포인트, 쇼핑몰 등 비교적 독립적인 기능 단위를 담당한다. 애드온은 페이지 처리 과정의 특정 지점에 개입하여 부가 기능을 수행하는 방식으로 동작하며, 자세한 내용은 라이믹스/애드온 문서를 참고할 수 있다. 스킨과 레이아웃은 화면 출력과 디자인을 담당하며, 에디터와 에디터 컴포넌트는 글쓰기 환경을 확장한다.
불필요한 애드온을 많이 활성화하면 사이트 속도와 유지보수에 영향을 줄 수 있다. 따라서 사용하지 않는 확장 기능은 비활성화하거나 삭제하고, 오래된 자료는 PHP 버전과 라이믹스 버전 호환성을 확인한 뒤 사용하는 것이 좋다.
가온 위키의 모듈 문서[편집 / 원본 편집]
가온 위키에는 개별 모듈을 다루는 문서가 별도로 작성되어 있다.
- 라이믹스/모듈/Reaction — 게시물 반응 모듈
- 라이믹스/모듈/소셜 로그인 — 코어에서 분리된 소셜 로그인 모듈
- 라이믹스/모듈/구충제
라이믹스의 동작을 방해하여 차단된 자료는 라이믹스/블랙리스트 문서에 정리되어 있다.
쉬운설치[편집 / 원본 편집]
2026년 6월 26일 공개된 2.1.34부터는 쉬운설치 기능이 지원된다. 관리자 화면에서 공식 자료실의 자료를 FTP 접속 없이 바로 설치할 수 있는 기능이다.[19]
쉬운설치 목록에 노출되는 자료는 공개·무료 자료 가운데 2025년 12월 이후 릴리즈 시스템을 이용해 등록하거나 갱신한 것, 또는 기존에 등록된 자료 중 설치 파일을 릴리즈로 변환한 것으로 한정된다. 설치 경로가 표준과 다른 테마 패키지와 기타 분류는 대상에서 제외된다.[19]
목록 갱신에는 시간이 걸린다. 자료 API가 10~15분마다, Cloudflare 캐시가 5~10분마다, 개별 사이트가 4시간마다 갱신되므로, 새로 올라온 자료가 쉬운설치 화면에 나타나기까지 최대 4시간 30분가량 걸릴 수 있다.[19]
공식 공지는 쉬운설치를 이용할 때 신뢰할 수 있는 개발자의 자료만 설치할 것을 권고한다. 서드파티 코드는 사이트의 모든 데이터에 접근할 수 있고 외부로 전송하는 것도 가능하므로, npm이나 Packagist에서 발견된 악성 패키지 사례와 같은 위험이 존재한다는 것이다.[19]
서드파티 자료 호환성[편집 / 원본 편집]
라이믹스는 XE 1.x 자료와의 호환성을 최대한 유지하려 하지만, 모든 서드파티 자료가 항상 정상 동작하는 것은 아니다. 특히 오래된 모듈이나 애드온은 PHP 최신 버전, 라이믹스의 보안 정책, 코어 기능 변화와 충돌할 수 있다.
공식 문서에는 XE에서 라이믹스로 업그레이드할 때 점검해야 할 서드파티 자료 호환성 체크리스트가 정리되어 있다.[20] 예를 들어, 과거 XE용으로 쓰이던 일부 메일 발송, 자동 로그인, 멀티도메인, SEO 관련 기능은 라이믹스 코어 또는 시스템 설정에 흡수되었다. 반대로 일부 오래된 애드온은 더 이상 필요하지 않거나 정상적으로 작동하지 않을 수 있다.
라이믹스로 이전한 뒤에는 다음 항목을 점검하는 것이 좋다.
- 관리자 화면의 시스템 설정
- 보안 설정과 세션 관련 설정
- 메일 발송 설정
- 멀티도메인 설정
- SEO 설정
- 자동 로그인 관련 기능
- 게시판, 회원, 포인트, 커뮤니케이션 등 주요 모듈
- 오래된 애드온의 필요 여부
- PHP 8.x 환경에서 발생하는 경고 또는 오류
보안[편집 / 원본 편집]
취약점 식별 체계[편집 / 원본 편집]
라이믹스는 자체 취약점 식별 번호인 RVE를 부여하여 관리한다. 번호는 연도와 일련번호를 조합한 형태로, 릴리즈 노트에 취약점 유형과 함께 표기된다.[11]
2026년에는 확장 변수를 통한 IDOR, 애드온 관리 기능의 원격 코드 실행, 썸네일 생성 과정의 SSRF, 데이터 들여오기 모듈의 SSRF 및 정보 유출, 애드온 관리와 쉬운설치 모듈의 경로 탐색, 폼 전송 시 외부 URL 리다이렉트, URL 파라미터 검증 미비, referrer 헤더를 이용한 반사형 XSS, 모듈 관리자의 권한 초과 접근 등이 RVE-2026-1부터 RVE-2026-20 사이의 번호로 처리되었다.[16][21]
일부 취약점에는 한국인터넷진흥원(KISA)이 부여한 KVE 번호가 함께 표기된다. 데이터 들여오기 모듈의 SSRF에는 KVE-2026-0992가, 쉬운설치 모듈의 경로 탐색에는 KVE-2026-1185가, 모듈 관리자 권한 관련 취약점에는 KVE-2026-1661, KVE-2026-1662, KVE-2026-1666이 각각 부여되었다.[16][21]
RVE 번호별 상세 목록과 대응 KVE 번호는 라이믹스/보안 문서에 정리되어 있다. 라이믹스의 동작을 방해하는 서드파티 자료는 블랙리스트로 처리될 수 있으며, 해당 내역은 라이믹스/블랙리스트 문서에서 확인할 수 있다.
보안 관련 개선[편집 / 원본 편집]
취약점 수정 외에도 보안을 강화하는 변경이 함께 이루어지고 있다. 2.1.34에서는 비밀번호 찾기 요청을 세션당 1분에 한 번으로 제한하고, 보안 설정에서 세션 ID 갱신을 제어할 수 있도록 하였다.[21] 2.1.36에서는 로그인 비밀번호 입력란에 autocomplete="off"를 적용하고, 회원 정보나 비밀번호가 변경되면 세션 ID를 갱신하도록 하였으며, Guzzle 라이브러리를 최신 보안 패치 버전으로 갱신하였다.[16]
버그 및 취약점 제보[편집 / 원본 편집]
일반적인 버그나 개선 제안은 GitHub 이슈에 등록할 수 있다. 이슈를 등록할 때는 실행 환경, 라이믹스 버전, PHP 버전, 운영체제, 브라우저, 오류 메시지, 스크린샷, 재현 가능한 URL 등을 함께 제공하는 것이 좋다.[22]
보안 취약점은 공개 이슈에 올리지 말고 [email protected]로 제보해야 한다. 공식 저장소와 공식 문서 모두 보안 취약점은 공개적으로 언급하지 말고 개발진에게 비공개로 알려 달라고 안내한다.[3][22]
공식 자료실과 생태계[편집 / 원본 편집]
라이믹스 공식 홈페이지에는 자료실이 운영되고 있다. 자료실은 모듈, 애드온, 위젯, 레이아웃, 스킨, 에디터, 에디터 컴포넌트, 테마 패키지, 기타 자료 등으로 분류된다.[14]
또한 쇼케이스 게시판에서는 라이믹스를 기반으로 제작된 사이트나 서비스 사례를 확인할 수 있다.[15] 라이믹스는 커뮤니티 사이트, 정보 공유 사이트, 기업 홈페이지, 자체 서비스 구축 등 다양한 용도로 사용할 수 있다.
공식 채널 외에도 이용자들이 운영하는 문서·정보 사이트가 있다. 라이믹스 가이드는 변경 내역과 레퍼런스를 별도로 정리하고 있으며,[23] 라이믹스 꿀팁은 활용 팁과 프로젝트 관련 글을 모아 두고 있다.[24]
로고와 BI[편집 / 원본 편집]
라이믹스의 공식 로고와 BI 가이드는 공식 홈페이지의 BI Guide에서 제공한다. 이 문서에는 로고 사용 원칙, 공식 색상, 글꼴, 아이콘, PNG·SVG·AI 원본 파일, PDF 가이드 등이 정리되어 있다.[25]
BI Guide에 따르면 Rhymix의 이름과 로고는 (주)포에시스가 소유하며, 오픈소스 문화와 프로젝트 발전에 기여하는 방향으로 사용하는 것을 원칙으로 한다. 로고는 공식 색상 조합과 형태를 왜곡하지 않는 범위에서 사용해야 한다.[25]
로고 변천[편집 / 원본 편집]
개발 참여[편집 / 원본 편집]
라이믹스의 개발은 GitHub에서 이루어진다. 버그 제보, 기능 제안, 코드 기여는 GitHub 이슈와 Pull Request를 통해 진행할 수 있다. 공식 문서는 이슈 작성 전에 같은 문제가 이미 등록되어 있는지 검색하고, 서버 환경과 라이믹스 버전, PHP 버전, 오류 메시지, 재현 방법 등을 함께 제공하도록 안내한다.[22]
Pull Request를 작성할 때는 공식 코딩 규칙을 참고해야 한다. 라이믹스 코어 코드는 지원하는 모든 PHP 버전에서 정상 동작해야 하며, 사소한 경고나 deprecated 오류도 방치하지 않는 것을 목표로 한다.[26]
XE Admin Help[편집 / 원본 편집]
XE 시절 관리자 화면에는 오래된 XE Admin Help 문서가 포함되어 있었다. 그러나 해당 문서는 XE의 오래된 버전을 기준으로 작성되어 최신 라이믹스의 화면과 기능을 설명하기에 적합하지 않았다.
라이믹스에서는 오래된 XE 매뉴얼을 제거하고, 공식 문서를 별도 저장소와 공식 홈페이지 매뉴얼로 관리하는 방향으로 정리하였다.[27] 현재는 공식 매뉴얼과 rhymix-docs 저장소를 참고하는 것이 좋다.
관련 문서[편집 / 원본 편집]
외부 링크[편집 / 원본 편집]
각주[편집 / 원본 편집]
- ↑ 라이믹스 공식 홈페이지
- ↑ 2.0 2.1 2.2 라이믹스 소개
- ↑ 3.0 3.1 3.2 3.3 rhymix/rhymix GitHub 저장소
- ↑ 4.0 4.1 4.2 GPL: 개발자, 디자이너, 사용자 등의 권리와 의무
- ↑ XETOWN 프로젝트에서 정리해야 될 사항들
- ↑ 6.0 6.1 6.2 6.3 XE 1.x에서 업그레이드
- ↑ 7.0 7.1 라이믹스 매뉴얼
- ↑ 8.0 8.1 8.2 Rhymix 2.1.8 Release Notes
- ↑ 9.0 9.1 템플릿 문법 v2
- ↑ 10.0 10.1 라이믹스 업데이트
- ↑ 11.0 11.1 11.2 라이믹스 릴리즈 노트 목록
- ↑ rhymix/rhymix-docs
- ↑ 라이믹스 프론트엔드 포럼
- ↑ 14.0 14.1 14.2 라이믹스 자료실
- ↑ 15.0 15.1 라이믹스 쇼케이스
- ↑ 16.0 16.1 16.2 16.3 Rhymix 2.1.36 Release Notes
- ↑ 17.0 17.1 17.2 라이믹스 설치
- ↑ 설치 환경
- ↑ 19.0 19.1 19.2 19.3 쉬운설치 지원을 시작합니다
- ↑ 서드파티 자료 호환성 체크리스트
- ↑ 21.0 21.1 21.2 Rhymix 2.1.34 Release Notes
- ↑ 22.0 22.1 22.2 GitHub 이슈 및 PR 작성
- ↑ 라이믹스 가이드
- ↑ 라이믹스 꿀팁
- ↑ 25.0 25.1 Rhymix BI Guide
- ↑ 코딩 규칙
- ↑ 오래된 XE 매뉴얼 삭제 PR
