月: 2023年1月 Page 1 of 4

ボードゲーム『ウイングスパン拡張 東洋の翼』感想。

鳥をテーマにしたエンジンビルド、『ウイングスパン』の単体でも遊べる拡張。遊べる人数を大幅に減らした分、よりインタラクションがあふれるゲーム性をもたらしてくれました。

対人戦並びに基本を追加しての群鳥モードはプレイしていないので、本作のつがいモード:対オートマ戦での感想になります。

概要

プレイヤー鳥類保護区の管理人となり

  • 餌を集める
  • 卵を産ませる
  • 鳥カードを引く
  • 鳥カードをプレイする

を4ラウンドに渡ってプレイしていき、鳥カード自体の力を借りながら得点を重ねていきます。

本作で追加された要素「つがいモード」

これは、ボード上にある鳥カードをプレイしたときに条件が合えば(草原に餌:穀類を必要とする等)追加ボード上につがいトークンを置くことができます。これによって

  • 場所によっては一時的なボーナスを得られる
  • 最終的に一番つながっているひとまとめごとに勝利点を得られる(例:4個のトークンが固まっていれば4得点を得られます)

良かったと思った点

先置きとエリアマジョリティによるインタラクション

  • 先置きされたら対戦相手は同じ場所に置けない
  • 最終得点でエリアボーナスが発生する

ことによって、ソロゲーム感が強い本シリーズにより一層の対人感が加わります。なので、強いカードをプレイして卵を産ませていけば勝てる的な常道に加えて「どの鳥をプレイすればここにトークンを置けるか?」が加わります。

また、ラウンドごとの目標もつがいトークンを参照するのでエリアマジョリティ捨てて目標達成を目指すか否かのジレンマも程よく発生。

そして、このトークンを置くことができるのはあくまでも鳥カードをプレイしたとき。なので、基本セットの定番だった卵プレイがかなり弱まっているという印章でした。

バランスが取れたカード群

「この鳥さえいれば餌/カードには困らない」的なものがかなり弱まっていました。そのため、ゲームのたびに新たなエンジンを考えていく必要があります。

より強力になったオートマ

オートマはラウンドごとの目標やエリアマジョリティを明確に狙うようになってきています(その強力さは基本セットにあったキューブによる得点調整を必要としないほど)。ゲーム終盤になれば卵プレイも重ねてくる凶悪さ。

元からオートマが持つ餌やカードドローなしにカードを手に入れるも相まって、一筋縄ではいかないプレイ体験を味わえました。

残念だと思った点

箱の小ささと付属品の少なさ

基本セットにもあったカードストレージやダイスタワーも存在しません。それなのに商品を手に取ったときに「鉄でも入ってる?」と錯覚したほどの密度でコンポーネントが詰まっています。故に、タイル抜きやスリーブ入れを行った後に箱に入れるのは容易ではありません。

(本作用にデザインされたオーガナイザーを用いても蓋が浮きました)

収納に関しては

  • プレイ感を無視して無理矢理詰める
  • 他の箱に詰め替える

などの工夫は必須です。

まとめ

「収納に難がある」以外は『ウイングスパン』伝統のゲーム性はそのままに

  • バランスの良い強さのカード
  • 一筋縄ではいかなくなったオートマ
  • 先取りマジョリティ

が非常に脳に効きます。1~2人で遊ぶ場合はこちらを標準にして欲しいほどの作品でした。

Redmine4.2でredmien_tags→redmine_additonal_tagsへのアップグレード。(メンテナ変更)

概要

Redmineのチケット管理に大いに役立てているタグプラグイン。ひっそりとサービス終了していたので、その後継に置き換えます。

プラグイン名

動作を確認した環境

Redmine 4.2

