🔐로그인하면 문서 작성, 프로젝트 게시, ZIP 기반 버전 업로드, 브랜치 생성 기능을 사용할 수 있습니다. 로그인하러 가기

통합 관리 페이지 가이드 (v10)

관리자 페이지 URL과 진입 방법, 14개 섹션이 각각 무엇을 하는지, CMS 관리자 로그인과 자체 비밀번호의 관계, 최초 설정이 끝나기 전까지 에디터가 잠기는 이유

Answer Summary

관리자 페이지 URL과 진입 방법, 14개 섹션이 각각 무엇을 하는지, CMS 관리자 로그인과 자체 비밀번호의 관계, 최초 설정이 끝나기 전까지 에디터가 잠기는 이유

소유자 👤 T2WIKI 편집
브랜치 ⎇ main
리비전 r2
작성자 T2WIKI 편집
수정 2026.09.28
요약 정정 (2026-09-28, T2WIKI 편집): 존재하지 않는 문서로 향하던 내부 링크를 실제 문서로 재지정했습니다(N-08-admin-console-guide→N-02-admin-console-guide.md, N-06-rhymix-integration-guide→N-05-cms-adapter-and-data-paths.md). 원문은 리비전 이력에 남아 있습니다.
관리자adminCMS자체t2설정configindex.core.php

통합 관리 페이지 가이드 (v10)

이 문서는 2026-09-28에 새로 썼습니다.
이 위키에는 관리자 페이지를 설명하는 문서가 한 건도 없었습니다. 관리자 화면은 2026-07-20 배포된 10.4.0에서 처음 생겼고, 그 뒤 10.5.0·10.5.1에서 관리자 인증 방식이 두 번 바뀌었습니다. 15건 사용자 문서 어디에도 admin/ 이라는 경로가 한 번도 등장하지 않았습니다.

>

이 문서는 10.5.1을 기준으로 씁니다. 10.4.0과 10.5.0에서 무엇이 달랐는지도 §7에 적었으므로, 그 판본을 쓰신 분도 거기서 확인하십시오.

1. 관리자 페이지가 뭔지 먼저

10.4.0 이전에는 설정이 코드 파일 안에 흩어져 있었습니다. config/t2_config.php 를 열어 상수를 고치고, config/upload_config.php 를 열어 확장자 목록을 고쳤습니다. t2_config.php 직접 수정은 10.2.0에서 공식적으로 권장되지 않게 됐습니다. 그때부터 바뀐 값을 관리 화면에서 다루게 됐고, 그것이 이 페이지입니다.

관리자 페이지에는 14개 메뉴가 4개 묶음으로 나뉘어 있습니다. 소스 기준으로 전수 확인했습니다 (admin/index.core.php:808-864).

묶음메뉴화면 안의 설명 (원문)
메인대시보드T2Editor 관리자 현황 개요
라이선스T2Editor 본체의 라이선스 검증 상태를 확인합니다
Extend 현황extend/php, extend/js 에 로드되는 파일 목록
에디터 업데이트현재 메이저 버전의 권장 최신 릴리스를 자동으로 검사하고, 새 메이저 버전과 이전 버전은 고급 옵션에서 검토한 뒤 선택적으로 업데이트합니다.
마켓 및 설치Open T2Editor와 독립 T2Editor Provider Market에서 Plugin, Extend, Locales를 찾아 설치합니다.
에디터 설정기본 설정활성 에디터 런타임의 기본 설정을 관리합니다
NSFW 필터이미지 업로드 시 성인 콘텐츠를 자동 감지합니다
플러그인 관리플러그인 활성화·비활성화 및 로딩 우선순위를 설정합니다
아이콘 관리플러그인별 툴바 버튼 아이콘을 자유롭게 바꿉니다
반응형 툴바화면 너비별로 일부 버튼을 그룹(서브 메뉴)으로 묶어 출력합니다
서버 설정도메인 설정허용 URL 도메인 및 iframe 임베드 플랫폼을 관리합니다
업로드 설정파일 업로드 크기, 형식, 보안 옵션을 설정합니다
캐시 관리런타임 인덱스와 다국어 컴파일 캐시의 상태를 확인하고 삭제·재생성합니다
계정보안CMS 관리자 인증, T2Editor 자체 로그인 및 설정 초기화
출처: 메뉴 버튼 14개는 admin/index.core.php:808-864 (묶음 컨테이너 808·827·846·859, 라벨 809·828·847·860), 섹션 패널 14개는 admin/index.core.php:905 / 957 / 970 / 987 / 1067 / 1186 / 1267 / 1308 / 1339 / 1390 / 1410 / 1446 / 1485 / 1514 (각 패널 다음 줄에 <div class="section-header"> 이 있고 그 안에 <h2> 제목 + <p> 설명이 있습니다).

