프로젝트 소개
개인정보를 최우선으로 하는 서버 로그 분석 도구입니다. 웹 서버가 이미 출력한 일일 접근 로그(Apache/Nginx Combined 형식)를 집계하고, PHP 8.1+ 및 SQLite로 동작하는 관리 화면을 제공합니다.
설계 철학은 "필요한 데이터만 취한다"는 것으로, IP 주소, User-Agent 원문, 완전한 Referrer, Query String, 개별 리クエスト, 원시 로그 복사본, 방문자 수, 세션 수는 일절 저장하지 않습니다. 저장하는 것은 날짜 단위 PV·404·Bot·HTTP 상태 코드, 공개 페이지, 허가된 참조원 도메인 분류, 단말/OS/브라우저 분류 등의 집계값뿐입니다.
주요 기능:
- Apache/Nginx Combined 형식의 일일 gzip 로그를 멱등하게 가져오기 가능
- 공개 루트 목록에 있는 페이지만 PV로 저장, 미지의 URL은 404로 안전하게 처리
- 정적 애셋을 PV에서 제외, 기존 Bot은 별도 집계
- 일일 상세 90일, 월간 집계 24개월(설정으로 변경 가능)
- CSRF 보호, 보안 세션, 로그인 시도 제한, CSP, PDO prepared statementによる 보안 대책
- 일본어/영어 관리 화면 지원(설정의 localeで 선택)
셋업은 DocumentRoot 밖에 private 영역을 만들고, config.php 및 routes.json을 배치한 뒤, Cron으로 bin/daily-import.php를 실행하는 것만으로 시작할 수 있습니다. 이벤트 API를 제공하지 않으며, 브라우저에서 임의 데이터를 받는 일도 없습니다.
라이선스는 Apache License 2.0입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.