wellstoryme 캘린더 일정관리
본문
# wellstory_cal
그누보드5에 설치하는 Google Calendar 통합 일정 플러그인입니다. 특정 테마에 의존하지 않습니다.
최대 12개의 구글캘린더를 연결할 수 있습니다.
## 할 수 있는 일
- 오늘 일정, 월간 전체 달력, 지난주·이번 주·다음 주 표시
- 일정이 많은 주의 높이 자동 증가
- 여러 날 일정 막대 표시
- 여러 캘린더 이름·색상 직접 설정
- 전체 공개, 회원 전용, 최고관리자 전용 선택
- iCal 주소를 이용한 JSON 없는 읽기 전용 연결
- Google 서비스 계정을 이용한 비공개 읽기 및 일정 쓰기
- PC와 모바일 반응형 화면
## 주소
- 일정: `/plugin/wellstory_cal/`
- 설정: `/plugin/wellstory_cal/admin.php`
설정 페이지와 일정 작성은 항상 최고관리자만 사용할 수 있습니다.
## 요구사항
- 그누보드5
- PHP cURL
- 서비스 계정 사용 시 PHP OpenSSL
- `data` 폴더 쓰기 권한
============설치 방법================
# wellstory_cal 쉬운 설치 설명서
## 1. 파일 올리기
압축을 풀면 `public_html` 폴더가 있습니다.
그 안의 `plugin/wellstory_cal` 폴더를 서버의 다음 위치에 그대로 올립니다.
```text
그누보드 설치 폴더/plugin/wellstory_cal/
```
기존 테마 파일은 교체하지 않습니다. DB 변경도 없습니다.
## 2. 설정 화면 열기
최고관리자로 로그인한 뒤 브라우저 주소창에 입력합니다.
```text
https://내도메인/plugin/wellstory_cal/admin.php
```
사이트가 `/gn5`에 설치되어 있다면 다음처럼 입력합니다.
```text
https://내도메인/gn5/plugin/wellstory_cal/admin.php
```
## 3. 누가 볼지 정하기
설정 화면의 `공개 범위`에서 선택합니다.
- 전체 공개: 로그인하지 않아도 볼 수 있음
- 로그인 회원만: 그누보드 회원만 볼 수 있음
- 최고관리자만: 설치한 관리자 개인용
일정 화면을 공개해도 설정 변경과 새 일정 작성은 최고관리자만 가능합니다.
## 4-A. 읽기만 할 때 · JSON 불필요
1. Google Calendar에서 연결할 캘린더의 `설정 및 공유`를 엽니다.
2. `캘린더 통합`으로 이동합니다.
3. `iCal 형식의 공개 주소` 또는 `iCal 형식의 비밀 주소`를 복사합니다.
4. 플러그인 설정에서 연결 방식을 `iCal 읽기 전용`으로 선택합니다.
5. 표시 이름, iCal 주소, 색상을 입력하고 저장합니다.
비밀 iCal 주소는 비밀번호처럼 취급해야 합니다. 채팅, 게시글, 화면 캡처에 공개하지 마세요.
## 4-B. 홈페이지에서도 일정을 쓸 때 · JSON 필요
1. Google Cloud에서 프로젝트를 만듭니다.
2. `Google Calendar API`를 사용 설정합니다.
3. 서비스 계정을 만들고 JSON 키를 내려받습니다.
4. 플러그인 설정의 `서비스 계정 JSON`에 등록합니다.
5. 설정 화면에 표시되는 서비스 계정 이메일을 복사합니다.
6. Google Calendar의 `설정 및 공유`에서 그 이메일을 추가합니다.
7. 권한을 `일정 변경`으로 선택합니다.
8. 연결 방식을 `서비스 계정`으로 선택합니다.
9. Calendar ID와 표시 이름, 색상을 입력하고 `쓰기`를 선택합니다.
## 5. 사이트 메뉴에 넣기
그누보드 관리자에서 `환경설정 → 메뉴 설정`으로 들어갑니다.
새 메뉴 링크에 다음 주소를 입력합니다.
```text
/plugin/wellstory_cal/
```
그누보드가 `/gn5`에 설치되어 있으면 다음 주소를 사용합니다.
```text
/gn5/plugin/wellstory_cal/
```
메뉴 이름은 `일정`, `캘린더`, `교회 일정` 등 자유롭게 정할 수 있습니다. 메뉴 자체를 방문자에게 감추는 기능은 사용하는 테마의 메뉴 출력 방식에 따라 설정해야 하며, 플러그인 공개 범위가 실제 접근을 한 번 더 차단합니다.
## 6. 문제가 생길 때
### 날짜와 시간만 나오고 제목이 없음
서비스 계정의 공유 권한을 `모든 일정 세부정보 보기` 또는 `일정 변경`으로 바꿉니다.
### 404 Not Found
Calendar ID와 서비스 계정 공유 여부를 확인합니다.
### iCal을 불러오지 못함
- 주소가 `https://`로 시작하는지 확인합니다.
- 공개 주소를 쓴다면 캘린더 공개 여부를 확인합니다.
- 비밀 주소를 다시 복사해 입력합니다.
- 서버에서 외부 HTTPS 접속이 가능한지 확인합니다.
### 저장이 안 됨
PHP cURL·OpenSSL과 `data` 폴더 쓰기 권한을 확인합니다.
## 보안 안내
서비스 계정 JSON과 비밀 iCal 주소는 `data/wellstory_cal/`에 저장됩니다. 플러그인은 이 폴더에 웹 접근 차단 파일을 생성합니다. Nginx처럼 `.htaccess`를 사용하지 않는 서버는 서버 관리자에게 `data/wellstory_cal`의 웹 접근 차단을 요청하세요.
첨부파일
- public_html.zip (23.3K) 0회 다운로드 | DATE : 2026-09-15 14:58:19

daet24님의 댓글
혹시 ·*.JSON 키를 구글에서 다운 받으셨을까요? 그걸 다운 받아서 설치해야 활성화 될겁니다.
===================
4-B. 홈페이지에서도 일정을 쓸 때 · JSON 필요
1. Google Cloud에서 프로젝트를 만듭니다.
2. `Google Calendar API`를 사용 설정합니다.
3. 서비스 계정을 만들고 JSON 키를 내려받습니다.
4. 플러그인 설정의 `서비스 계정 JSON`에 등록합니다.
5. 설정 화면에 표시되는 서비스 계정 이메일을 복사합니다.
6. Google Calendar의 `설정 및 공유`에서 그 이메일을 추가합니다.
7. 권한을 `일정 변경`으로 선택합니다.
8. 연결 방식을 `서비스 계정`으로 선택합니다.
9. Calendar ID와 표시 이름, 색상을 입력하고 `쓰기`를 선택합니다.