2. 어디에 있습니까 — 3가지 진입 방법

진입 방법 1 · URL 직접

<에디터가 있는 폴더>/admin/index.php

예) 스탠드얼론이라면 https://내도메인/t2editor/admin/index.php, 그누보드5라면 https://내도메인/plugin/editor/t2editor/admin/index.php 입니다.

admin/index.php 는 478 바이트짜리 불변 다리 파일입니다. 안에는 구현이 없고 admin/index.core.php 로 넘기기만 합니다(admin/index.php:5-6). 그래서 갱신할 때 이 파일을 덮어써도 됩니다. 실제 화면은 admin/index.core.php (265,888 바이트)에 있습니다.

진입 방법 2 · 에디터 하단 T2E_Admin 링크 (권장)

글쓰기 화면 에디터의 버전 정보 옆에 T2E_Admin 링크가 보입니다(editor.core.php:1101-1104).

  • 일반 사용자에게는 이 링크와 관리자 경로가 노출되지 않습니다(S1 10.5.0 원문: "현재 사용자가 관리자로 확인되면 에디터 하단 버전 정보 옆에 T2E_Admin 링크가 표시됩니다. 일반 사용자에게는 링크와 관리자 경로가 노출되지 않습니다.")
  • 10.5.1부터는 로그인하면 새로고침하지 않아도 이 링크가 바로 나타납니다(editor.core.php:1550-1556 주석, :1557-1569 구현).

진입 방법 3 · 에디터 하단 진단 모달

버전 정보 텍스트를 누르면 열리는 디버깅 패널에서 로그인·설정을 합니다. 10.5.0에서 이 패널에 "관리자 로그인하기" 버튼이 추가됐고(editor.core.php:1099-1101의 .t2-debug-trigger → showT2DebugModal()), 10.5.1에서는 로그인 성공 시 그 버튼이 "관리자 페이지 열기" 링크로 페이지 새로고침 없이 교체됩니다(editor.core.php:1571-1575).

⚠ 관리자 페이지 안에는 도움말 링크가 없습니다

admin/index.core.php 전문에서 http 문자열을 전수 검색한 결과 3건뿐이고, 셋 다 입력란 기본값입니다: :2257 https://example.com/market/index.php (마켓 등록 예시), :2104·:2265 는 url:'https://' — 빈 접두사 자리표시자입니다. 외부 문서로 가는 링크는 0건입니다. 관리자 화면이 dsclub.kr 문서를 가리키는 링크를 갖고 있는지 여부는 [확인 필요] 입니다. 저는 파일 내용만으로 판단했으므로, 화면에 실제로 보이는 링크를 확인하려면 관리자 페이지에 직접 로그인해 보셔야 합니다.


3. ⭐ 관리자 인증 — 10.5.0에서 CMS로, 10.5.1에서 자체 로그인이 돌아옴

이 부분이 v10에서 가장 자주 바뀐 곳입니다. 세 단계를 거쳐 왔습니다.

3-1 · 10.5.0 (2026-07-22) — CMS 관리자 로그인을 쓰기로 함

S1 릴리즈 노트 원문 그대로:

CMS 관리자 권한 연동
- 그누보드5와 라이믹스에서는 T2Editor 전용 관리자 비밀번호를 별도로 입력하는 대신, 현재 CMS의 관리자 로그인 상태를 이용해 T2Editor 관리자 권한을 확인하도록 변경했습니다. 업데이트, 서드파티 설치 등 관리자 승인이 필요한 기능도 CMS 관리자 세션을 기준으로 처리합니다.

이때 생긴 문제를 10.5.1 릴리즈 노트가 그대로 기록하고 있습니다:

- 10.5.0에서는 그누보드5나 라이믹스가 감지되면 T2Editor 자체 비밀번호 대신 CMS 관리자 로그인 상태만 확인했습니다. 하지만 일부 그누보드5 또는 빌더 환경에서는 관리자로 로그인한 상태인데도 T2Editor가 이를 인식하지 못해 관리자 페이지에 들어갈 수 없는 문제가 있었습니다.

10.5.0이 배포된 지 5일 만에 10.5.1이 나왔고, 그 5일의 목적이 이 수정이었습니다.

3-2 · 10.5.1 (2026-07-27) — 자체 로그인이 다시 돌아옴

S1 릴리즈 노트 원문 그대로:

