📋 시스템 개요
그룹웨어 메신저 시스템은 그누보드 기반의 실시간 메시징 솔루션입니다. 웹 기반으로 동작하며, 직관적인 사용자 인터페이스와 강력한 관리 기능을 제공합니다.
• 실시간 메시지 전송 및 수신
• 다중 대화창 지원
• 파일 첨부 기능
• 관리자 통계 및 모니터링
• 반응형 웹 디자인
✨ 주요 기능
⚙️ 시스템 요구사항
구분 | 최소 요구사항 | 권장 사양 |
---|---|---|
PHP 버전 | PHP 7.0 이상 | PHP 8.0 이상 |
MySQL 버전 | MySQL 5.6 이상 | MySQL 8.0 이상 |
웹서버 | Apache 2.4 / Nginx 1.14 | Apache 2.4 / Nginx 1.18 |
그누보드 | 그누보드 5.4 이상 | 그누보드 5.5 이상 |
디스크 공간 | 최소 100MB | 1GB 이상 |
브라우저 | Chrome 70+, Firefox 65+, Safari 12+ | 최신 브라우저 권장 |
🔧 설치 가이드
• 그누보드가 먼저 설치되어 있어야 합니다
• 관리자 권한으로 설치해야 합니다
• 설치 중 기존 데이터가 손실될 수 있으니 백업을 권장합니다
📋 설치 단계
메신저 시스템 파일들을 그누보드 루트 디렉토리의 messenger 폴더에 업로드합니다.
업로드 폴더에 쓰기 권한을 부여합니다.
웹 브라우저에서 install.php에 접속하여 설치를 진행합니다.
설치 스크립트가 자동으로 필요한 데이터베이스 테이블을 생성합니다.
- messenger_messages: 메시지 저장
- messenger_online: 온라인 상태 관리
- messenger_files: 첨부파일 정보
설치가 완료되면 install.php 파일을 삭제하고 메신저 시스템을 사용합니다.
⚙️ 환경 설정
config.php 파일에서 메신저 시스템의 각종 설정을 변경할 수 있습니다.
🗃️ 데이터베이스 구조
테이블명 | 용도 | 주요 필드 |
---|---|---|
messenger_messages | 메시지 저장 | msg_id, sender_id, receiver_id, message, send_time |
messenger_online | 온라인 상태 | user_id, last_seen, status |
messenger_files | 첨부파일 정보 | file_id, original_name, file_path, file_size |
messenger_blocked | 차단 목록 | blocker_id, blocked_id, block_time |
📱 사용자 가이드
메신저 시스템은 직관적이고 사용하기 쉬운 인터페이스를 제공합니다. 로그인한 모든 사용자가 실시간으로 메시지를 주고받을 수 있습니다.
💬 기본 사용법
그누보드에 로그인한 후 메신저 메뉴 또는 직접 URL로 접속합니다.
메인 화면에서 대화 가능한 사용자 목록을 확인할 수 있습니다.
- 🟢 온라인: 현재 접속 중인 사용자
- ⚪ 오프라인: 접속하지 않은 사용자
- 👑 관리자 표시
- 읽지 않은 메시지 수 표시
사용자 목록에서 "💬 대화하기" 버튼을 클릭하면 새 대화창이 열립니다.
하단 입력창에 메시지를 입력하고 Enter 키 또는 전송 버튼을 클릭합니다.
• Enter: 메시지 전송
• Shift + Enter: 줄바꿈
• ESC: 대화창 닫기
🚀 고급 기능
다중 대화창 관리
여러 사용자와 동시에 대화할 수 있는 강력한 기능입니다:
- 드래그 이동: 대화창 헤더를 드래그하여 위치 이동
- 크기 조절: 모서리를 드래그하여 창 크기 변경
- 최소화: "—" 버튼으로 창 최소화
- 창 관리: 우하단 관리자 UI로 일괄 관리
• Ctrl + T: 모든 창 타일링
• Ctrl + C: 모든 창 중앙 정렬
• Ctrl + Shift + C: 모든 창 닫기
• Ctrl + 1~9: 특정 창으로 이동
실시간 알림
새 메시지 도착 시 다양한 방식으로 알림을 제공합니다:
- 브라우저 푸시 알림 (권한 허용 필요)
- 소리 알림
- 창 깜빡임 효과
- 읽지 않은 메시지 배지
📎 파일 공유
다양한 방법으로 파일을 공유할 수 있습니다:
- 📎 버튼 클릭: 파일 선택 다이얼로그 열기
- 드래그 & 드롭: 파일을 채팅창에 끌어다 놓기
- Ctrl + V: 클립보드 이미지 붙여넣기
분류 | 지원 형식 | 최대 크기 |
---|---|---|
이미지 | jpg, png, gif, webp, bmp | 10MB |
문서 | pdf, doc, docx, xls, xlsx, ppt, pptx, txt | 10MB |
압축파일 | zip, rar, 7z | 10MB |
미디어 | mp3, mp4, avi, mov | 10MB |
- 이미지: 클릭 시 확대보기 (이미지 뷰어)
- 기타 파일: 클릭 시 즉시 다운로드
- 파일 정보: 파일명, 크기, 업로드 시간 표시
👑 관리자 가이드
관리자는 메신저 시스템의 전반적인 관리와 모니터링을 할 수 있습니다. 레벨 10 이상의 사용자에게 관리자 권한이 부여됩니다.
🛠️ 관리 패널
관리자 패널은 다음 URL로 접속할 수 있습니다:
주요 관리 기능
👥 사용자 관리
온라인 사용자 모니터링
실시간으로 접속 중인 사용자들을 모니터링할 수 있습니다:
- 사용자 ID 및 이름
- 접속 상태 (온라인/오프라인)
- 마지막 활동 시간
- 상태 메시지
활성 사용자 분석
메시지 전송량을 기준으로 활성 사용자를 분석합니다:
- 메시지 전송 수 기준 TOP 10
- 첫 메시지 및 마지막 메시지 시간
- 사용자별 활동 패턴 분석
사용자 권한 관리
레벨 | 권한 | 기능 |
---|---|---|
1 이하 | 접근 불가 | 메신저 사용 불가 |
2~9 | 일반 사용자 | 메시지 송수신, 파일 공유 |
10 이상 | 관리자 | 모든 기능 + 관리 패널 접근 |
📊 통계 관리
상세한 통계 페이지는 다음 URL로 접속할 수 있습니다:
제공되는 통계 정보
- 실시간 통계: 현재 온라인 사용자, 읽지 않은 메시지
- 시간별 통계: 24시간 메시지 전송 패턴
- 일별 통계: 최근 7일간 메시지 추이
- 월별 통계: 장기간 사용 패턴 분석
- 사용자 순위: 활성 사용자 TOP 10
관리 작업
다음 작업들은 데이터 손실을 초래할 수 있으므로 신중하게 실행하세요.
30일 이상 된 메시지를 일괄 삭제하여 데이터베이스 용량을 관리합니다.
모든 메시지 데이터를 CSV 파일로 내보내어 백업할 수 있습니다.
모든 사용자의 온라인 상태를 오프라인으로 초기화합니다.
모든 메시지를 삭제합니다. (복구 불가능)
🛠️ 문제해결
메신저 시스템 사용 중 발생할 수 있는 문제들과 해결 방법을 안내합니다.
일반적인 문제
🔴 메시지가 전송되지 않는 경우
브라우저의 개발자 도구에서 네트워크 오류를 확인합니다.
사용자 레벨이 2 이상인지 확인합니다.
messenger_messages 테이블이 정상적으로 생성되었는지 확인합니다.
🔴 파일 업로드가 실패하는 경우
10MB 이하의 파일인지 확인합니다.
uploads 폴더의 쓰기 권한을 확인합니다.
PHP의 업로드 관련 설정을 확인합니다.
🔴 실시간 업데이트가 작동하지 않는 경우
브라우저 콘솔에서 JavaScript 오류를 확인합니다.
config.php에서 폴링 간격을 조정합니다.
서버의 메모리와 CPU 사용량을 확인합니다.
고급 문제해결
데이터베이스 관련 문제
성능 최적화
- 인덱스 추가: 대용량 메시지 처리 시 데이터베이스 인덱스 최적화
- 정기 정리: 오래된 메시지와 파일의 정기적 삭제
- 캐싱: 온라인 사용자 정보 캐싱으로 성능 개선
보안 강화
• install.php 파일 삭제
• 업로드 폴더 직접 접근 차단
• 정기적인 백업 실시
• 사용자 권한 주기적 검토
❓ 자주 묻는 질문
Chrome 70+, Firefox 65+, Safari 12+, Edge 79+ 등 모든 모던 브라우저에서 사용 가능합니다. 최적의 경험을 위해서는 최신 브라우저 사용을 권장합니다.
네, 반응형 디자인으로 제작되어 스마트폰과 태블릿에서도 원활하게 사용할 수 있습니다. 모바일에서는 다중 창 기능이 제한되어 한 번에 하나의 대화만 가능합니다.
기본적으로 모든 메시지가 영구 보관됩니다. 관리자가 설정에 따라 오래된 메시지를 정기적으로 삭제할 수 있습니다. 중요한 메시지는 별도로 백업하는 것을 권장합니다.
이론적으로는 제한이 없지만, 브라우저 성능을 고려하여 동시에 10개 이하의 대화창을 사용하는 것을 권장합니다. 너무 많은 창을 열면 브라우저가 느려질 수 있습니다.
파일당 최대 10MB까지 업로드 가능하며, 이미지, 문서, 압축파일, 오디오/비디오 파일을 지원합니다. 보안상의 이유로 실행 파일(.exe, .bat 등)은 업로드할 수 없습니다.
현재 버전에서는 일반 사용자가 직접 메시지를 삭제할 수는 없습니다. 관리자만 개별 메시지를 삭제하거나 전체 메시지를 정리할 수 있습니다.
브라우저 푸시 알림은 브라우저 설정에서 허용/차단할 수 있습니다. 소리 알림은 현재 자동으로 재생되며, 향후 업데이트에서 사용자 설정 기능이 추가될 예정입니다.
그누보드 관리자 페이지에서 해당 사용자의 레벨을 10 이상으로 설정하면 자동으로 메신저 관리자 권한이 부여됩니다. config.php에서 관리자 레벨을 변경할 수도 있습니다.
관리자 페이지에서 '메시지 백업' 기능을 사용하여 CSV 파일로 내보낼 수 있습니다. 또한 데이터베이스를 직접 백업하거나 messenger 폴더 전체를 백업하는 것을 권장합니다.
현재 버전은 1:1 개인 메시지만 지원합니다. 그룹 채팅 기능은 향후 업데이트에서 제공될 예정입니다. 현재는 여러 사용자와 개별적으로 대화하는 방식으로 사용해주세요.
기술 지원
• 매뉴얼에서 답을 찾지 못한 경우
• 설치 또는 설정 중 문제가 발생한 경우
• 커스터마이징이나 기능 추가를 원하는 경우
개발자에게 문의하거나 그누보드 커뮤니티를 활용해주세요.
🔄 업데이트 및 버전 히스토리
버전 1.0.0 (2025-06-03)
• 실시간 1:1 메시징 기능
• 다중 대화창 시스템
• 파일 첨부 및 공유
• 관리자 패널 및 통계
• 반응형 웹 디자인
계획된 업데이트
• 그룹 채팅 기능
• 이모티콘 지원
• 메시지 검색 기능
• 다크 모드 테마
• 모바일 앱 지원
업데이트 방법
업데이트 전 반드시 데이터베이스와 파일을 백업하세요.
새 버전의 파일들을 기존 messenger 폴더에 덮어씁니다.
update.php가 있다면 실행하여 데이터베이스를 업데이트합니다.
업데이트 후 모든 기능이 정상 작동하는지 확인합니다.
👨💻 개발자 정보
Backend: PHP 7.0+, MySQL 5.6+
Framework: 그누보드 5.4+
• admin.php - 관리자 패널
• api_easy.php - API 엔드포인트
• config.php - 설정 파일
API 엔드포인트
엔드포인트 | 메소드 | 기능 |
---|---|---|
/api_easy.php?action=get_users | GET | 사용자 목록 조회 |
/api_easy.php?action=send_message | POST | 메시지 전송 |
/api_easy.php?action=get_messages | GET | 메시지 히스토리 조회 |
/api_easy.php?action=check_new_messages | GET | 새 메시지 확인 |
/api_easy.php?action=mark_as_read | POST | 읽음 처리 |
라이선스
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자유롭게 사용, 수정, 배포할 수 있으며, 상업적 이용도 가능합니다. 단, 저작권 표시와 라이선스 전문을 포함해야 합니다.