前提:

  • 稼働要件にadditonalsプラグインが必要です。(インストール方法)
  • additonalプラグインと同様に、2023年1月現在のバージョンはRedmine5.xから対応しているため、作業に少し手間が加わります。
  • 既にredmine_tags (https://github.com/ixti/redmine_tags/) を導入している場合は、以下に示す手順によって設定済みのタグをインポートできます。

導入時

Gem追加:要
DBマイグレーション:要

手順

Redmine_Tagsを導入済みの場合は、バックアップを取り、失敗時に復旧できる準備をすることを強く推奨します。

さっくりとした手順

  1. SSHログイン後、作業ディレクトリに移動
  2. wgetでRedmine4.2に即したパッケージをダウンロード
  3. パッケージの配置
  4. 旧プラグインのディレクトリ削除
  5. 新規ジェムをインストール
  6. DBマイグレーション
  7. Webサービス再起動

Redmine4.2に即したバージョンをダウンロードして展開します。

wget https://github.com/AlphaNodes/additional_tags/archive/refs/tags/1.0.4.zip
# リリースノートで、Redmine 4.2に対応したバージョンがこれでした

unzip 1.0.4.zip

sudo chown -R www-data:www-data additional_tags-1.0.4/
# apache / nginxの実行ユーザに所有者を合わせます

Redmineディレクトリにプログラムを配置します。

sudo mv  additional_tags-1.0.4 /home/www-data/redmine/plugins/additional_tags
# 自分の環境に合わせます。また、ディレクトリ名からバージョン名を外すのを忘れないようにしてください

インストール済みのRedmine_Tagsディレクトリを削除します。

※新規インストールの場合はこの作業は不要です

cd /home/www-data/redmine/plugins
# 自分の環境に合わせます。

ls -ld additional_tags redmine_tags
#2つのディレクトリがあることを確認します

sudo rm -rf redmine_tags

ls -ld additional_tags redmine_tags
#additonal_tagsのみがあることを確認します

Gemをインストールします

cd /home/www-data/redmine/
# 自分の環境に合わせます。

sudo -u www-data bundle install

DBのマイグレーションを行います

cd /home/www-data/redmine/
# 自分の環境に合わせます。

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

インストール後の動作

  1. Redmineに管理者アカウントでログインします。
  2. 管理に移動すると、「Tags」メニューが追加されているのでクリックして移動します。
  3. 以下の設定を行います。
    • サイトバーにタグを:シンプルなクラウド
    • タグに金額を表示(※Totalがこう和訳されています):チェック
    • 課題タグを有効にする:チェック
  4. Redmine_tagから移行している場合は、「タグの管理」タブで記載されたタグがあることを確認します。

Redmine4.2にAdditionalプラグインをインストール。

概要

Redmineにかなり強力なmacroを付与するプラグイン:additionalsをインストールします。

プラグイン名

Additionals

https://www.redmine.org/plugins/additionals

前提

2023年1月現在のバージョンはRedmine 5.xから対応しているため、今利用しているRedmine4.2で動かすためには少し作業が必要です。

動作を確認した環境

Redmine 4.2

導入時

Gem追加:要
DBマイグレーション:要

手順

さっくりとした手順

  1. SSHログイン後、作業ディレクトリに移動
  2. wgetでRedmine4.2に即したパッケージをダウンロード
  3. パッケージの配置
  4. 新規ジェムをインストール
  5. DBマイグレーション
  6. Webサービス再起動

作業用ディレクトリに移動します。

cd /hoge
# 任意のディレクトリに移動します

Redmine4.2に即したバージョンをダウンロードして展開します。

wget https://github.com/AlphaNodes/additionals/archive/refs/tags/3.0.5.2.zip
# リリースノートで、Redmine 4.2に対応したバージョンがこれでした

unzip 3.0.5.2.zip

sudo chown -R www-data:www-data additionals-3.0.5.2
# apache / nginxの実行ユーザに所有者を合わせます

Redmineディレクトリにプログラムを配置します。

sudo mv additionals-3.0.5.2 /var/lib/redmine/plugins/additionals
# 自分の環境に合わせます。また、ディレクトリ名からバージョン名を外すのを忘れないようにしてください

Gemをインストールします。

cd /var/lib/redmine/
# 自分の環境に合わせます。

sudo -u www-data bundle install

DBのマイグレーションを行います

cd /var/lib/redmine/
# 自分の環境に合わせます。

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

動作

  1. Redmineに管理者アカウントでログインします。
  2. 管理に「Additionals」が加わっていればインストールされています。

「Additionals」の名前は伊達ではなく、有用なマクロが加わっているという印象です。どういう使い方ができるかは要検証です。

続・アクセス解析システム:matomoとRedmineの連携。(View Customize Plugin対応版)

概要

こちらの「matomoとRedmineの連携」にて「view_customize_pluginで設定がうまくいなかった」件について、Redmine_jpの代表様から直々のコメントをいただきました。

View Customizeプラグインでのトラッキングコード挿入がうまくいかなかった件、matomoで生成したトラッキングコードから と の計2行を削除するとうまくいきそうな気がします。

アクセス解析システムmatomoとredmineの連携。コメント

これを元に設定を行いました。

実施した手順

さっくりとした手順

  1. SSHクライアントからベースファイルの切り戻しを行います。
  2. RedmineのWeb画面「表示のカスタマイズ」から再設定を行います。
  3. matomo管理画面からアクセス解析が有効であることを確認します。

前提

  • Redmine上にview_customize_pluginが導入済みであること。
  • ウェブ解析システムmatomoが導入済みであり、対象Redmineのトラッキングコードを控えていること。

Redmineサーバで実施する作業

ベースファイルのバックアップから切り戻しを行います。

sudo cp -pi /path/to/backup/directory/base.html.erb.$(date +%Y%m%d --date '1 Day ago') /var/lib/redmine/app/views/layouts/base.html.erb
# 変数「date」でバックアップを取っているので、作業した日付に修正します
# 2日前なら'2 Days ago'、1週間前なら'1 Week ago'、3年前なら'3 Years ago'など応用が利きます

diff -u /path/to/backup/directory/base.html.erb.$(date +%Y%m%d --date '1 Day ago') /var/lib/redmine/app/views/layouts/base.html.erb
# バックアップと差分がないことで切り戻しを確認します

切り戻し後にWebサービスの再起動を行います。

sudo systemctl restart apache2.service

aystemctl status apache2.service

# 自分が使っているWebサービスに合わせます

Redmine管理画面で実施する作業

Redmineに管理者アカウントでログインします。

  1. 管理>表示のカスタマイズに進みます。
  2. 「新しい表示のカスタマイズ」をクリックします。

トラッキングコードを設定します。

  • パスのパターン:空白
  • プロジェクトのパターン:空白
  • 挿入位置:全ページのヘッダ
  • 種別:JavaScript
  • コード:matomoで提示されたトラッキングコードから、「上部の<script>と下部の </script>を外したコード

設定後、「有効」にチェックを入れ「保存」をクリックします。

保存後、Redmineサイト内のページをいくつか表示させます。

Web解析システムmatomoで実施する作業

解析対象のRedmineで解析されていることを確認します。

今回の学び

  • ダメだった手順を載せることに意義がありました。
  • ソース修正の時に「ヘッダを確認する」のところで、「view_customize_pluginで設定済みの他のヘッダ」を確認すべきでした。そうすれば、設定の誤りに気づくことができました。

アクセス解析システム:matomoとRedmineの連携。

概要

構築を行ったmatomo。Redmineでアクセス解析ができるように設定をしていきます。

前提

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

  • Redmine 4.2
  • Matomo 4.13.1

手順

さっくりとした手順

以下、SSHクライアントで実施する作業です

  1. Redmineのベースファイルにトラッキングコードを追記します。
  2. Webサービスを再起動します。

※既存システムに変更を加えるため、設定ファイルのバックアップは必須です※

matomo 管理画面で実施する作業

matomoのWebサイトを構築/初期設定後、以下のようなJavaScriptトラッキングコードが表示されます。

<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
 スクリプト
  })();