CMS 환경의 T2Editor 자체 로그인 지원
* 그누보드5와 라이믹스에 설치한 경우에도 CMS 관리자 로그인과 별개로 T2Editor 자체 비밀번호로 로그인할 수 있습니다.
* 관리자 인증 화면에 T2Editor 자체 로그인하기 버튼을 추가했습니다.
* CMS 관리자 로그인 상태가 정상적으로 인식되지 않는 환경에서도 T2Editor 관리자 페이지에 접근할 수 있습니다.
CMS 환경의 자체 로그인 최초 설정 지원
* 그누보드5와 라이믹스 환경에서도 T2Editor 자체 로그인 설정이 완료되지 않은 경우 최초 설치 안내 화면을 표시합니다.
* admin/t2admin.key.txt 파일을 admin/t2admin.key로 변경하고 자체 관리자 비밀번호를 설정하면 자체 로그인을 사용할 수 있습니다.
* 기존 CMS 관리자 인증은 그대로 유지되며, 자체 로그인은 필요할 때 선택해서 사용할 수 있습니다.

3-3 · 그래서 지금 어떻게 동작합니까

소스가 말하는 현재 규칙 (S3 실측):

배치관리자 인증 방식근거
스탠드얼론 (CMS 없음)자체 비밀번호 필수config/t2_cms_auth.php:103-110 t2editor_admin_requires_local_credentials() — 감지 결과가 standalone 이거나 인증 어댑터가 없으면 true
그누보드5CMS 관리자 로그인 또는 자체 비밀번호integration/cms/adapters/gnuboard5.php:132-133 이 auth_require_path·auth_authorize 를 등록
라이믹스CMS 관리자 로그인 또는 자체 비밀번호integration/cms/adapters/rhymix.php auth_bootstrap·auth_authorize
워드프레스❌ CMS로 감지되지 않음integration/cms/adapters/wordpress.php 의 validate_context 가 항상 false 를 반환 — 아래 §3-4 참조

두 인증은 OR 관계입니다. 코드에 그대로 있습니다:

php
// config/t2_cms_auth.php:132-138 function t2editor_admin_is_authorized() { t2editor_admin_auth_bootstrap(); if (t2editor_admin_local_session_is_authorized()) return true; // 자체 로그인 return t2editor_admin_cms_is_authorized(); // CMS 로그인 }

3-4 · 워드프레스는 CMS 어댑터가 아니라 "브리지"입니다

S3 10.5.1 10.3.0이 워드프레스 업로드 연동을 추가했지만, 그 어댑터는 자동 감지 대상이 아닙니다:

php
// integration/cms/adapters/wordpress.php 'validate_context' => function () { return false; },

⇒ 워드프레스용으로 넣은 코드가 그누보드5로 오인되지도, 워드프레스로 감지되지도 않습니다. 받는 것은 워드프레스 미디어 라이브러리 업로드이며, CMS 관리자 연동·데이터 경로 분리는 받지 않습니다. 데이터 경로는 그누보드/라이믹스처럼 CMS가 알려주지 않으므로 스탠데얼론 규칙이 적용됩니다. 자세한 건 N-05-cms-adapter-and-data-paths.md를 보십시오.

3-5 · 중요한 작업은 재인증합니다

S1 10.5.1 원문:

중요 관리자 작업의 재인증 방식 개선
* T2Editor 자체 로그인으로 접속한 경우 업데이트, 백업 복구, 서드파티 설치 같은 중요 작업에서 자체 관리자 비밀번호를 다시 확인하도록 수정했습니다.
* CMS 관리자로 접속한 경우에는 기존처럼 CMS 관리자 권한을 기준으로 작업을 승인합니다.

⇒ 자체 로그인으로 들어가셨다면 업데이트·복구·설치 직전에 비밀번호를 다시 묻습니다. 버그가 아닙니다. 화면에 "비밀번호 변경"이 아니라 "확인"이 뜹니다.

3-6 · 비밀번호 변경과 설정 초기화

보안 메뉴(admin/index.core.php:1514-1545)에 세 가지가 있습니다. 화면에 적힌 그대로 옮기면:

항목화면 문구주의
비밀번호 변경현재 비밀번호 / 새 비밀번호 (8자 이상) / 새 비밀번호 확인8자 미만 불가
관리자 인증 방식현재는 관리자 세션으로 인증하고 있습니다. CMS 로그인과 별개로 사용할 T2Editor 자체 비밀번호도 추가로 설정할 수 있습니다.어느 쪽으로 인증 중인지 화면에 표시됨
설정 초기화모든 관리자 설정을 기본값으로 초기화합니다. CMS 로그인 정보와 T2Editor 자체 관리자 비밀번호는 유지됩니다.설정만 초기화. 인증 정보는 남습니다

4. ⭐ 최초 설정 게이트 — 설정이 끝나기 전에는 에디터가 잠깁니다

10.4.0 릴리즈 노트 원문:

처음 설치할 때 나오는 안내 화면은, 관리자 기능이 켜져 있는지, 비밀번호는 설정했는지, 파일을 저장할 폴더에 쓰기 권한은 있는지, 서버가 필요한 기능을 지원하는지 등을 자동으로 확인해줍니다. 내 서버 환경에 맞춰 어떤 명령어를 입력하면 되는지, FTP 프로그램으로는 어떻게 설정할 수도 알려줍니다. 이런 필수 설정이 끝나지 않으면 잘못된 상태로 에디터가 쓰이는 걸 막기 위해 잠시 편집 기능이 잠깁니다.

