nginx 설정
nginx에서 Zittme를 돌리기 위한 설정을 안내합니다. Apache를 쓴다면 이 문서는 필요 없습니다. 배포본의 .htaccess 가 알아서 처리합니다.
가장 쉬운 방법: 설정 도우미
Zittme는 nginx 설정을 만들어 주는 도우미를 제공합니다. 아래 중 편한 것을 쓰세요.
- 설치 마법사의 환경 확인 화면: 짧은 주소(rewrite)가 안 잡혀 있으면 서버 환경을 감지해 맞춤 설정과 적용 명령을 만들어 줍니다. 복사해서 붙여넣으면 됩니다.
- 관리자 > 시스템 설정의 짧은 주소 도우미: 설치 후에도 같은 기능을 쓸 수 있습니다.
- 한 번에 적용하는 스크립트: 배포본의
common/scripts/setup-nginx.sh
직접 설정하려면 아래를 참고하세요.
설정 파일 위치
| 배포판 | 사이트 설정 |
|---|---|
| Ubuntu / Debian | /etc/nginx/sites-available/ (심볼릭 링크로 sites-enabled/ 에 활성화) |
| CentOS / RHEL | /etc/nginx/conf.d/ |
서버 블록 예시
배포본의 common/manual/server_config/zittme-nginx.conf 에 전체 규칙이 들어 있습니다. 뼈대는 다음과 같습니다.
server {
listen 80;
server_name example.com;
root /var/www/mysite;
index index.php index.html;
client_max_body_size 32m;
# 여기에 zittme-nginx.conf 의 규칙(차단·rewrite)을 넣거나 include 합니다
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}root는 Zittme 설치 경로,index에는index.php가 반드시 있어야 합니다.client_max_body_size는 업로드 허용 용량입니다. 첨부파일 크기에 맞춰 조정하세요.- PHP-FPM 소켓 경로는 서버마다 다릅니다.
ls /run/php/로 확인하거나, 포트 방식(fastcgi_pass 127.0.0.1:9000;)을 쓸 수도 있습니다.
규칙 순서 주의
Zittme의 rewrite 규칙에는 location / { try_files ... } 블록이 이미 포함되어 있습니다. 같은 블록을 사이트 설정에 중복으로 넣으면 오류가 납니다. 차단 규칙(location 블록들)은 PHP 처리 블록보다 앞에 두세요.
적용과 확인
nginx -t
systemctl reload nginxnginx -t 가 ok 를 출력해야 합니다. 문제가 있으면 /var/log/nginx/error.log 를 확인하세요.
보안 차단 규칙
zittme-nginx.conf 에는 템플릿·설정·캐시 파일에 웹으로 직접 접근하는 것을 막는 규칙이 포함되어 있습니다. 직접 설정을 짜는 경우에도 이 차단 규칙은 반드시 포함하세요. 빠뜨리면 템플릿 원본과 내부 파일이 외부에 노출될 수 있습니다.