</script>
<!-- End Matomo Code -->

これを控えておきます。

Redmine稼働サーバで実施する作業

ベースファイルのバックアップを取ります。

sudo cp -pi /var/lib/redmine/app/views/layouts/base.html.erb /path/to/backup/directory/base.html.erb.$(date +%Y%m%d)

diff -u /var/lib/redmine/app/views/layouts/base.html.erb /path/to/backup/directory/base.html.erb.$(date +%Y%m%d)
# 差分が無いことでバックアップが取れていることを確認します。

ベースファイルにトラッキングコードを挿入します。

sudo vi /var/lib/redmine/app/views/layouts/base.html.erb

追記内容と位置

<!-- page specific tags -->
# この直下に、matomoが提供したトラッキングコードを貼り付け
<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
 スクリプト
  })();
</script>
<!-- End Matomo Code -->
<%= yield :header_tags -%>
</head>

保存後、差分を確認します。

diff -u /path/to/backup/directory/base.html.erb.$(date +%Y%m%d) /var/lib/redmine/app/views/layouts/base.html.erb 
 <!-- page specific tags -->
+<!-- Matomo -->
+<script>
+  matomoが提供したトラッキングコード
+  })();
+</script>
+<!-- End Matomo Code -->
 <%= yield :header_tags -%>
 </head>