4-1 · 잠기는 것을 S3로 확인했습니다

에디터 본문이 실제로 클릭·입력 불가가 됩니다. 추측이 아니라 실측입니다.

js
// extend/js/t2_first_run_guide.js:166-167 html.t2-first-run-locked,body.t2-first-run-locked{overflow:hidden!important} html.t2-first-run-pending .t2-editor-container,html.t2-first-run-locked .t2-editor-container{pointer-events:none!important;user-select:none!important}
  • pointer-events:none!important = 마우스·터치 입력 전부 차단
  • user-select:none!important = 텍스트 선택도 차단
  • overflow:hidden!important = 화면 스크롤까지 잠김

이 클래스를 누가 붙이느냐가 핵심입니다:

php
// editor.core.php:812-813 if (!empty($_t2_first_run_bootstrap['required'])) { $html .= "document.documentElement.classList.add('t2-first-run-pending');"; }

⇒ 서버가 "설정 필요"라고 판정한 첫 요청에만 잠깁니다. 안내를 끝까지 마치면 t2_first_run_guide.js:205-207 에서 pending 를 떼고 locked 로 바꿔 안내 화면을 고정하며, 완료를 확인하면 :218-219 에서 두 클래스를 모두 제거해 편집이 풀립니다.

완료 상태는 브라우저가 아니라 서버에 저장됩니다 — t2editor_db/first_run_state.php (extend/php/t2_first_run_setup.php:41-46). 브라우저 캐시를 지워도 다시 잠기지 않습니다.

4-2 · 막힐 때 뜨는 문장 (4가지)

config/first_run_api.php:61,64,67,71 에서 서버가 실제로 돌려주는 문장입니다. 사용자에게 이 중 하나가 보이면 그 자체가 진단 단서입니다.

상황서버가 보내는 문장위치
관리자 키를 안 바꿨을 때먼저 admin/t2admin.key.txt를 admin/t2admin.key로 이름 변경하세요.config/first_run_api.php:61
비밀번호를 안 정했을 때관리자 페이지에서 관리자 비밀번호를 먼저 설정하세요.:64
데이터 폴더 쓰기가 안 될 때공용 데이터 디렉터리에 PHP 실행 계정의 쓰기 권한을 부여하세요.:67
데이터 폴더 준비 실패T2Editor 데이터 디렉터리를 준비하거나 쓰기 권한을 확인하세요.:71

그리고 안내를 끝까지 읽지 않았거나 확인 칸을 안 찍었다면: 안내를 끝까지 읽고 확인 체크박스를 선택하세요. (:55)

4-3 · 단계 수 — 스탠드얼론 4단계, CMS 3단계

extend/js/t2_first_run_guide.js:334-335 가 실제로 두 갈래로 나뉩니다.

배치단계
스탠드얼론 (4단계)① admin/t2admin.key.txt 파일명을 admin/t2admin.key 로 변경 ② 관리자 페이지에서 관리자 비밀번호 설정 ③ 공용 데이터 디렉터리를 최소 권장 707 부터 설정하고 PHP 실제 쓰기 시험 확인 ④ 안내를 끝까지 읽기 (:19-22)
CMS (3단계)① 그누보드5 또는 라이믹스 관리자 로그인으로 사용 ② 데이터 권한 ③ 안내 읽기 (:334 + :69 cms_auth_step)

CMS 배치에서는 ①이 "키 파일 활성화"가 아니라 "CMS 관리자 로그인"입니다. 그래서 그누보드5·라이믹스 사용자는 ①을 건너뛰고 CMS로 로그인하면 됩니다. 단 자체 로그인을 쓰고 싶다면 그때는 CMS 여부와 상관없이 admin/t2admin.key.txt → admin/t2admin.key 이름 변경이 필요합니다(§3-2 인용).

⚠ admin/t2admin.key.txt 가 배포판 git tree에 없습니다. releases/v10.5.1 트리 290 blob을 전수 확인한 결과 admin/ 13개 파일 중 키 파일은 0건입니다. t2admin 으로 시작하는 파일은 extend/js/t2admin_runtime.js 와 extend/php/t2admin_settings_loader.php 뿐입니다. 서버에 이 파일이 보이지 않으면 "admin/t2admin.key.txt 를 admin/t2admin.key 로 바꾸라"는 안내가 실행되지 않습니다. 실제 배포 ZIP이나 관리 화면에 표시되는 절차를 직접 확인하십시오 — [확인 필요] (W1 §Q2가 같은 공백을 이미 지목한 항목입니다).

