From c70260c8cf22d989a003b46a49903e2acb150d17 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 25 Aug 2026 14:36:47 +0900 Subject: [PATCH 1/5] docs: add project README --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/README.md b/README.md index e69de29bb..dbbe6ddf7 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,35 @@ +# 그누보드5 + +그누보드5는 PHP와 MySQL 또는 MariaDB 기반의 오픈소스 CMS입니다. 게시판과 회원 관리 기능을 제공하며 쇼핑몰 솔루션 영카트를 포함합니다. + +## 다운로드 + +- [GitHub 저장소](https://github.com/gnuboard/gnuboard5)에서 소스 코드를 받을 수 있습니다. +- [SIR 그누보드5 다운로드](https://sir.kr/boards/g5_pds)에서 배포본을 받을 수 있습니다. + +## 버전 확인 + +현재 소스 코드의 버전은 [`version.php`](version.php)에서 확인할 수 있습니다. + +## 설치 + +1. 내려받은 소스 코드를 웹 서버의 서비스 경로에 배치합니다. +2. 브라우저에서 해당 주소로 접속하여 설치 화면을 엽니다. +3. 화면의 안내에 따라 데이터 디렉터리를 준비하고 필요한 권한을 설정합니다. +4. 라이선스를 확인한 뒤 데이터베이스와 최고관리자 정보를 입력하여 설치합니다. + +설치 환경과 자세한 절차는 [그누보드5 공식 매뉴얼](https://sir.kr/manuals/g5/1)을 확인하십시오. + +> 기존 사이트에 재설치하면 데이터가 삭제될 수 있습니다. 진행하기 전에 파일과 데이터베이스를 백업하십시오. + +## 문서 및 지원 + +- [그누보드5 공식 페이지](https://sir.kr/main/g5/) +- [그누보드5 공식 매뉴얼](https://sir.kr/manuals/g5/1) +- [그누보드5 Q&A](https://sir.kr/questions?s_tag=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5) + +보안 취약점 신고 방법은 [`SECURITY.md`](SECURITY.md)를 확인하십시오. + +## 라이선스 + +라이선스 전문과 적용 조건은 [`LICENSE.txt`](LICENSE.txt)를 확인하십시오. From e475219115e8367de53c23c3fa3f7020a6b3ed45 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 25 Aug 2026 15:02:25 +0900 Subject: [PATCH 2/5] docs: expand installation and security guidance --- README.md | 38 +++++++++++++++++++++++++++----------- SECURITY.md | 6 ++++-- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index dbbe6ddf7..ac2f5ff13 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,39 @@ 그누보드5는 PHP와 MySQL 또는 MariaDB 기반의 오픈소스 CMS입니다. 게시판과 회원 관리 기능을 제공하며 쇼핑몰 솔루션 영카트를 포함합니다. -## 다운로드 - -- [GitHub 저장소](https://github.com/gnuboard/gnuboard5)에서 소스 코드를 받을 수 있습니다. -- [SIR 그누보드5 다운로드](https://sir.kr/boards/g5_pds)에서 배포본을 받을 수 있습니다. - ## 버전 확인 현재 소스 코드의 버전은 [`version.php`](version.php)에서 확인할 수 있습니다. -## 설치 +## 다운로드 및 설치 -1. 내려받은 소스 코드를 웹 서버의 서비스 경로에 배치합니다. -2. 브라우저에서 해당 주소로 접속하여 설치 화면을 엽니다. -3. 화면의 안내에 따라 데이터 디렉터리를 준비하고 필요한 권한을 설정합니다. -4. 라이선스를 확인한 뒤 데이터베이스와 최고관리자 정보를 입력하여 설치합니다. +설치하기 전에 웹 서버, PHP, 데이터베이스 등 필요한 환경을 [그누보드5 공식 매뉴얼](https://sir.kr/manuals/g5/1)에서 확인하십시오. -설치 환경과 자세한 절차는 [그누보드5 공식 매뉴얼](https://sir.kr/manuals/g5/1)을 확인하십시오. +### Git을 이용하는 방법 + +Git을 사용할 수 있는 서버에서는 [GitHub 저장소](https://github.com/gnuboard/gnuboard5)를 복제하여 설치할 수 있습니다. + +```bash +git clone https://github.com/gnuboard/gnuboard5.git +cd gnuboard5 +``` + +복제한 `gnuboard5` 디렉터리를 웹 서버의 서비스 경로로 사용하거나, 서비스 경로 안에 소스 전체를 배치합니다. 이후 아래의 공통 설치 절차를 진행합니다. + +### 압축파일을 이용하는 방법 + +1. [SIR 그누보드5 다운로드](https://sir.kr/boards/g5_pds)에서 설치할 버전의 배포본을 내려받습니다. +2. 내려받은 압축파일을 풉니다. +3. 압축을 푼 디렉터리의 파일과 하위 디렉터리를 FTP, SFTP 등의 방법으로 웹 서버의 서비스 경로에 업로드합니다. +4. 업로드가 끝나면 아래의 공통 설치 절차를 진행합니다. + +### 공통 설치 절차 + +1. 브라우저에서 소스를 배치한 주소로 접속하여 설치 화면을 엽니다. +2. `data` 디렉터리를 만들라는 안내가 표시되면 `config.php`가 있는 디렉터리에 `data`를 만들고 웹 서버가 쓸 수 있도록 권한을 설정합니다. 공식 매뉴얼에서는 `707` 권한을 예시로 사용합니다. +3. 라이선스 내용을 확인하고 동의한 뒤 설치를 계속합니다. +4. MySQL 또는 MariaDB 접속 정보와 최고관리자 정보를 입력합니다. +5. 설치 완료 화면을 확인한 뒤 생성한 최고관리자 계정으로 로그인합니다. > 기존 사이트에 재설치하면 데이터가 삭제될 수 있습니다. 진행하기 전에 파일과 데이터베이스를 백업하십시오. diff --git a/SECURITY.md b/SECURITY.md index b720b9b3d..1fc08be26 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,3 +1,5 @@ -# Gnuboard5 Security Policy +# 그누보드5 보안 정책 -Please ask [https://sir.kr/security/.](https://sir.kr/co_qa) +그누보드5에서 보안 취약점을 발견한 경우 악용 가능한 상세 내용을 공개 GitHub 이슈에 게시하지 마십시오. + +취약점 정보와 재현 방법은 [SIR 보안 취약점 신고 게시판](https://sir.kr/boards/co_qa)을 통해 제보해 주십시오. From 7e42eb78e47707612e85608bd59ffe34a4401d61 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 25 Aug 2026 15:05:35 +0900 Subject: [PATCH 3/5] =?UTF-8?q?docs:=20=ED=95=9C=EA=B5=AD=EC=96=B4=20?= =?UTF-8?q?=EB=AC=B8=EC=84=9C=EC=99=80=20=EC=BB=A4=EB=B0=8B=20=EB=A9=94?= =?UTF-8?q?=EC=8B=9C=EC=A7=80=20=EC=9E=91=EC=84=B1=20=EA=B7=9C=EC=B9=99=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..8207863b1 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,43 @@ +# 저장소 작업 지침 + +## 적용 범위 + +이 문서는 저장소 루트와 모든 하위 디렉터리에 적용한다. + +## 문서 작성 언어 + +- README, 보안 정책, 설치 안내, 개발 가이드 등 저장소 문서는 원칙적으로 한국어로 작성한다. +- 파일명, 코드 식별자, 명령어, API 명칭, 설정값과 외부 서비스의 고유 명칭은 원문을 유지한다. +- 영문 문서나 번역본이 별도로 필요한 경우에는 해당 작업에서 명시적으로 요청된 범위에 한해 추가한다. + +## 커밋 메시지 + +- 커밋 메시지는 한국어로 작성한다. +- 제목은 `<접두어>: <변경 내용>` 형식을 사용한다. +- 접두어는 아래 권장 목록에서 변경 목적에 가장 가까운 항목을 선택한다. +- 변경 대상을 포함해 무엇을 왜 변경했는지 알 수 있도록 구체적으로 작성한다. +- `수정`, `업데이트`, `작업`처럼 변경 내용을 식별하기 어려운 표현만 사용하지 않는다. +- 하나의 커밋에는 가능한 한 하나의 목적에 해당하는 변경만 포함한다. +- 제목만으로 설명이 부족하면 본문에 변경 이유, 영향 범위와 검증 방법을 추가한다. +- 관련 이슈가 있으면 커밋 본문이나 꼬리말에 이슈 번호를 기록한다. + +### 권장 접두어 + +- `feat`: 새로운 기능 추가 +- `fix`: 버그 또는 잘못된 동작 수정 +- `security`: 보안 취약점 수정이나 보안 강화 +- `docs`: 문서 추가 또는 변경 +- `refactor`: 동작 변경 없는 코드 구조 개선 +- `perf`: 성능 개선 +- `test`: 테스트 추가 또는 변경 +- `build`: 빌드 시스템이나 의존성 변경 +- `ci`: CI/CD 설정이나 자동화 변경 +- `chore`: 기능과 직접 관련 없는 유지보수 작업 +- `revert`: 이전 변경 되돌리기 + +### 작성 예시 + +- `docs: Git과 압축파일 설치 절차를 구분해 README에 안내` +- `fix: 품목 일부 취소 시 PG 취소금액 불일치 수정` +- `security: 상품 정렬값 화이트리스트 검증으로 SQL 삽입 차단` +- `refactor: 객체 캐시의 유형별 저장 키 생성 로직 분리` From 9659cceae66fc0b48ea59258ca0bd6f6a6b37851 Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 25 Aug 2026 15:15:00 +0900 Subject: [PATCH 4/5] =?UTF-8?q?docs:=20README=EC=97=90=20PHP=C2=B7DB?= =?UTF-8?q?=EC=99=80=20=EA=B8=B0=EB=8A=A5=EB=B3=84=20=EC=84=A4=EC=B9=98=20?= =?UTF-8?q?=EC=9A=94=EA=B5=AC=EC=82=AC=ED=95=AD=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ac2f5ff13..2619a8214 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,32 @@ ## 다운로드 및 설치 -설치하기 전에 웹 서버, PHP, 데이터베이스 등 필요한 환경을 [그누보드5 공식 매뉴얼](https://sir.kr/manuals/g5/1)에서 확인하십시오. +### 설치 환경 + +#### 기본 요구사항 + +- PHP 5.2.17 이상 + - 최소 요구 버전은 PHP 5.2.17이며 PHP 7.2 이상을 권장합니다. +- MySQL 5.0 이상 또는 MySQL 5.0 이상의 기능을 지원하는 MariaDB +- Linux 호환 운영체제 + +#### 필수 라이브러리 + +- GD Library 2.0 이상 +- iconv + +#### 추가로 필요한 모듈 및 프로그램 + +- 글을 SNS로 복사하는 기능 사용 시 + - cURL + - JSON +- 영카트5 모바일 결제 사용 시 + - SOAP + - OpenSSL + +> SIR에서 직접 제작한 그누보드5 및 호환 프로그램은 Linux에서만 개발하고 테스트했습니다. 다른 운영체제에서의 정상 동작은 보장하지 않습니다. + +설치 환경에 관한 자세한 내용은 [그누보드5 공식 매뉴얼](https://sir.kr/manuals/g5/1)을 확인하십시오. ### Git을 이용하는 방법 From 120d2960f26b8e11f07202c57b6c81ee333e28ad Mon Sep 17 00:00:00 2001 From: whitedot Date: Tue, 25 Aug 2026 15:21:10 +0900 Subject: [PATCH 5/5] =?UTF-8?q?docs:=20=EC=95=95=EC=B6=95=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=84=A4=EC=B9=98=EC=97=90=20GitHub=20Releases=20?= =?UTF-8?q?=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=20=EA=B2=BD=EB=A1=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2619a8214..ba0467ded 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,9 @@ cd gnuboard5 ### 압축파일을 이용하는 방법 -1. [SIR 그누보드5 다운로드](https://sir.kr/boards/g5_pds)에서 설치할 버전의 배포본을 내려받습니다. +1. 다음 중 한 곳에서 설치할 버전의 압축파일을 내려받습니다. + - [GitHub Releases](https://github.com/gnuboard/gnuboard5/releases)에서 원하는 버전을 선택하고 `Source code (zip)`을 내려받습니다. `*.patch.zip` 파일은 기존 설치본을 업데이트하기 위한 패치이므로 신규 설치에는 사용하지 않습니다. + - [SIR 그누보드5 다운로드](https://sir.kr/boards/g5_pds)에서 원하는 버전의 배포본을 내려받습니다. 2. 내려받은 압축파일을 풉니다. 3. 압축을 푼 디렉터리의 파일과 하위 디렉터리를 FTP, SFTP 등의 방법으로 웹 서버의 서비스 경로에 업로드합니다. 4. 업로드가 끝나면 아래의 공통 설치 절차를 진행합니다.