복잡한 그누보드, 어떻게 쉽게 파악할 수 있을까?
그누보드는 국내에서 널리 쓰이는 오픈소스 게시판 솔루션으로, 구조가 체계적이지만 처음 접하는 사람에게는 다소 어렵게 느껴질 수 있습니다.
이 글에서는 그누보드의 전체 구조를 직관적으로 파악하는 방법과 함께 파일 흐름, 디렉토리 구조, 그리고 페이지 로딩 과정 등을
쉽고 명확하게 설명드립니다.
디렉토리 구조부터 이해하자
그누보드의 핵심은 디렉토리 구조입니다.
가장 기본적인 디렉토리는 아래와 같이 구성되어 있습니다.
디렉토리 설명
bbs/ | 게시판 관련 파일이 집중된 핵심 디렉토리 |
skin/ | 사용자 인터페이스 템플릿 (스킨) 폴더 |
theme/ | 테마 기반 전체 UI 변경 가능 폴더 |
lib/ | 함수, 라이브러리 등 공통 기능 포함 |
data/ | 업로드 파일, 설정 값 저장 위치 |
plugin/ | 확장 기능 추가 플러그인 위치 |
핵심: 각 디렉토리의 역할을 파악하면 전체 흐름이 자연스럽게 연결됩니다.
페이지는 어떻게 실행될까? (페이지 로딩 흐름)
"게시판 글을 클릭하면 무슨 일이 벌어질까?"
한 예로 read.php를 클릭했을 때의 흐름을 보겠습니다.
1단계: /bbs/read.php 실행
2단계: lib/common.lib.php 포함
3단계: 게시글 정보 호출 (DB에서 쿼리 실행)
4단계: skin/board/스킨명/read.skin.php 호출
5단계: 화면에 출력
중요: 모든 실행 흐름은 lib/common.php → 개별 bbs 파일 → skin 순으로 연결됩니다.
설정 파일은 어디서 관리될까?
그누보드 설정은 크게 두 곳에서 관리됩니다.
파일 역할
config.php | 사이트 전체 환경설정 |
common.php | 전역 함수 및 공통 기능 포함 |
이 두 파일은 모든 페이지에 자동 포함되며,
include_once 또는 require_once 형태로 연결되어 동작합니다.
테이블 구조와 DB 연동 흐름 이해하기
그누보드의 데이터는 대부분 g5_로 시작하는 테이블에 저장됩니다.
예시로 게시판 글 데이터를 보면 아래와 같습니다.
테이블명 역할
g5_board | 게시판 설정 정보 저장 |
g5_write_게시판ID | 게시판 실제 글 저장 |
g5_member | 회원 정보 |
핵심: 글은 g5_write_게시판ID에서 읽고, 설정은 g5_board에서 불러옵니다.
관리자 페이지는 어떻게 구성될까?
/adm/ 폴더 아래에 있는 admin.head.php, admin.menu.php 등
관리자 화면은 별도로 구성되어 있고, 로그인 여부에 따라 접근이 제한됩니다.
관리자는 일반 페이지와 별도로 다음과 같이 구성됩니다.
- /adm/index.php → 관리자 메인
- admin.head.php → 상단 공통 헤더
- 메뉴 클릭 → 개별 관리 페이지 호출
중요: 관리자 영역도 결국 같은 구조 (config + lib + bbs + skin)를 따릅니다.
그누보드 구조 학습을 위한 추천 순서
초보자라면 아래 순서대로 구조를 분석하는 것이 효율적입니다.
단계 학습 포인트
1단계 | 디렉토리 구조 전체 파악 |
2단계 | config.php, common.php 코드 분석 |
3단계 | bbs/ 내부 실행 흐름 이해 |
4단계 | DB 테이블과 연동 구조 확인 |
5단계 | skin, theme의 시각적 출력 방식 익히기 |
핵심: 처음부터 skin을 보기보다 bbs 실행 흐름을 먼저 파악하세요.
짧은 상황극으로 정리해보기
"게시판 글을 보고 싶은 사용자 A"
A: 게시판 글을 클릭한다
→ 서버는 bbs/read.php를 실행
→ 내부에서 게시글 번호로 DB 조회
→ skin/board/basic/read.skin.php 파일을 통해 내용 출력
→ 사용자 A는 완성된 화면을 본다
정리: 결국 모든 흐름은 php 파일과 스킨이 함께 작동하는 구조입니다.
구조 파악 후 어디서 커스터마이징할까?
디자인 변경은 skin/, 기능 변경은 bbs/ 또는 lib/에서 이루어집니다.
단, 시스템에 영향을 주는 common.php나 config.php는 백업 후 수정해야 안전합니다.
목적 수정 위치
디자인 변경 | skin/board/스킨명/파일들 |
기능 수정 | bbs/ 내부 php 또는 lib/ 함수 |
관리자 변경 | adm/ 내부 php 파일들 |
필수: 구조를 제대로 이해하면 커스터마이징도 훨씬 쉬워집니다.
'IT' 카테고리의 다른 글
처음 시작하는 그누보드, 완벽 사용 가이드 (1) | 2025.05.09 |
---|---|
그누보드 테마 설치와 적용, 처음부터 끝까지 따라하기 (0) | 2025.05.06 |
그누보드 스킨 설치부터 적용까지 한 번에 끝내는 방법 (1) | 2025.05.05 |
상대방 위치, 구글지도로 실시간 확인하는 쉬운 방법 (0) | 2025.05.04 |
초보자를 위한 C# IF ELSE 조건문 완전 정복 가이드 (0) | 2025.05.03 |