ボードゲームのルールやスコアシート参照のため、PDFを用いる機会は多いもの。
そこで、redmineに導入してみました。
導入
aptitude install build-essential libmagic-dev ghostscript
# これが入っていないとインストールできませんでした
cd /var/lib/redmine/plugins
#redmineが導入されているディレクトリ
git clone https://github.com/nanego/redmine_preview_pdf.git redmine_preview_pdf
chown -R www-data:www-data redmine_preview_pdf
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2
導入後のテスト
redmineにログインし、任意のテキスト編集画面(markdown)で以下の様に入力しました。
attachement:hoge.pdf
うまく表示されず。
apacheのエラーログに以下を発見。
App 385988 stderr: convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
このエラーを頼りに検索すると以下の記事を発見。
ImageMagicの脆弱性対応のため、初期状態では無効化されているとか。
なので、この通りに対応します。
cd /etc/Image-Magic6
cp -pi policy.xml policy.xml.org
差分
以下の差分の通り編集。
<policy domain="path" rights="none" pattern="@*"/>
<!-- disable ghostscript format types -->
- <policy domain="coder" rights="none" pattern="PS" />
+ <policy domain="coder" rights="read|write" pattern="PS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
- <policy domain="coder" rights="none" pattern="EPS" />
- <policy domain="coder" rights="none" pattern="PDF" />
- <policy domain="coder" rights="none" pattern="XPS" />
+ <policy domain="coder" rights="read|write" pattern="EPS" />
+ <policy domain="coder" rights="read|write" pattern="PDF" />
+ <policy domain="coder" rights="read|write" pattern="XPS" />
編集後
うまく表示されました。
この手のプラグインで機能を次々に改良できるのもredmineならではです。