設定を反映します。

sudo systemctl restart apache2.service

aystemctl status apache2.service

# 自分が使っているWebサービスに合わせます

設定反映確認

  1. 設定を行ったRedmineサイトに数回アクセスをします。
  2. ページのソースを確認し、ヘッダ部分に追記したスクリプトがあることを確認します。
  3. matomo Web画面でアクセス解析が表示されていることを確認します。

以上で、設定は完了です。

おまけ

この手のJavaScriptを入れるため、格好のプラグイン「view_customize_plugin」を使えばSSHで作業する必要は無かったと思いますが、筆者の知見不足でその設定はうまくいきませんでした。

やってダメだった設定

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズに移動します。
  3. 新しい表示のカスタマイズをクリックします。

以下の設定を行いました。

  • パスのパターン:空白
  • プロジェクトのパターン:空白
  • 挿入位置:全ページのヘッダ
  • 種別:JavaScript
  • コード: matomoが提供したトラッキングコード

その後、作成をクリックするもヘッダに

})();

と追加されるのみでした。

アクセス解析システム:matomoのインストール。

概要

オープンソースの解析システムであるmatomoをAWS Lightsail上にインストールしました。

参考としたURL

本記事で実施すること

  • AWSサーバに導入されているPHPがサポート終了しているため、7.4から8.1にアップグレードする。
  • Ubuntu 20.04にアクセス解析システム「matomo」をインストールする。
  • その際に常時SSL化を行う。
  • Web画面から初期設定を行う。

※アクセス対象のシステムへの設定は別の記事で紹介します。

前提

  • 既に以下のシステムがWAN環境に揃っていること。
  • Ubuntu 20.04
  • Apache 2.4
  • mysql 8
  • PHP 7.4
  • matomo用のサブドメインを取得していること。
  • それに即した証明書があること。

手順

さっくりとした手順

  1. PHPを7.4から8.1にアップグレードする。
  2. MySQLのDBとユーザを作成する。
  3. ディレクトリにmatomoプログラムを配置する。
  4. Apache設定ファイルを作成し、常時SSLで接続できるようにする。
  5. matomoサイトにログインできることを確認する。
  6. matomo Web画面で初期設定をする。

PHPのアップグレードを行います。

sudo apt-get --purge autoremove php*

sudo aptitude install php8.1
sudo aptitude install php8.1-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysql,mysqli,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev}
sudo aptitude install php8.1-apcu
sudo aptitude install php8.1-memcached

sudo systemctl restart apache2.service

php -v
# PHP 8.1.14を確認しました。

PHPアップグレード後、PHPを動かしているサーバ内のサイトが正常に動くことを確認しました。

