RedmineでPDFファイルのサムネイルが表示されない場合の対処方法

作成日

Redmine 4.1 より、PDF を添付したときにサムネイルが表示されるようになりましたが、Redmine をインストールしたままのデフォルト状態ではサムネイルが表示されません。この記事では、PDFファイルのサムネイルを表示するための設定変更について解説します。

サムネイルを表示するための条件

  • 「管理」→「設定」→「表示」→「添付ファイルのサムネイル画像を表示」がONであること
  • RedmineサーバにGhostscriptサポートありのImageMagickがインストールされていること(多くの環境のImageMagickで対応済み)
  • RedmineサーバのOSがWindowsの場合、Redmine のバージョンが 5.0 以降であること

注意事項

  • 手順2で Ghostscript のバージョンが脆弱性を解消しているバージョンであることを確認してから3を実行してください。

手順

1. Redmine が稼動しているサーバにログインします。

2. gs --version を実行し、Ghostscript のバージョン番号を出力します。

バージョン番号が9.25 以降であれば脆弱性は修正されています。

$ gs --version
9.55.0

3. /etc/ImageMagick-6/policy.xml の以下の行を修正します。

  • 修正前
<policy domain="coder" rights="none" pattern="PDF" />
  • 修正後
<policy domain="coder" rights="read" pattern="PDF" />

解説

Redmine 4.1 より、PDF を添付したときにサムネイルが表示されるようになりました。

参考: Redmine 4.1 新機能紹介- PDFファイルのサムネイルを表示

PDFのサムネイル生成は Imagemagick パッケージに含まれる convert コマンドが使用されます。さらに convert コマンドは、Ghostscript パッケージに含まれる gs コマンドを使用します。

2018年に Ghostscript パッケージの脆弱性が発見されました。

Ghostscript の -dSAFER オプションの脆弱性に関する注意喚起

この脆弱性の回避策として、Imagemagick パッケージのデフォルト設定において、PDFに関する処理が無効にする変更が加わりました。

これにより、Imagemagick の設定変更を実施しなければ、gs コマンドによる PDF のサムネイル生成が実行できなくなりました。Redmine を通常の手順でインストールした場合、Imagemagick の設定変更を行いません。そのため、通常のインストールを実行したRedmineでは、PDFのサムネイルを表示することができなくなりました。

その後、Ghostscript の脆弱性を解消したバージョン 9.25 が提供されました。

Artifex Software Version 9.25 (2018-09-13)

サーバのセキュリティを維持するため、Ghostscript のバージョンを 9.25 以降であることを確認した上で、上記の手順を実施するようにしてください。