投稿者: manualmaton Page 122 of 261

Chuwi Heroboxにインストールしたredmineに入れたプラグイン。

こちらは、以前にご紹介した記事の集大成的な記事ではありますが、「今後、一から作り直すときにそのままコピペできるようにした備忘録」を兼ねています。

redmineそのもののインストールや設定は過去に実施したので、これに倣います。

インストール

Gmailとの連携

テーマ変更(kodomo redmine)

環境

以下の環境で動作を確認しています。

  • Linux Mint 20.03
  • Ruby 2.70-p0
  • Rails 5.2.6.3
  • MySQL 8.0.28

プラグインをインストールする場所は、redmineのプラグインが格納されているディレクトリに読み替えてください。

View Customize ※mariadbでこれをインストールすると500エラーになる事象が発生しました。

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/onozaty/redmine-view-customize.git view_customize
cd ../
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

redmica_ui_extension

※Mermaid_Macroの差し替えです。

cd /var/lib/redmine/plugins/
sudo -u www-data git clone https://github.com/redmica/redmica_ui_extension.git
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

knowlegebase

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/alexbevi/redmine_knowledgebase.git
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

knowlegebaseでファイルが添付できない問題に対処

cd /var/lib/redmine/plugins
cd redmine_knowledgebase/app/views/attachments/
mv _links.html.erb ../_links.html.erb.org
systemctl restart apache2

Kanban

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/happy-se-life/kanban.git
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo systemctl restart apache2

チケットテンプレート

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/akiko-pusu/redmine_issue_templates.git
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

チケットタグ

cd /var/lib/redmine/plugins/
sudo -u www-data git clone https://github.com/ixti/redmine_tags.git
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

導入後の設定

  1. 管理者権限でredmineにログインします。
  2. 管理>プラグイン>Redmine Tagsに移動します。
  • タグをサイドバーに表示する:タグクラウド(シンプル)
  • チケット数を表示する:チェックを入れる
  • オープンしているチケットのみ表示する:チェックを外す
  • カラー表示する:チェックを入れる

clipboard_image_paste

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/peclik/clipboard_image_paste.git clipboard_image_paste
systemctl restart apache2

ログローテーション

ログを参照するプラグインを導入

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/haru/redmine_logs.git redmine_logs
systemctl restart apache2

シンボリックリンク貼り替え

mkdir /var/log/redmine
chown www-data:www-data /var/log/redmine
cd /var/lib/redmine/log
mv *.log /var/log/redmine
cd ../
rmdir log
ln -s /var/log/redmine/ log
chown -R www-data:www-data log
ls -la log
# log -> /var/log/redmine/となっていることを確認

ログローテーション設定

cd /etc/logrotate.d
vi redmine

設定ファイル内容