データベースを作成します。

sudo mysql -u root -p
CREATE DATABASE matomodb;
CREATE USER 'matomouser'@'localhost' IDENTIFIED BY 'password';
/* パスワードは自身の環境に合わせ、強固なものを設定してください */
GRANT ALL ON matomodb.* to 'matomouser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

matomoプログラムをディレクトリに配置します。

cd /tmp &&pwd
# tmpにいることを確認します

wget https://builds.matomo.org/matomo-latest.zip

unzip matomo-latest.zip

sudo chown -R www-data:www-data matomo

sudo mv matomo /var/www/html/
# 今回は/var/www/htmlに配置します。

ls -ld /var/www/html/matomo
# 該当ディレクトリにファイル一式があることを確認します

Apache設定ファイルを作成します。

  • 【】内を自分の環境に合わせます。
  • コマンド一式をコピー → 別のエディタにペースト
  • その後、【】内を自分の環境に修正してコピー
  • コマンド一式をSSHクライアントに貼り付ける
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/matomo.conf
<VirtualHost _default_:80>
ServerName 【設定したドメイン名】
 RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName 【設定したドメイン名】
    CustomLog 【/var/log/matomo/matomo_access.log combined】
    ErrorLog 【/var/log/matomo/matomo_error.log】
    # アクセスログとエラーログは自分の環境に合わせて設定します。

    DocumentRoot /var/www/html/matomo
    <Directory /var/www/html/matomo>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

  SSLEngine on

    Protocols h2 http/1.1
    Header always set Strict-Transport-Security "max-age=63072000"

SSLCertificateFile 【SSL証明書のファイルパス】
SSLCertificateKeyFile 【SSL秘密鍵のファイルパス】
# SSLCACertificateFile 【SSL中間証明書のファイルパス】
# 中間証明書が発行元から別ファイルで提供されている場合は、この直上をコメントアウトして中間証明書を指定します

</VirtualHost>

SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder     off
SSLSessionTickets       off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
# これらのセクションはSSL暗号化強度を高めるための記述です
# </VirtualHost>の外側に書くことにご注意ください
__EOF__

設定を反映します。

cd /etc/apache2/sites-available && pwd
# 対象ディレクトリにいることを確認します

sudo a2ensite matomo.conf

sudo apache2ctl configtest
# Syntax OKを確認します

sudo systemctl restart apache2.service

ブラウザで

https://【matomoを設定したドメイン名】

にアクセスし、初期画面が出ることを確認します。

初期インストール画面の設定

「次へ」をクリックします。

全てチェックされていることを確認して「次へ」をクリックします。

◎データベースを設定します。

  • ログイン: MySQLのユーザー(matomouser)
  • パスワード: 設定したパスワード
  • データベース名:作成したDB (matomodb)

をそれぞれ入力し、「次へ」をクリックします。正常に入力されれば「テーブルを作成されました」とデルので「次へ」をクリックします。

◎スーパーユーザーを設定します。

  • スーパーユーザーログイン:ログインするユーザー名
  • パスワード:ログイン時のパスワード
  • パスワード(再入力)
  • メールアドレス

をそれぞれ入力して「次へ」をクリックします。

◎アクセス解析を行うウェブサイトを設定します。

  • アクセス解析対象のウェブサイトの名前
  • ウェブサイトのURL (このmatomoサイトではなく、アクセス解析を行いたいWebサイト)
  • ウェブサイトのタイムゾーン
  • eコマースか否か

を設定して「次へ」をクリックします。

これらを設定後、トラッキングタグが表示されます。これらを控えて「次へ」をクリックします。

「おめでとうございます!」と表示されればインストールの一連の作業は完了します。

Redmineへの不正ログインをfail2banで制御する。

概要

インターネット環境にあるRedmineを不正ログインから防ぐため、不正ログイン対策パッケージfail2banと連携させました。

参考としたURL

https://www.redmine.org/projects/redmine/wiki/HowTo_Configure_Fail2ban_For_Redmine