4-4 · 권한은 707 — 777이 아닙니다

10.5.0 릴리즈 노트:

최초 설치 안내 개편
- 설치 권한은 777이 아니라 707을 최소 권장값으로 명확하게 안내합니다.
- 실제 PHP 파일 생성·쓰기·삭제 시험이 성공하면 현재 권한을 그대로 유지하며, 숫자로 표시된 권한만 보고 불필요한 chmod 명령을 요구하지 않습니다.
- 777도 작동 자체를 막지는 않지만 필요 이상으로 넓은 권한이므로 권장하지 않는다고 명시했습니다.

S3 확인 — 안내 화면이 실제로 그렇게 말합니다:

  • :18 required_body: '관리자 기능을 활성화하고 공용 데이터 디렉터리를 최소 권장 707부터 설정한 뒤, PHP 실제 쓰기 시험을 확인하고 안내를 끝까지 읽습니다.'
  • :37 …더 제한적인 권한으로 PHP 쓰기 시험이 성공하면 그 권한을 유지해도 됩니다. 777은 사용하지 마세요.
  • :67 permission_note: '…실패할 때는 707부터 적용하면 충분합니다. 777도 설치를 막지는 않지만 필요 이상이므로 권장하지 않습니다.'
⚠ 단, 이건 "안내 화면이 권하는 값"이고 코드가 강제하는 값은 아닙니다. t2_storage.php가 만드는 폴더 기본 권한은 어댑터별로 0755(config/t2_cms_data.php:50-51)이며, 그누보드5는 CMS 상수를 따릅니다(integration/cms/adapters/gnuboard5.php:128-129). 707은 사용자에게 권하는 숫자입니다. 화면 문구를 그대로 옮기십시오.

5. 메뉴별 "무엇을 하는지 · 언제 쓰는지"

대시보드 (admin/index.core.php:905)

관리자 현황 개요. 카드 5개(라이선스 · 활성 플러그인 · 최대 업로드 · NSFW 필터 · 마이그레이션)와 시스템 정보, 보안 상태가 나옵니다.

가장 중요한 것은 "업데이트·설치 서버 환경" 점검입니다. S1 10.4.0:

서버 상태를 자동으로 점검해서 문제를 미리 알려주는 기능

10.5.1에서 이 화면이 무한 로딩으로 고쳐졌습니다:

관리자 대시보드 무한 로딩 문제 해결
- 일부 환경에서 서버의 PHP 확장과 파일 권한을 확인하고 있습니다라는 문구와 로딩 표시가 계속 나타나고, 다른 메뉴도 클릭할 수 없는 문제가 있었습니다.
- 관리자 화면에 전달되는 일부 정보가 정상적인 문자 형식으로 변환되지 않아 화면 스크립트가 중단되는 것이 원인이었습니다.

⇒ 10.5.0을 쓰시는 분이 이 화면에서 멈췄다면, 10.5.1로 올리십시오. 버그입니다. 또한 화면에 서버의 PHP 확장과 파일 권한을 확인하고 있습니다 가 계속 떠 있으면 그대로 두지 마십시오 — 정상 상태가 아닙니다.

라이선스 · Extend 현황

  • 라이선스: T2Editor 본체의 라이선스 검증 상태를 보여줍니다. 라이전스가 readme.txt 안에 있다는 사실과, 화면에 무엇이 보이는지는 별개 문제입니다. 파일 위치는 07-license-guide.md를 보십시오.
  • Extend 현황: extend/php 와 extend/js 에 자동 로드되는 실제 파일 목록입니다. 10.1.0에서 /extend 가 도입되었을 때부터 있던 기능이고, "내 코드가 왜 실행되는가"를 확인하는 유일한 곳입니다. 직접 파일을 배포판에 복사했더라도 목록에 없으면 로드되지 않습니다.

에디터 업데이트 (admin/index.core.php:988)

  • 자동 검사 — 현재 메이저 버전의 권고 최신 릴리스를 확인합니다.
  • 다른 메이저 버전·이전 버전 — "고급 옵션"에서 검토한 뒤 선택적으로 적용합니다.
  • 안전 장치 3중 (S1 10.4.0):
  • 기본적으로 원래 파일을 건드리지 않고 별도 공간에 새 버전을 설치한 뒤 전환합니다. 문제가 생기면 이전 상태로 되돌립니다.
  • 원래 폴더에 직접 업데이트하는 방식을 고르면, 직접 수정한 파일과 충돌하는 부분을 관리자가 확인해 유지/변경을 고릅니다. 업데이트 전 파일은 자동 백업됩니다.
  • 적용·복구 직전에 비밀번호를 다시 확인합니다(§3-5).
  • 메이저 버전 경고 (S1 10.5.0): 현재 T2Editor와 대상 버전의 메이저 버전이 다르면 목록에 경고를 표시하고, 확인값을 서버에서도 검증해 확인 없이 진행되지 않게 합니다.