/var/lib/redmine/log/*.log {
        missingok
        notifempty
        copytruncate
        compress
}

ログローテート実行

logrotate -d redmine
# テストして問題ないことを確認
logrotate -f redmine
# 強制的にローテーションさせる

用語集

cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/torutk/redmine_glossary.git redmine_glossary
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

pdf preview

プラグイン導入

aptitude install build-essential libmagic-dev ghostscript
cd /var/lib/redmine/plugins
sudo -u www-data git clone https://github.com/nanego/redmine_preview_pdf.git redmine_preview_pdf
bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
systemctl restart apache2

設定変更

cd /etc/Image-Magick-6
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" />

Message Customize

cd /var/lib/redmine
sudo -u www-data git clone https://github.com/ishikawa999/redmine_message_customize.git plugins/redmine_message_customize
cp -pir plugins/redmine_message_customize/35_change_load_order_locales.rb config/initializers/35_change_load_order_locales.rb
systemctl restart apache2

Chuwi HeroboxにLinux Mintをインストール。

導入したファンレス小型PC・Chuwi HeroboxにはWindows 10がプリインストールされておりますが、それは日の目を見ることはありませんでした。

OSインストール

今回はUbuntu系で比較的軽いLinux Mintを使いました。

下準備

  1. Linux Mint公式サイトからISOイメージをダウンロードします。
  2. RufusでUSBブートディスクを作ります。
  3. Heroboxに500GBのSSDを接続します。

インストール

redmine専用サーバにするため、ディスクの割り当ては

  • 増設した500GB SSD:/var
  • 元々の256GB SSD:/ およびスワップ

としてOSインストールは完了。

固有の問題

問題なく動きましたけれどLinux Mintのファームウェアの関係か、有線LANを認識してくれませんでした。

無線LANで運用するのでそこは割り切ります。

Linux Mint初期設定

以下を施しました。

  1. aptitude updage → upgradeでパッケージを更新
  2. IPアドレスを固定
  3. 以前作成していたローカルDNSサーバ設定
  4. それに伴いIPv6を無効化

後はSSHを入れてWindowsターミナルから接続を確認しました。

次はredmineとプラグインのインストールです。

redmine専用サーバ導入。(Chuwi Herobox Pro開封)

以前の思考実験の続きです。

自分が思っていた以上にredmineに依存していたことが分かり、「専用のサーバを新たに立てる必要がある」という結論。

そこで、その時に挙げた条件を満たすPCが見つかりましたので入手しました。

Chuwi Herobox Pro

CPUはそれなりですが

  • ファンレス・省電力設計
  • 無線LANもあるのでIPを複数つけられる
  • Webサーバには十分な8GBメモリ
  • SSDを別に搭載可能。
  • MicroSDスロットがあるため冗長化できる

と、カタログスペックは十分です。また、このメーカーのWindowsタブレットはお世話になったので、そこを信じました。

開封

驚くほど小ぶりなパッケージ。フィギュアと並べてもこの通りです。

SSDスロット

蓋を開けるとSATAのSSDを格納できるスペースがありました。そこに500GBのSSDを取り付けることにします。

今後の計画

以下を実施し、随時アップデートしていきます。

  1. HeroboxにLinuxをインストール
  2. Linuxの基本設定
  3. Redmineのインストール

redmineによるゲーム進捗管理。(『ソフィーのアトリエ2』Very Hardの壁)

状況把握としてのredmine

redmineの

  • 目標を設定する
  • 現状を記録する

がゲームでも役立ちました。

『ソフィーのアトリエ2』実績解除のために

先月末よりプレイをして、継続してredmineで記録をつけている『ソフィーのアトリエ2』。ゲームそのものはクリアしていますが、実績があと4つほど残っています。

そのうち1つが

『難易度Very Hard以上で○○を倒す』

というもの。最初はたかをくくっていましたが

  • 強力なオーラに守られてダメージが通らない
  • 強敵は連続攻撃が激しくまたたく間に戦闘不能に陥ってしまう

と、半ば諦めかけていました。

そんな中でネットの情報を探り、「これならいけるのでは」と、redmineでこんなチケット設定しました。

  • 目標:Very Hardの壁を親チケットとして登録
    • そのために必要な「最大ダメージを与えるアイテムの調合」を小チケットに登録
      • その子チケットとして、アイテム調合に必要な特性を持つ素材を集める

と、順々にチケットを登録。

効果検証の記録

redmineのスクリーンショットをそのまま貼り付けられる機能が役立ちました。

これを順々に追っていけば

  • 方向性に誤りはないか
  • 誤っていた場合はどこを直せばいいか

のフィードバックが可能です。

以前にお伝えした

この、『ライザのアトリエ2』での最大ダメージ検証のときよりも筋道を立てた検証が行えそうです。

ガイアと展開。(アプリ版『ガイアプロジェクト』地球人チャレンジ)

すきま時間にプレイしている『ガイアプロジェクト』。

地球人を局面が連続で起こり、それぞれが特徴あるものでした。

なお、その2つともゲームの最終目標(マジョリティ)は『ガイア入植の数』が含まれています。

Case 1

ガイア種族がいなかったため、次元横断星をかき集める方針。

最序盤から「ガイア入植ごとに3勝利点」を手に入れ、それによる素点と展開力を狙います。

研究はほぼ航法とガイア計画。これにより離れた次元横断星をガイアフォームしていき、資源変換をしていきます。

このCaseの特徴

  • 学院なし
  • 取ったタイルは上級含めて3つ

で、176点。ラウンドブースターや上級タイルのおかげでした。

Case 2

時間に余裕があったので3AIで対戦。

  • 研究は同じく航法とガイア計画
  • 今回は学院を2つとも建てた
  • 同盟も4つ組めた
  • にもかかわらずCase1より得点は低い

このCaseの特徴

「最序盤、ガイア惑星をゼノに取られた」につきます。こういうとき、

  1. 次元横断星にガイアフォームを置く
  2. 次のターンに入植
  3. その次のターンにようやく収入となる

ガイア計画のまどろっこしさが仇となりました。4〜5R目こそガイアフォームを3つ置くことで資源変換がスムーズになりましたが、序盤からの展開の圧があるゼノはAIの難易度が高ければ負けていたでしょう。

両ケースで思ったこと

「足りない資源をすべてパワーアクションで賄った」です。

地球人のガイアフェイズにパワートークンがエリア2に置かれる性質上、パワーの回転が非常に高いです。また、最序盤首府が定跡であるため、トークンが増えていくのも強み。

なので、ガイア種族の名を借りたパワー種族というのが自分の中での地球人かなと思いました。(そのため、どちらかに特化した種族相手だとたちまち苦戦しました

増えるサプライ、変わるプレイ感。(ボードゲーム『アグリコラ』ソロプレイ)

話はこちらに遡ります。

この『アグリコラ』拡張入れとしたデッキケースでもって、早速ソロプレイを行いました。

ゲーム終了時の盤面

利用した拡張はBデッキ。職業に癖があるものの、強い小進歩がありました。

特に「森の宿屋」はソロプレイゆえに邪魔されることがなく、圧倒的なアドバンテージを叩き出せてもたつきながらも59点。

ボーナスポイントがマイナスの代わりに強い効果をもたらすカードも印象的。

カードスタンドを利用して

想像以上の使い勝手だと実感したのがこのカードスタンド。

  • 視認性が高く
  • 二列になっているので場所を取らず
  • デッキケースのスタンドも高さが丁度いい

と、かなりゲームのクォリティを高めてくれました。

このスタンド、もう少し買い足してもいいと思いました。

復旧明けの思考実験。(redmineサーバ新設計画)

この続きからです。

システム自体は無事に復旧したものの、豪快なミスによって1ヶ月ぐらいためておいたログが消えたという事実に変わりはありません。

そこで、ちょっとした思考実験を行いました。

redmineによる各種管理

これは絶対に続けたい習慣だと思いました。

  • デジタルゲーム
  • ボードゲーム
  • ToDo

を一元管理できるだけではなく、各種プラグインによって見た目や機能を変えられるこのシステムにここ一ヶ月頼りっぱなしでした。

人為的なミスをでデータ消失を防ぐことは可能か?

自分の性格/性質を考えると「無理」です。「○○しないように気をつける」でインシデントが減らせたら苦労はしません。

そのため

  • 機械的にバックアップを行う
  • 復旧の手立てを最初に整える

といった工夫が必要です。

現時点での結論

ここまでのredmineはどちらかというと「検証機」的なものに作っていました。

そして、redmineは検証ではなく本格的に運用したい。となると、行き着くところは表題にあるように

「新しくPCを導入しredmine専用サーバーを作る」

です。現状のredmineサーバを再び検証機として用いれば新しい技術を気軽に試しますし、そこで得たものを本番用に設定する際、データの退避などを行えるからです。

PCの選定条件

そこで、redmine専用にするPCの選定を考えてみました。

  • 小型/省電力であること。
  • ファンレスであることが望ましい。
  • CPU性能などは別にこだわる必要はない。

の3つ。現時点で在庫を見る限りでは筐体入手は難しくないと考えています。

redmineサーバのクラッシュとリビルド。

運用が始まったばかりの自室サーバのredmineに思わぬ冷や水がありました。

原因:操作ミスによるサーバクラッシュ

全く恥ずべき話ですが、redmineサーバに新たなシステムを導入しようとインストールスクリプトを叩いていたらmysqlが起動しなくなり、

更に、その原因となるファイルを削除したら親のシステムディレクトリを削除したという二重の詰み。

システムリビルド

こうなったらやることは一つ。「もう一度のサーバ構築」。

とても幸いだったことに、今までやっていたものは全て記録していました。

https://manualmaton.com/category/%e3%82%ac%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88/pc/linux/redmine/

これを元に

  1. サーバインストール
  2. DNS設定
  3. redmineインストール
  4. プラグイン導入

と進めていき、

データ以外は復旧です。

このデータも「本当に残しておきたい」ものはローカルに保存していたので被害は抑えられました。

反省点

しかし、これは間違いなくインシデントとして報告すべきものでした。

  • 影響範囲のリサーチ不足
  • ミスを修正時に切り戻しポイントを作っていなかった
  • そもそもバックアッププランが足りていなかった

と、根本的な誤りがありました。

これは手痛い授業料として、次につなげていきます。

カードスタンドとデッキケース導入。

Dicetroyer製カードサプライ

新たに手に入れたのがこのDiceTroyer製のカードスタンド。

『ガイアプロジェクト』などのインサートでお世話になっているメーカーのものです。

組み立て

緻密なレーザーカットと表面はDicetroyerの骨頂です。パーツが少ない分、組み立てはすぐに終わりました。

さて、これを何に使うかですが

アグリコラ拡張デッキ用ホルダー

3月上旬に手に入れた『アグリコラ』の拡張デッキ入れとします。

3~4人向けの職業は厚みで入りませんが、当面はソロプレイのみなので問題なしです。

上部の溝や蓋がカードスタンドになる設計もナイスでした。

redmineにPDFのサムネイルを表示させるプラグインを導入。

ボードゲームのルールやスコアシート参照のため、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.

このエラーを頼りに検索すると以下の記事を発見。

http://sstto.blog.shinobi.jp/%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86/imagemagick%E3%81%A7pdf%E5%A4%89%E6%8F%9B%E5%A4%B1%E6%95%97%E3%81%A8%E5%AF%BE%E5%BF%9C

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ならではです。

Page 122 of 261

Powered by WordPress & Theme by Anders Norén