정정홍

그누보드7 7.1.0 릴리즈 안내

· 2026-10-10 (토) 22:22:56 · 220 · 7
안녕하세요.

금일 그누보드7 코어 7.1.0 버전을 릴리즈하였습니다.

로드맵상 8월, 9월 릴리즈 예정이었던 기능들 대부분이 이번 버전에 포함되었습니다. 일정이 많이 지연된 점 양해 말씀드립니다.

7.1.0 버전에 수반되는 번들 확장들도 함께 업데이트되었으며, 인증 앱(TOTP) 플러그인과 수출입은행 환율 플러그인이 새로 추가되었습니다.

주요 변경 사항은 아래와 같습니다.


1. 방문자 통계

- GA 등 외부 분석 도구 없이 코어에서 직접 방문자 통계를 수집합니다. 방문 데이터는 사이트 안에만 저장됩니다.
- 관리자 > 방문자 통계에서 방문자 추이, 인기 페이지, 유입 경로, 브라우저/기기, 지역, 사이트 내 검색어, 요일/시간대별 이용 패턴, 실시간 접속자, 봇 방문 등을 확인할 수 있습니다.
- 개인정보 수집 수준은 IP 저장, 동의 연동, 익명 중에서 선택할 수 있습니다.
- 통계 목록과 추이는 CSV 로 내려받을 수 있고, 주간/월간 요약 메일도 받아보실 수 있습니다.


2. 로그인 보안

- 환경설정 > 보안에 비밀번호 정책이 추가되었습니다. 작성 규칙, 최근 비밀번호 재사용 금지, 사용 기간 만료를 각각 설정할 수 있습니다. (기본값은 모두 꺼져 있습니다)
- 인증 앱(OTP)으로 2단계 인증을 받을 수 있습니다. 인증 앱 플러그인을 설치하면 Google Authenticator, Authy 등에서 만든 6자리 코드로 로그인합니다. 앱을 등록하지 않은 회원은 기존처럼 이메일로 인증번호를 받습니다.
- 2단계 인증 적용 범위를 전체 회원/관리자만 중에서 선택할 수 있습니다.
- 관리자 화면에 접근할 수 있는 IP 를 지정할 수 있습니다.
- 비밀번호를 변경하면 다른 기기의 로그인이 해제됩니다.


3. 개인정보 보유기간 / 휴면 계정

- 보유기간이 지난 탈퇴 회원 정보를 자동으로 파기할 수 있습니다.
- 장기 미접속 회원을 휴면으로 전환할 수 있습니다. 전환 전에 안내 메일을 먼저 보내고, 회원이 로그인하면 바로 해제됩니다. 휴면이 오래된 계정은 자동 탈퇴 처리도 설정할 수 있습니다.
- 처리 대상 인원과 명단을 미리 확인할 수 있고, 새벽 배치를 기다리지 않고 관리자 화면에서 바로 실행할 수도 있습니다.
- 이커머스(종결 주문), 게시판(작성 IP, 비회원 작성자 정보)도 각 모듈 환경설정에서 보유기간 처리를 설정할 수 있습니다. 예를 들어 주문내역 최대 보유기간을 5년으로 설정하면 5년이 지난 주문내역은 자동 마스킹 또는 파기됩니다. (환경설정에서 부여 가능)
- 활동 로그 보관 기간을 365일에서 3650일 사이로 지정할 수 있습니다.


4. 회원 / 권한 / 알림 관리

- 회원 목록 상세검색 조건이 늘어났고, 여러 회원에게 역할을 한 번에 추가/제거할 수 있습니다.
- 역할 수정 화면에서 접근 가능한 관리자 메뉴를 한 번에 지정할 수 있습니다.
- 관리자 화면에 회원 알림함이 추가되어 회원이 실제로 받은 알림과 읽음 여부를 확인할 수 있습니다.
- 알림 템플릿에 수신 역할을 여러 개 지정할 수 있고, 메일 본문은 서식 편집기로 작성합니다.
- 본인인증 메일 문구는 환경설정 > 알림 설정에서 다른 알림과 함께 관리합니다.


5. 확장 관리 / 레이아웃