環境

2023年1月現在、以下の環境で動かしています。

  • AWS Lightsailに立てているUbuntu20.04インスタンス

前提(導入済みパッケージ)

以下、既に導入済みです。

  • Redmine 4.2
  • fail2ban 0.11.1

本記事ではproduction.logの格納場所を

/var/log/redmine/production.log

としています。ご自身の環境に合わせてください。(通例は/var/lib/redmine/log の場合が多いです)

手順

さっくりとした手順

  1. fail2banの設定ファイルにredmine用の設定ファイルを作成します。
  2. jail.localファイルに上記設定ファイルを読み込ませます。(ファイルに追記します)
  3. fail2banサービスを再起動します。

稼働サービス(fail2ban)に修正を加えるので、必ずバックアップは取りましょう。

詳細手順

redmine用の設定ファイルを作成します。

cat <<- __EOF__ | sudo tee -a /etc/fail2ban/filter.d/redmine.conf
# redmine configuration file
#
# Author: David Siewert
#
# $Revision$
#
[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

datepattern = %%Y-%%m-%%d %%H:%%M:%%S %%Z$
failregex = Failed [-/\w]+ for .* from <HOST>

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

# Source:
#http://www.fail2ban.org/wiki/index.php/MANUAL_0_8
__EOF__
作成確認
ls -l /etc/fail2ban/filter.d/redmine.conf
# rootユーザで上記ファイルが作成されていることを確認します。

jail.localファイルのバックアップを取ります。

sudo cp -pi /etc/fail2ban/jail.local /etc/old/jail.local.$(date +%Y%m%d)
# バックアップの格納ディレクトリは自分の環境に合わせます。

diff -u /etc/fail2ban/jail.local /etc/old/jail.local.$(date +%Y%m%d)
# バックアップ元とバックアップ先の差分が無いことでバックアップが取れていることを確認します。(何も返ってこなければ正常にバックアップできています)

jail.localファイルに追記を行います。

cat <<- __EOF__ | sudo tee -a /etc/fail2ban/jail.local

[redmine]
enabled  = true
filter   = redmine
port     = 80,443
#backend  = polling
# 動作がうまくいかない場合は上記「backend」をコメントアウトしてください。
action   = iptables-allports[name=redmine]
logpath  = /var/log/redmine/production.log
# production.logの格納位置です。ここは自分の環境に合わせます。
maxretry = 3
# ログイン試行に3回失敗した場合、アクセスを拒否します。
findtime = 86,400
# 1日アクセスを禁止します。
bantime  = 20
# ログイン試行の判定です
# トータルで「20秒の間、ログインに3回失敗したときに1日アクセスを禁止する」設定です
__EOF__

追記した内容の差分を確認します。

diff -u /etc/old/jail.local.$(date +%Y%m%d) /etc/fail2ban/jail.local
差分内容
+
+[redmine]
+enabled  = true
+filter   = redmine
+port     = 80,443
+#backend  = polling
+# 動作がうまくいかない場合は上記「backend」をコメントアウトしてください。
+action   = iptables-allports[name=redmine]
+logpath  = /var/log/redmine/production.log
+# production.logの格納位置です。ここは自分の環境に合わせます。
+maxretry = 3
+# ログイン試行に3回失敗した場合、アクセスを拒否します。
+findtime = 86,400
+# 判定失敗時、1日アクセスを禁止します。
+bantime  = 20
+# ログイン試行の判定です
+# トータルで「20秒の間、ログインに3回失敗したときに1日アクセスを禁止する」設定です。

設定ファイルの動作確認を行います。

まず、自分のredmineのログイン画面でわざとログインを失敗させます。

このとき、

cat /var/log/redmine/production.log |grep Failed
# production.logのパスは自分の環境に合わせます。

とすることで、

Failed login for 'ユーザ名' from IPアドレス at 2023-01-01 00:00:00 UTC

のように、失敗させたときのログが表示されます。

次に、

fail2ban-regex /var/log/redmine/production.log /etc/fail2ban/filter.d/redmine.conf
# production.logのパスは分の環境に合わせます。

を実行します。

Results
=======

Failregex: 1 total
|-  #) [# of hits] regular expression
|   1) [1] Failed [-/\w]+ for .* from <HOST>
`-

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [2] Year-Month-Day 24hour:Minute:Second Zone name$
`-