마켓 및 설치 (admin/index.core.php:1068)

Plugin, Extend, Locales 를 검색해 설치합니다. 화면 원문:

Open T2Editor와 독립 T2Editor Provider Market에서 Plugin, Extend, Locales를 찾아 설치합니다.
  • 공식 검증 마켓과 그 외 마켓이 구분됩니다. 믿을 만한 곳이라면 관리자가 직접 등록할 수 있습니다(등록 예시 URL은 admin/index.core.php:2257).
  • 설치 전 항상 안전성 검사를 거칩니다(S1 10.4.0).
  • 10.5.0의 중요한 추가: 서드파티의 매니페스트가 요구하는 최소 버전(t2editor_min)과 현재 메이저 버전이 다르면 경고가 표시되고 설치 승인 전에 다시 확인합니다. "설치가 안 된다"가 아니라 "확인 화면이 먼저 나온다"입니다.
⚠ 서드파티를 설치하면 readme.txt:35 조항이 걸립니다. "T2 서비스의 코드, API, 호환 구조는 사전 공지 없이도 변경될 수 있으며, 이로 인해 서드파티 플러그인의 호환성이 깨지거나 정상 작동하지 않게 되는 경우 DSc 및 Tak2는 이에 대한 책임을 지지 않음". 서드파티를 운영하시면 반드시 읽어야 할 문장입니다.

기본 설정 · NSFW 필터 · 플러그인 관리 · 아이콘 관리 · 반응형 툴바

메뉴하는 일언제 필요하나
기본 설정CSS 압축(T2_CSS_MIN) 등 런타임 기본값서버 부하·트래픽을 보고 조정
NSFW 필터이미지 업로드 시 성인 콘텐츠 감지(T2_NSFW_ENABLED)[확인 필요] — 10.5.1 기본값을 코드에서 확정하지 못했습니다. 어느 설치에서든 켜져 있는지 여부는 화면에서 직접 확인하십시오
플러그인 관리활성화·비활성화, 로딩 우선순위(드래그 앤 드롭, 숫자가 낮을수록 먼저 로드)플러그인 충돌·초기화 지연이 있을 때
아이콘 관리툴바 버튼 아이콘 교체. 이 설치본에 포함된 Material Icons를 검색해서 고르며, 외부 사이트에 접속하지 않습니다사이트 톤에 맞추고 싶을 때
반응형 툴바화면 너비별로 버튼을 서브 메뉴로 묶음. 끄면 toolbar.js 내장 기본값(2단계 브레이크포인트) 사용모바일에서 툴바가 깨질 때
NSFW 필터에 관해 확정된 사실 하나: 10.4.0에서 "필터가 이제 필요한 파일이 프로그램 안에 포함돼 있어서 외부 서버에 의존하지 않고 더 안정적으로 작동"하게 됐고, "어떤 방식으로 검사를 실행할지는 관리자가 설정할 수 있습니다"(S1 10.4.0). v10 배포판에 config/nsfw_api_server.php 는 없습니다(404 실측). 8.x시기에 쓰던 "외부 NSFW 서버" 설정은 현재 판본에 없습니다.

도메인 설정 (admin/index.core.php:1411)

  • 추가 허용 URL 도메인 — 현재 서버 도메인은 자동 포함됩니다. CDN·서브도메인을 추가합니다.
  • iframe 허용 플랫폼 — 동영상 임베드를 허용할 플랫폼을 체크합니다. 체크를 해제하면 그 플랫폼의 iframe이 차단됩니다. ( 유튜브· Vimeo 등을 체크해 두십시오.)
  • 커스텀 추가 도메인 — 위 플랫폼 선택과 무관하게 항상 추가됩니다.

코드 근거: config/t2_config.php:304-340 의 T2EDITOR_ALLOWED_IFRAME_DOMAINS + t2editor_get_allowed_iframe_domains(), 브라우저 검증은 js/core.js:4659-4660. v10에도 이 방어는 있습니다. (본문 XSS 정화와는 다른 축입니다 — N-06-server-sanitize-and-content-style.md 참고)

업로드 설정 (admin/index.core.php:1447)

화면 설명은 "파일 업로드 크기, 형식, 보안 옵션을 설정합니다"입니다. 기본값이 코드에 있습니다 (config/upload_config.php):

