diff --git a/deploys/ops-manual/03-service-prod.md b/deploys/ops-manual/03-service-prod.md index c28d524..c6a72c0 100644 --- a/deploys/ops-manual/03-service-prod.md +++ b/deploys/ops-manual/03-service-prod.md @@ -277,4 +277,63 @@ sudo ufw allow from IP주소 to any port 포트번호 # 규칙 추가 sudo ufw delete 번호 # 규칙 삭제 (번호 기반) sudo ufw disable # 비활성화 (비상시만) sudo ufw enable # 활성화 +``` + +--- + +## LibreOffice (문서 변환) + +API 서버에서 문서 변환(Excel→PDF 등)에 사용. 헤드리스 모드로 동작. + +**버전:** 24.2.7.2 (개발/운영 동일) + +**명령어:** + +```bash +libreoffice --version # 버전 확인 +libreoffice --headless --convert-to pdf input.xlsx # CLI 변환 테스트 +``` + +**설치 패키지:** + +```bash +sudo apt-get install -y libreoffice-core libreoffice-writer libreoffice-calc libreoffice-impress +``` + +--- + +## 폰트 + +LibreOffice 문서 변환 시 폰트가 없으면 글자가 깨지므로 개발/운영 서버 동일하게 설치 필수. + +**설치된 한글 폰트:** + +| 폰트 | 설치 방식 | 경로 | +|------|----------|------| +| **Pretendard** (9 웨이트) | 수동 설치 (OTF) | `/usr/local/share/fonts/Pretendard-*.otf` | +| **Nanum** (고딕/명조/스퀘어/손글씨 등) | apt (`fonts-nanum`, `fonts-nanum-extra`) | `/usr/share/fonts/truetype/nanum/` | +| **Noto CJK** (Sans/Serif) | apt (`fonts-noto-cjk`) | `/usr/share/fonts/opentype/noto/` | + +**폰트 관리 명령어:** + +```bash +fc-list :lang=ko family | sort -u # 설치된 한글 폰트 목록 +fc-list | grep -i pretendard # Pretendard 설치 확인 +sudo fc-cache -fv # 폰트 캐시 갱신 (새 폰트 추가 후 필수) +``` + +**새 폰트 추가 시:** + +```bash +# 1. OTF/TTF 파일을 /usr/local/share/fonts/ 에 복사 +sudo cp *.otf /usr/local/share/fonts/ + +# 2. 폰트 캐시 갱신 +sudo fc-cache -fv + +# 3. 확인 +fc-list | grep -i "폰트이름" +``` + +> **주의:** 개발서버에 폰트를 추가하면 운영서버에도 동일하게 설치해야 변환 결과가 일치한다. ``` \ No newline at end of file