DSc T2Editor Developers
DocumentationInstallation
Installation

설치와 플러그인 등록

Ubuntu·Windows와 그누보드5·라이믹스·독립 환경의 설치, 그리고 실제 등록 계층을 안내합니다.

설치와 플러그인 등록

이 문서는 T2Editor 10.4.0을 기반으로 작성되었지만, 설치 예시는 이후 버전에도 적용할 수 있도록 T2Editor <버전명>으로 표기한다.

공통 사전 점검

  • 배포물의 readme.txt와 라이선스를 보존한다.
  • 웹 서버가 PHP를 실행하고 데이터 루트에 쓸 수 있어야 한다.
  • 이미지 처리에는 fileinfo, getimagesize()가 필요하며 WebP 서버 변환에는 GD WebP 지원 여부를 확인한다.
  • 마켓 ZIP 설치에는 ZipArchive가 필요하다.
  • 압축 해제 뒤 editor.lib.php, editor.core.php, config/extend.php가 같은 T2Editor 루트 아래에 있는지 확인한다.

Ubuntu 또는 Linux

  1. T2Editor <버전명> 디렉토리를 웹 애플리케이션이 읽을 수 있는 위치에 배치한다.
  2. 소스는 읽기 위주로, 실제 데이터 루트와 호스트 업로드 루트만 웹 서버 계정이 쓰게 한다.
  3. Nginx를 사용한다면 .htaccess에만 의존하지 말고 t2editor_db, t2admin-private, collab의 직접 접근을 서버 설정에서도 차단한다.
  4. php -l로 PHP 파일 구문을 확인하고 브라우저에서 첫 실행 설정을 완료한다.

Windows

  1. T2Editor <버전명>을 IIS·Apache 문서 루트 또는 호스트 CMS의 지정 폴더에 푼다.
  2. IIS_IUSRS 또는 PHP 실행 계정에는 데이터 폴더만 수정 권한을 준다.
  3. URL 계산이 실패하는 Alias·심볼릭 링크 구조에서는 서버 부트스트랩에서 T2EDITOR_PATH, T2EDITOR_URL을 명시한다.
  4. IIS는 .htaccess를 읽지 않으므로 비공개 폴더를 web.config 또는 사이트 규칙으로 차단한다.

그누보드5

  1. T2Editor <버전명>을 그누보드 플러그인 트리 아래에 배치한다.
  2. 그누보드 common.php가 먼저 로드된 요청에서 editor.lib.php를 불러온다.
  3. 실제 설치 루트가 G5_PLUGIN_PATH 안에 있을 때만 G5 분기가 선택된다. URL은 실제 상대 경로와 G5_PLUGIN_URL, 공개 데이터는 G5_DATA_PATH/editor를 사용한다.
  4. 경로 검증이 실패하면 G5 상수가 있어도 BASIC 모드로 폴백하므로 디렉토리 중첩과 심볼릭 링크를 먼저 확인한다.

라이믹스 2.1.x

  1. T2Editor <버전명>을 라이믹스 에디터 스킨으로 설치하고 skin.xml, editor.html, config.blade.php를 유지한다.
  2. config.blade.phpRX_BASEDIR/modules/editor/skins/t2editor에서 실제 스킨을 확인하고 editor.lib.php를 로드한다.
  3. 템플릿 컴파일 캐시의 __DIR__를 설치 루트로 가정하거나 코어를 중복 include하지 않는다.
  4. editor_sequence, module_srl, upload_target_srl, mid, CSRF 토큰이 인스턴스 설정에 전달되는지 확인한다.
  5. 이미지·파일·영상·그리기 업로드가 라이믹스 파일 모듈에 등록되고 네이티브 첨부 목록에 나타나는지 시험한다.

독립 환경

require_once __DIR__ . '/t2editor/editor.lib.php';
echo editor_html('content', $initialHtml, ['height' => 420]);
echo get_editor_js('content');

호스트 폼은 제출 전에 get_editor_js()가 만든 동기화 코드를 실행해야 한다. 저장 서버는 HTML을 별도로 정제하고 권한과 CSRF를 검증해야 한다.

플러그인 등록의 실제 계층

가장 근본적인 공개 계약은 editor.lib.php다. 10.4.0 ABI 2에서는 이 파일이 선택 런타임으로 위임하고, 번들 기본 배열은 editor.core.php에 물리적으로 선언되어 있다.

  1. plugin/<name>/에 구현을 둔다. 폴더명은 영문·숫자·밑줄·하이픈만 사용한다.
  2. 배포본의 기본 활성 목록을 바꿀 때는 선택 런타임 소스의 $T2EDITOR_PLUGINS$T2EDITOR_PLUGIN_PRIORITY를 수정한다. base 10.4.0에서는 editor.core.php// 플러그인 등록 구간이다.
  3. 코어를 직접 수정하지 않는 사이트별 등록은 /extend/php 로더에서 배열을 준비하거나 추가한다.
  4. 이미 관리자 설정을 저장한 설치에서는 관리자 플러그인 관리의 활성 목록에도 포함하고 저장한다.
  5. 캐시 상태를 확인하고 필요할 때 관리자에서 캐시를 재생성한다.

button.json 추가나 폴더 복사만으로는 일반 플러그인이 활성화되지 않는다. 자동 등록은 별도 문서의 특수 경로다.

기술 기준

T2Editor 10.4.0을 기반으로 작성되었으며, 동일한 구조와 계약을 유지하는 이후 버전에도 적용됩니다.

T2Editor 홈으로