그누보드 최종 수정일 2026-06-19 01:53 조회수 9
대시보드

그누보드

기본 정보

  • 이름: 그누보드 (Gnuboard)
  • 영문명: Gnuboard
  • 분류: 오픈소스 CMS / 게시판 솔루션
  • 개발 언어: PHP
  • 데이터베이스: MySQL, MariaDB
  • 라이선스: GPL
  • 관련 주제: #그누보드 #PHP #CMS #게시판 #웹개발

개요

그누보드는 대한민국에서 개발된 PHP 기반 오픈소스 게시판 및 CMS(Content Management System)이다.

회원관리, 게시판, 포인트, 쪽지, 파일 업로드, 관리자 기능 등을 기본 제공하며, 기업 홈페이지, 커뮤니티, 쇼핑몰, 예약 시스템 등 다양한 웹 서비스 구축에 활용된다.

현재 그누보드5(G5)가 가장 널리 사용되고 있으며, 영카트(Youngcart)와 연동하여 쇼핑몰 기능도 제공할 수 있다.


주요 특징

  • PHP 기반
  • MySQL/MariaDB 지원
  • 오픈소스(GPL)
  • 관리자 페이지 제공
  • 회원 관리 기능
  • 게시판 생성 기능
  • 포인트 시스템
  • 파일 업로드 지원
  • 다양한 스킨 구조 지원
  • 플러그인 및 커스터마이징 용이

기본 구조

Browser

↓

Apache / Nginx

↓

PHP

↓

그누보드

├── 회원관리

├── 게시판

├── 관리자

├── 포인트

├── 쪽지

├── 스킨

└── 플러그인

↓

MySQL / MariaDB

주요 기능

회원관리

  • 회원가입
  • 로그인
  • 아이디 찾기
  • 비밀번호 찾기
  • 회원등급 관리
  • 포인트 지급

게시판

  • 자유게시판
  • 공지사항
  • Q&A
  • 갤러리
  • 자료실
  • FAQ

게시판은 관리자에서 자유롭게 생성할 수 있다.


관리자 페이지

  • 회원관리
  • 게시판관리
  • 포인트관리
  • 접속통계
  • 팝업관리
  • 메뉴관리
  • 환경설정

포인트 시스템

회원 활동에 따라 포인트를 지급하거나 차감할 수 있다.

예시

  • 회원가입
  • 로그인
  • 글쓰기
  • 댓글 작성
  • 추천받기

쪽지 기능

회원 간 내부 메시지 기능을 제공한다.


파일 업로드

게시글에 이미지 및 파일을 첨부할 수 있으며, 업로드 개수와 용량은 관리자 설정으로 제한할 수 있다.


디렉터리 구조

/

├── adm/

├── bbs/

├── skin/

├── mobile/

├── theme/

├── plugin/

├── data/

├── extend/

├── lib/

├── js/

├── img/

└── config.php

주요 폴더 설명

폴더설명
adm관리자 페이지
bbs게시판 기능
skin게시판 스킨
theme테마
plugin플러그인
extend사용자 확장
lib공통 함수
data업로드 파일

데이터베이스 주요 테이블

테이블설명
g5_member회원
g5_board게시판 설정
g5_board_file첨부파일
g5_write_*게시글
g5_point포인트
g5_login로그인 기록
g5_visit방문자 통계
g5_group게시판 그룹

게시판 생성 과정

관리자

↓

게시판 생성

↓

g5_board 등록

↓

g5_write_xxx 생성

↓

게시판 사용

게시판마다 g5_write_게시판명 테이블이 생성된다.


스킨 구조

skin/

└── board/

    └── basic/

        ├── list.skin.php

        ├── view.skin.php

        ├── write.skin.php

        └── style.css

스킨을 수정하여 게시판 UI를 자유롭게 변경할 수 있다.


테마 구조

theme/

└── basic/

    ├── head.php

    ├── tail.php

    ├── index.php

    └── css/

테마를 통해 사이트 전체 디자인을 관리한다.


대표 함수

회원 정보 조회

$member = get_member($mb_id);

SQL 조회

$row = sql_fetch($sql);

SQL 목록

$result = sql_query($sql);

알림창

alert("처리되었습니다.");

리다이렉트

goto_url("/index.php");

이벤트(Hook)

run_event(

    'member_login_check_before',

    $mb_id

);

확장 기능 개발 시 이벤트 시스템을 활용할 수 있다.


주요 활용 분야

  • 커뮤니티
  • 기업 홈페이지
  • 쇼핑몰
  • 예약 시스템
  • ERP 연동
  • 사내 게시판
  • 고객센터
  • Q&A 시스템

장점

  • 국내 사용자층이 많음
  • 설치와 사용이 쉬움
  • 게시판 기능이 강력함
  • 커스터마이징이 자유로움
  • PHP 개발자 접근성이 높음
  • 다양한 플러그인과 스킨 존재

단점

  • 레거시 코드가 일부 존재
  • 대규모 서비스에서는 구조 개선이 필요할 수 있음
  • 기본 UI가 다소 오래된 편
  • 커스터마이징 시 유지보수 전략이 중요함

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • theme 폴더 중심으로 개발
  • extend를 활용해 공통 기능 추가
  • 원본 파일 수정 최소화
  • Prepared Statement 또는 입력값 검증으로 SQL Injection 방지
  • htmlspecialchars()로 XSS 방지
  • 관리자 권한 체크 필수
  • 파일 업로드 시 MIME 타입과 확장자 검증
  • UTF-8(utf8mb4) 사용
  • Slow Query 및 인덱스 최적화 수행
  • Git으로 버전 관리

그누보드와 함께 사용하는 기술


관련 문서


출처

  • SIR 공식 홈페이지
  • 그누보드 GitHub 저장소
  • 그누보드 공식 문서