- 모듈/플러그인/템플릿/언어팩 관리 화면에 갤러리 보기가 추가되었고, 확장별 아이콘이 표시됩니다.
- 수정 유지로 업데이트할 때 운영자가 수정한 부분은 그대로 두고, 수정하지 않은 부분에는 새 버전의 변경 사항을 반영합니다.
- 레이아웃을 HTML 에 가까운 .g7.html 형식으로 작성할 수 있습니다. 관리자 레이아웃 코드 편집기도 이 형식으로 열립니다. 기존 JSON 레이아웃은 그대로 사용하실 수 있습니다.


6. 이커머스 모듈 1.3.0

- 교환/반품/취소/환불 신청을 관리자 클레임 관리에서 한 곳에서 처리합니다.
- 구매자(회원/비회원)가 주문 상세에서 직접 교환/반품/취소/환불을 신청할 수 있습니다.
- 교환 차액 추가결제, 상품별 회수/재발송 운송장 관리, 선교환(새 상품을 먼저 발송)을 지원합니다.
- 관리자 화면에서 회원의 찜, 장바구니, 배송지, 상품문의를 조회할 수 있습니다.
- 수출입은행 환율 플러그인과 연동하여 환율을 자동으로 갱신할 수 있습니다.


7. 게시판 모듈 1.2.0

- 글/댓글에 추천/비추천 반응을 남길 수 있습니다. 반응 유형과 아이콘은 게시판 환경설정에서 관리합니다. 반응 유형을 추가하고 순서를 변경할 수도 있습니다.
- 게시글 스크랩 기능이 추가되었습니다.
- 관리자 게시글 목록에서 여러 글을 한 번에 삭제/블라인드/복구할 수 있습니다.


8. 보안 취약점 조치

이번 버전에는 KISA 를 통해 제보된 보안 취약점 15건에 대한 조치가 포함되어 있습니다. 운영 중인 사이트는 가급적 빠르게 업데이트해 주시기 바랍니다.


[업데이트 전 확인 사항]

- 7.0.x 에서 업데이트하시는 경우 아래 업그레이드 안내를 먼저 확인 부탁드립니다. 코어 업데이트 후 번들 확장 일괄 업데이트 여부를 묻는 단계가 나오는데, 반드시 승인하셔야 합니다.
- .env 의 APP_URL 이 실제 사이트 주소와 같은지 확인 부탁드립니다. 이번 버전부터 운영 환경에서는 APP_URL 도메인이 아닌 주소로 들어온 요청을 받지 않습니다. 다른 도메인으로도 같은 사이트를 운영하고 계시다면 TRUSTED_HOSTS 에 추가해 주셔야 합니다.
- 리버스 프록시나 CDN 뒤에서 운영 중이시라면 TRUSTED_PROXIES 를 설정해 주셔야 합니다. 설정하지 않으면 모든 방문자가 같은 IP 로 인식되어 IP 접근 제한과 방문자 통계가 정상 동작하지 않습니다.
- 방문자 통계는 업데이트 직후부터 IP 저장 모드로 수집을 시작합니다. 원하지 않으시면 환경설정의 방문자 통계 탭에서 끄거나 수집 모드를 변경해 주시기 바랍니다.
- 스케쥴러 작업(cron)이 등록되어 있지 않다면 등록을 권장드립니다. 휴면/보유기간 처리, 비밀번호 만료 안내, 방문자 통계 집계 등이 스케쥴 작업으로 동작합니다.
 
이번 버전에 제보와 제안을 주신 분들께 감사드립니다.

업데이트 후 사용하시면서 문제가 있으면 GitHub 이슈로 등록 부탁드립니다.

감사합니다.


그누보드7 로드맵: https://github.com/gnuboard/g7/discussions/136
총 3명이 반응했습니다
|

댓글 7개

우와 엄청많이 바뀌었군요 수고하셨습니다~!!
코어구조와 확장관리에 상당한 변화가 있군요.
실제 업데이트를 진행해 보니 변경 범위가 크다는 것을 체감했습니다.
특히 기존 JSON 레이아웃과 새로운 마크업 소스 간의 하위 호환성은 계속 중요하게 다뤄져야 할 부분이라는 생각입니다.

수고 많으셨습니다.
이전 버젼까지는 잘 설치가 되었었는데..
안녕하세요. 정확한 증상을 알려주시면 저희쪽에서 확인해보겠습니다.
(신규 설치 인지, 업데이트인지, 호스팅/단일 서버 여부 등)
신규 설치, 업데이트 모두 설치 초기부터 안됩니다.
업데이터 후 먹통이고, 신규 설치는
PHP Warning:  require(/volume1/web/g7/vendor/autoload.php): Failed to open stream: Permission denied in /volume1/web/g7/artisan on line 10