항목기본값위치
최대 업로드 용량50 MB (T2EDITOR_MAX_UPLOAD_SIZE)config/upload_config.php:37-38
문서 확장자pdf txt doc docx xls xlsx ppt pptx hwp odt ods odp rtf:57-60
이미지 확장자jpg jpeg png gif webp bmp:61-64
동영상 확장자mp4 webm ogg mov avi mkv wmv flv m4v:65-68
기타zip rar 7z tar gz bz2 mp3 m4a wav flac aac wma json xml csv:69-73
제외SVG (활성 콘텐츠/XSS 위험), ICO (MIME·GD 처리 불일치):54-55 주석
이미지 픽셀 상한50,000,000 (≈50 MP):50-51
⚠ 이 값은 배포판 코드에 박힌 기본값이며, 관리자 화면에서 바꾼 값이 이를 덮어씁니다. 또 PHP·웹서버의 업로드 제한이 이보다 먼저 걸립니다. 화면이 50 MB를 보여도 서버가 8 MB로 막고 있으면 8 MB가 실제로 걸립니다. 서버를 따로 보십시오.

캐시 관리 (admin/index.core.php:1486)

  • 런타임 인덱스와 다국어 컴파일 캐시의 상태를 보고 삭제·재생성합니다.
  • 화면 원문: 기본 설치와 데이터 슬롯 모드 모두 런타임 인덱스와 번역 정적 캐시를 생성합니다. 기본 설치에서는 관련 원본 파일의 서명을 함께 기록하여 변경이 감지되면 오래된 인덱스를 자동으로 사용하지 않습니다.
  • 번역이 말썽난 것 같을 때(특정 기능만 번역이 깨짐) 먼저 여기서 캐시를 삭제해 보십시오.

보안 (admin/index.core.php:1515)

§3-6 참고. CMS 인증 · 자체 로그인 · 비밀번호 변경 · 설정 초기화가 한 화면에 있습니다.


6. 처음 하는 순서 (권장)

순서할 일이유
1가장 가까운 지점에서 admin/index.php 로 접속경로가 틀리면 아무것도 안 보인다
2최초 설치 안내를 끝까지 마친다안 마치면 에디터가 잠깁니다(§4-1)
3대시보드에서 서버 환경 점검 통과 확인업데이트·설치의 전제
4업로드 설정 확인실제로 걸리는 값은 서버 설정과 만듭니다
5도메인 설정에서 사용 중인 동영상 플랫폼 체크안 하면 임베드가 막힙니다
6NSFW 필터 상태 확인현재 판본 기본값은 [확인 필요]
7그 다음부터 업데이트·마켓환경이 깨끗한 상태에서 하십시오

7. 판본별 차이 (무엇이 언제 바뀌었나)

판본날짜관리자 쪽 변화
10.4.02026-07-20관리자 페이지 신설. 최초 설치 안내·자동 업데이트·확장 마켓·드래그 앤 드롭 업로드·표 병합/분할·에디터 높이 조절·NSFW 필터 안정화·다국어·반응형 메뉴·다크 모드·민감 데이터 보관 강화·서버 상태 자동 점검
10.4.02026-07-20권한 지시를 777 → 최소 권장 707으로 개편
10.5.02026-07-22관리자 인증을 CMS로 이전. T2E_Admin 링크 추가(관리자만) · 디버깅 패널에 "관리자 로그인하기" 버튼 · 메이저 버전 호환성 경고(업데이트 + 서드파티) · 브라우저 보조 ZIP 설치
10.5.12026-07-27CMS 환경에 자체 로그인 복원. 관리자 인증 화면에 "T2Editor 자체 로그인하기" 버튼 · 에디터 하단에서 자체 로그인 설정·로그인 · 대시보드 무한 로딩 수정 · 중요 작업 재인증 · 내부 데이터 폴더 직접 접근 방지 파일 추가

10.5.0만 쓰시는 분 — CMS 관리자 로그인이 안 잡히는 환경이면 관리자 페이지에 들어가실 방법이 없습니다. 10.5.1로 올리십시오.


8. 자주 보이는 오해

오해사실
"설정을 바꾸려면 t2_config.php 를 고쳐야 한다"10.2.0부터 코어 하드코딩 수정이 아니라 관리자 화면입니다
"그누보드5에 설치했으니 data/ 권한은 707"그누보드5는 CMS 상수를 따릅니다. 화면에 표시된 감지된 권한을 보십시오(extend/js/t2_first_run_guide.js:343)
"T2E_Admin 링크가 안 보인다 = 버그"관리자가 아니면 보이지 않도록 설계입니다
"업로드가 50 MB까지 된다"PHP·웹서버 제한이 먼저 걸립니다
"확장 마켓에서 아무 플러그인이나 안전하다"안전성 검사는 거치지만, readme.txt:35 조항상 호환성 책임은 지지 않습니다
"설치 안내가 끝났는데도 편집이 안 된다"서버에 저장되는 완료 상태입니다. t2editor_db/first_run_state.php 를 확인하십시오
"10.5.0에서 CMS 관리자로 로그인했는데 관리자 페이지가 안 열린다"알려진 결함입니다. 10.5.1로 올리십시오

9. 개발자용 — 파일과 함수