Lines: 4281 lines, 0 ignored, 1 matched, 4280 missed
[processed in 0.08 sec]

と、ログイン失敗時の行数分「X matched」と表示されます。これで、設定ファイルとログのパス設定に問題がないと確認が取れました。

設定を反映します。

sudo systemctl restart fail2ban.service

systemctl status fail2ban.service
#active (running)であることを確認します。

以上で、設定は完了です。

花の編み込み、光の編み込み。-百均グッズの撮影用小物(その41)-

こちらで作成した「広角ズームを見据えた造花トレリス」、その続きです。

桜ピック

季節を先取りしたワイヤつきの桜の造花。これを、広めの木枠に取り付けていきます。

差し色の仮止め

まず行ったことは、差し色となる造花の配置。前回の薔薇の時と異なり、桜自体にボリューム感があるのでガーメントによる土台作りはしません。

ライトの編み込み

今回もライトを組み込んでいきます。桜のワイヤは数が多く、要所要所にワイヤーライトを留めるのにもってこいです。

完成

あとはくまなく木枠の交点に編み込んでいけば完成です。「満開」を思わせるボリューム感は再現できたと思います。

撮影

早速の撮影。

造花の花びらが薄いので、中にあるLEDはキッチリと仕事をしてくれます。

そして、広角に見据えた広さも幸い。あおり構図も2体並べての俯瞰構図もフレームに収まってくれました。

ボードゲーム『タイガー&ドラゴン』開封と整理。

『タイガー&ドラゴン』開封

再販されていたので購入しました。

ボードゲーム『タイガー&ドラゴン』。日本の伝統ゲーム『ごいた』をベースにしたこのゲーム。

  • コンポーネントの質感
  • ルール
  • レビュー

などを鑑みて今後の定番になりそうな気配を見せてくれました。なので、収納は一ひねり加えました。

ラミネート加工

得点シートがやや薄かったので、ラミネート加工を施します。

袋差し替え

そして、収納はこの袋に差し替え。加工して厚みがあるシートもまるごと入り、牌をまとめて入れられるという配慮からです。

収納完成

得点チップとスタプレマーカーは百均の別の袋にまとめることにより、全てのコンポーネントが中に入りました。

元の箱より若干大きくなったものの、携帯性や機能性は十分です。

Redmineのチケットをダイレクトに編集するプラグインを追加。 (redmine_issue_dynamic_edit)

概要

Redmineのチケット、作成した後に細部を修正することは多々あると思います。
そういうとき、Jiraのように修正したい箇所をクリックするだけで修正できるプラグインを導入しました。

プラグイン名

redmine_issue_dynamic_edit

動作を確認した環境

Redmine 4.2

導入時

Gem追加:不要
DBマイグレーション:不要

手順

さっくりとした手順

  1. SSHログイン後、Redmineプラグインに移動
  2. gitでレポジトリをダウンロード
  3. Webサービス再起動

ディレクトリに移動します。

cd /var/lib/redmine/plugins
# 自分の環境に合わせます。

プラグインを配置します。

sudo -u www-data git clone https://github.com/Ilogeek/redmine_issue_dynamic_edit

ls -ld redmine_issue_dynamic_edit
# このディレクトリがあることを確認します

Webサービスを再起動します。

sudo systemctl restart apache2

動作

Redmineで任意のチケットを開きます。

エディットアイコンが出てくるのでそれをクリックします。

項目を編集し、チェックをクリックします。

修正内容が反映されています。

Page 1 of 4

Powered by WordPress & Theme by Anders Norén