OMEKA에서 PDF 업로드시 썸네일 생성되지 않는 경우(Ubuntu 및 Centos별 설정법 포함)
오메카 관리자모드에서 pdf 문서 업로드시 jpg 같은 이미지 파일 처럼 자동으로 썸네일이 생성되지 않는 경우 아래의 방법을 참고하시기 바랍니다.
오메카에서 사용하는 오픈소스 이미지 변환툴은 ImageMagick과 GhostScript입니다.
이 도구의 환경 설정 값을 수정하면 PDF의 썸네일이 자동 생성됩니다.
단, GhostScript는 보안 이슈가 있으므로 사용 중에도 최신 버젼이 나오는 경우엔 지속적으로 업데이트를 하고 패치를 실시하는 것이 안전합니다.
# Ubuntu 운영체제 기준
1. ImageMagick의 policy.xml 수정
$ sudo nano /etc/ImageMagick-6/policy.xml
<policymap> 태그에서 policy의 pattern 값 중 PDF가 없는 경우 아래와 같이 추가하고 저장.
<policy domain="coder" rights="read|write" pattern="PDF" />
만약 이미 있는데 rights가 "none"인 경우 위와 같이 "read|write"로 수정
2. 보안상의 문제로 /tmp 디렉토리를 파티션 마운팅한 이후 다른 디렉토리로 재설정이 필요한 경우
주석 처리된 policy 태그의 name이 "temporary-path"이고 value가 "/tmp"인 태그를 아래와 같이 수정하고 활성화.
<policy domain="resource" name="temporary-path" value="/var/tmp/"/>
3. 웹서버 재시작
$ sudo /etc/init.d/apache2 restart
4. 만약 3번까지의 작업을 수행하고도 PDF의 썸네일이 자동 생성되지 않는 경우 아래 방식 추가 수행
$ cd /var/www/omeka/application/config
$ sudo nano config.ini
아래 수정 전 라인을 찾은 후 수정 후 라인과 같이 수정하고 저장.
세미콜론(;)을 아래와 같이 GD는 앞에 넣어서 주석 처리하고 ExternalImageMagick은 주석 해제.
만약 라인 상에 ExternalImageMagick만 있는 경우엔 주석만 해제하면 됨.
;fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_GD"
fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_ExternalImageMagick"
# Centos 운영체제 기준
1. ImageMagick의 policy.xml 수정
$ vi /etc/ImageMagick/policy.xml
<policymap> 태그에서 policy의 pattern 값 중 PDF가 없는 경우 아래와 같이 추가하고 저장.
<policy domain="coder" rights="read|write" pattern="PDF" />
만약 이미 있는데 rights가 "none"인 경우 위와 같이 "read|write"로 수정
2. 보안상의 문제로 /tmp 디렉토리를 파티션 마운팅한 이후 다른 디렉토리로 재설정이 필요한 경우
주석 처리된 policy 태그의 name이 "temporary-path"이고 value가 "/tmp"인 태그를 아래와 같이 수정하고 활성화
<policy domain="resource" name="temporary-path" value="/var/tmp/"/>
3. 웹서버 재시작
$ systemctl restart httpd