항목위치
진입점(불변 다리)admin/index.php (478 B) — :5-6 에서 admin/index.core.php 로 넘김
실제 구현admin/index.core.php (265,888 B)
API 브리지admin/api.php → admin/api.core.php
서버 환경 점검admin/environment_api.php → .core.php
업데이트admin/update_api.php → .core.php
마켓/서드파티admin/third_party_api.php → .core.php
런타임 설정admin/runtime_config.php → .core.php
관리자 인증 판정config/t2_cms_auth.php:132-138 t2editor_admin_is_authorized()
인증 모드 보고config/t2_cms_auth.php:141-158 t2editor_admin_auth_mode()
자체 인증 필요 여부config/t2_cms_auth.php:103-110 t2editor_admin_requires_local_credentials()
최초 설치 부트스트랩extend/php/t2_first_run_setup.php:272-306 t2_first_run_client_bootstrap()
최초 설치 확인 APIconfig/first_run_api.php
안내 화면extend/js/t2_first_run_guide.js (43,661 B)
업로드 정책config/upload_config.php
Origin 검사config/upload_config.php:229-255 check_request_origin()
v11에는 admin/sections/ 이 있고 config/t2_hard_config.php 가 추가되었지만, v10.5.1에는 둘 다 없습니다(404 실측). v11 문안을 v10 서버에 안내하지 마십시오.

N-xx 번호 체계 메모 (2026-09-28 확정)

이 위키의 N- 번호는 2026-09-28에 등록부를 확정하면서 붙였습니다. 확정된 신규 문서는 4건입니다.

번호슬러그내용
N-02N-02-admin-console-guide.md통합 관리 페이지 가이드
N-03N-03-migration-v9-to-v10.mdv9 → v10 이관 안내서
N-05N-05-cms-adapter-and-data-paths.mdCMS 어댑터와 데이터 저장 위치
N-06N-06-server-sanitize-and-content-style.md서버측 본문 정제와 게시 화면 스타일

N-01 · N-04 · N-07은 비어 있습니다. 번호를 미리 예약하면 그 번호가 "예정된 문서가 있다"는 뜻으로 읽히고, 실제로 그런 문서가 생기지 않으면 독자가 찾다 포기합니다. 필요해지는 시점에 그때 번호를 쓰십시오. 이전 문안에서 [[N-02-admin-console-guide.md]]·[[N-05-cms-adapter-and-data-paths.md]]처럼 가리키던 링크는 이 등록부 기준으로 교정되었습니다(N-08 → N-02, 라이믹스 경로는 N-05에 포함).

10. 내가 틀릴 수 있는 것 3가지

  1. NSFW 필터의 기본값을 확정하지 못했습니다. 화면 설명(admin/index.core.php:1268)과 토글(T2_NSFW_ENABLED)의 존재는 확인했지만 그 상수의 기본값을 코드의 define() 지점에서 직접 확인하지 않았습니다. 그래서 §5 표에 [확인 필요] 로 남겼습니다. B2는 10.5.1 기준 false 라고 적었으나 저는 그 값을 재확인하지 않았으므로 채택하지 않았습니다. B2가 맞는지 여기서는 모릅니다.
  1. "도움말 링크가 없다"는 결론은 파일 내용 기준입니다. admin/index.core.php 에 외부 문서 링크가 없다는 것은 확인했습니다. 다만 관리자 화면이 서버 응답으로 만들어지는 부분 중에 제가 읽지 못한 곳이 있을 수 있고, 실제로 로그인했을 때 보이는 탭·버튼이 전부 HTML 정적 문자열인지는 [확인 필요] 입니다.
  1. §3의 CMS별 인증 표는 코드의 판정 로직을 읽은 것입니다. 실제로 그누보드5/라이믹스에 설치해 확인한 것은 아닙니다. 특히 그누보드5는 10.5.1이 "그누보드5 관리자 로그인 정보를 불러오는 위치가 적절하지 않아" 문제를 고친 판본인데(S1 10.5.1), 그 위치가 CMS 스킨 쪽인지 에디터 쪽인지 코드로만 판단했습니다. 따라서 "이제 잘 됩니다"를 보장하지 않습니다 — 확실한 것은 10.5.0에는 실패했고 10.5.1이 그것을 고쳤다는 릴리즈 노트의 주장까지입니다.
이 문서가 링크하는 문서 · 4
백링크 · 14
관련 문서
문서 연결 지도

이 문서를 중심으로 들어오는 링크와 나가는 링크를 한 번에 볼 수 있습니다.

전체 보기
현재 문서 백링크 나가는 링크 양방향 연결
이 브랜치의 리비전
T2WIKI · 기술 통합 위키 & 프로젝트 허브 · 나무위키 + Markdown 완벽 지원 · SQLite · PHP 8.2 · 소개 · 문법 안내