Warning: require(/volume1/web/g7/vendor/autoload.php): Failed to open stream: Permission denied in /volume1/web/g7/artisan on line 10
PHP Fatal error:  Uncaught Error: Failed opening required '/volume1/web/g7/vendor/autoload.php' (include_path='.:/usr/share/pear') in /volume1/web/g7/artisan:10
Stack trace:
#0 {main}
  thrown in /volume1/web/g7/artisan on line 10

Fatal error: Uncaught Error: Failed opening required '/volume1/web/g7/vendor/autoload.php' (include_path='.:/usr/share/pear') in /volume1/web/g7/artisan:10
Stack trace:
#0 {main}
  thrown in /volume1/web/g7/artisan on line 10
어렵네요..
해당 오류는 vendor/autoload.php 파일은 존재하나 명령을 실행한 계정에 그 파일을 읽을 권한이 없어서 발생하는 오류로 보입니다.

만약 SSH 로 접속해 composer install 을 직접 실행한 뒤 웹 설치 화면으로 들어가면, vendor 폴더 안의 파일은 SSH 계정 소유로 만들어집니다. 그런데 설치 화면은 웹 서버 계정으로 동작합니다. 이때 SSH 계정의 권한 설정(umask)이 엄격하면, 웹 서버가 파일 읽기에 실패하여 말씀하신 증상이 발생할 수 있습니다.
(그누보드7 은 설치 과정에서 vendor를 자동 설치하기 때문에 설치 전 composer install을 하실 필요는 없습니다)

같은 조건이면 이전 버전(7.0.x)에서도 동일하게 발생하는 것을 확인했습니다. 그래서 7.1.0 자체 문제라기보다는 서버의 계정/권한 설정 영향으로 보여집니다.

번거로우시더라도 아래 부분을 확인 부탁드립니다.

1. 오류가 난 곳이 설치 화면(브라우저)인지, SSH 에서 직접 명령을 실행한 터미널인지
2. 그누보드 폴더(/volume1/web/g7)에서 아래 명령을 실행한 결과

$ whoami
$ ls -ld vendor vendor/composer
# ls -l artisan vendor/autoload.php

3. 업데이트를 어떻게 하셨는지(php artisan core:update 실행 여부, sudo 사용 여부), 그리고 업데이트 뒤 화면이 어떻게 보이는지(503 오류, 빈 화면 등)

먼저 시도해 보실 수 있는 방법
vendor 폴더에 읽기 권한을 주는 방법입니다. 그누보드 폴더에서 아래 명령을 실행해 주세요.
$ sudo chmod -R a+rX vendor

또는 SSH 명령을 웹 서버 계정으로 실행하는 방법입니다. 시놀로지는 보통 http 계정입니다.
(www-data, nobody 등 웹서버 실행 유저는 서버마다 다를 수 있으니 웹서버 실행 유저 확인 후 진행 부탁드립니다)
$ sudo -u http php artisan ...

위 결과를 알려 주시면 재확인해보도록 하겠습니다.

감사합니다.
휴일에도 응대해 주시는 모습에 노트북을 벗 삼아 지내시는 듯한 모습이 그려집니다.
늘 애써주셔서 감사하고 응원합니다! 👏👏👏
댓글을 작성하시려면 로그인이 필요합니다.

그누토크

42건

그누보드에 대한 모든 것

+
제목 글쓴이 날짜 조회
09-15 조회 578
10-14 조회 156
10-12 조회 88
10-12 조회 153
10-11 조회 142
10-10 조회 221
10-06 조회 259
10-04 조회 229
10-03 조회 194
10-02 조회 333
10-02 조회 73
09-30 조회 178
09-29 조회 260
09-24 조회 235
09-22 조회 303
09-20 조회 268
09-04 조회 738
08-19 조회 447
08-16 조회 226
08-14 조회 374
08-12 조회 299
08-12 조회 303
08-11 조회 162
08-10 조회 238
08-06 조회 373
08-05 조회 160
08-05 조회 223
08-05 조회 223
08-05 조회 137
08-04 조회 188
08-03 조회 231