改めて、このレンズは「屋外で真価を発揮する」と思い知らされました。

広角側で撮影したもの。視界が広がると言うよりは自分の視点が後ろにずらされる感覚です。

ズーム側でも日常使いとして撮影可能。


素晴らしいと思ったのは境内などの開けている場所と建物が合わさったとき。
それでいてこのコンパクトさ。

手放せないレンズとなりました。
筆者が用いているAWS Lightsail。自動起動サービスやWebサービスの追加のためメモリが心許なくなりました。
インスタンスの底上げを図る前にいったんSwap領域を確保して、メモリの枯渇に備えます。
ディスク起動時のオプションなど、特に重要なシステム領域の設定ファイルを修正する作業です。
失敗時に復旧できるようシステム全体のバックアップを取ることを強く推奨します。
free -h
# -hオプションは(human readableの略だそうです)
total used free shared buff/cache available
Mem: 1.9Gi 1.6Gi 114Mi 58Mi 209Mi 109Mi
Swap: 0B 0B 0B
Swapが全く作成されていません。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 7.6G 51G 13% /
(後略)
まだ容量的に問題なさそうなので、2GBのディスク領域をSwapとして割り当てます。
sudo fallocate -l 2G /swap
ls -ldh /swap
# 指定ディレクトリに2GBのファイルがあることを確認します
sudo chmod 600 /swap
ls -ldh /swap
# rootのみが読み書き可能なことを確認します
sudo mkswap /swap
スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
ラベルはありません, UUID=f6d01f7d-6a48-45e9-a483-5757ec47cd8e
sudo swapon /swap
free -h
total used free shared buff/cache available
Mem: 1.9Gi 1.2Gi 430Mi 58Mi 283Mi 499Mi
Swap: 2.0Gi 0B 2.0Gi
2GBのSwap領域が確保されました。まずは一安心です。
sudo cp -pi /etc/fstab /path/to/backup/directory/fstab.$(date +%Y%m%d)
diff -u /etc/fstab /path/to/backup/directory/fstab.$(date +%Y%m%d)
# 差分が無いことでバックアップが取れていることを確認します。
cat <<- __EOF__ | sudo tee -a /etc/fstab
/swap none swap sw 0 0
__EOF__
diff -u /path/to/backup/directory/fstab.$(date +%Y%m%d) /etc/fstab
+/swap none swap sw 0 0
sudo reboot
以下が確認できれば作業完了です。
鳥をテーマにしたエンジンビルド、『ウイングスパン』の単体でも遊べる拡張。遊べる人数を大幅に減らした分、よりインタラクションがあふれるゲーム性をもたらしてくれました。
対人戦並びに基本を追加しての群鳥モードはプレイしていないので、本作のつがいモード:対オートマ戦での感想になります。

プレイヤー鳥類保護区の管理人となり
を4ラウンドに渡ってプレイしていき、鳥カード自体の力を借りながら得点を重ねていきます。
これは、ボード上にある鳥カードをプレイしたときに条件が合えば(草原に餌:穀類を必要とする等)追加ボード上につがいトークンを置くことができます。これによって
ことによって、ソロゲーム感が強い本シリーズにより一層の対人感が加わります。なので、強いカードをプレイして卵を産ませていけば勝てる的な常道に加えて「どの鳥をプレイすればここにトークンを置けるか?」が加わります。
また、ラウンドごとの目標もつがいトークンを参照するのでエリアマジョリティ捨てて目標達成を目指すか否かのジレンマも程よく発生。
そして、このトークンを置くことができるのはあくまでも鳥カードをプレイしたとき。なので、基本セットの定番だった卵プレイがかなり弱まっているという印章でした。
「この鳥さえいれば餌/カードには困らない」的なものがかなり弱まっていました。そのため、ゲームのたびに新たなエンジンを考えていく必要があります。
オートマはラウンドごとの目標やエリアマジョリティを明確に狙うようになってきています(その強力さは基本セットにあったキューブによる得点調整を必要としないほど)。ゲーム終盤になれば卵プレイも重ねてくる凶悪さ。
元からオートマが持つ餌やカードドローなしにカードを手に入れるも相まって、一筋縄ではいかないプレイ体験を味わえました。
基本セットにもあったカードストレージやダイスタワーも存在しません。それなのに商品を手に取ったときに「鉄でも入ってる?」と錯覚したほどの密度でコンポーネントが詰まっています。故に、タイル抜きやスリーブ入れを行った後に箱に入れるのは容易ではありません。

(本作用にデザインされたオーガナイザーを用いても蓋が浮きました)
収納に関しては
などの工夫は必須です。
「収納に難がある」以外は『ウイングスパン』伝統のゲーム性はそのままに
が非常に脳に効きます。1~2人で遊ぶ場合はこちらを標準にして欲しいほどの作品でした。
Redmineのチケット管理に大いに役立てているタグプラグイン。ひっそりとサービス終了していたので、その後継に置き換えます。
Redmine 4.2
Gem追加:要
DBマイグレーション:要
※Redmine_Tagsを導入済みの場合は、バックアップを取り、失敗時に復旧できる準備をすることを強く推奨します。
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の実行ユーザに所有者を合わせます
sudo mv additional_tags-1.0.4 /home/www-data/redmine/plugins/additional_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のみがあることを確認します
cd /home/www-data/redmine/
# 自分の環境に合わせます。
sudo -u www-data bundle install
cd /home/www-data/redmine/
# 自分の環境に合わせます。
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo systemctl restart apache2
Redmineにかなり強力なmacroを付与するプラグイン:additionalsをインストールします。
Additionals
https://www.redmine.org/plugins/additionals
2023年1月現在のバージョンはRedmine 5.xから対応しているため、今利用しているRedmine4.2で動かすためには少し作業が必要です。
Redmine 4.2
Gem追加:要
DBマイグレーション:要
cd /hoge
# 任意のディレクトリに移動します
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の実行ユーザに所有者を合わせます
sudo mv additionals-3.0.5.2 /var/lib/redmine/plugins/additionals
# 自分の環境に合わせます。また、ディレクトリ名からバージョン名を外すのを忘れないようにしてください
cd /var/lib/redmine/
# 自分の環境に合わせます。
sudo -u www-data bundle install
cd /var/lib/redmine/
# 自分の環境に合わせます。
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo systemctl restart apache2
「Additionals」の名前は伊達ではなく、有用なマクロが加わっているという印象です。どういう使い方ができるかは要検証です。

こちらの「matomoとRedmineの連携」にて「view_customize_pluginで設定がうまくいなかった」件について、Redmine_jpの代表様から直々のコメントをいただきました。
View Customizeプラグインでのトラッキングコード挿入がうまくいかなかった件、matomoで生成したトラッキングコードから と の計2行を削除するとうまくいきそうな気がします。
アクセス解析システムmatomoと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
# バックアップと差分がないことで切り戻しを確認します
sudo systemctl restart apache2.service
aystemctl status apache2.service
# 自分が使っているWebサービスに合わせます
設定後、「有効」にチェックを入れ「保存」をクリックします。
保存後、Redmineサイト内のページをいくつか表示させます。
解析対象のRedmineで解析されていることを確認します。
構築を行ったmatomo。Redmineでアクセス解析ができるように設定をしていきます。
以下の環境で動作を確認しています。
以下、SSHクライアントで実施する作業です
※既存システムに変更を加えるため、設定ファイルのバックアップは必須です※
matomoのWebサイトを構築/初期設定後、以下のようなJavaScriptトラッキングコードが表示されます。
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
スクリプト
})();
</script>
<!-- End Matomo Code -->
これを控えておきます。
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サービスに合わせます
以上で、設定は完了です。
この手のJavaScriptを入れるため、格好のプラグイン「view_customize_plugin」を使えばSSHで作業する必要は無かったと思いますが、筆者の知見不足でその設定はうまくいきませんでした。
以下の設定を行いました。
その後、作成をクリックするもヘッダに
})();
と追加されるのみでした。
オープンソースの解析システムであるmatomoをAWS Lightsail上にインストールしました。
※アクセス対象のシステムへの設定は別の記事で紹介します。
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;
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
# 該当ディレクトリにファイル一式があることを確認します
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を設定したドメイン名】
にアクセスし、初期画面が出ることを確認します。

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

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

◎データベースを設定します。
をそれぞれ入力し、「次へ」をクリックします。正常に入力されれば「テーブルを作成されました」とデルので「次へ」をクリックします。
◎スーパーユーザーを設定します。

をそれぞれ入力して「次へ」をクリックします。
◎アクセス解析を行うウェブサイトを設定します。
を設定して「次へ」をクリックします。
これらを設定後、トラッキングタグが表示されます。これらを控えて「次へ」をクリックします。
「おめでとうございます!」と表示されればインストールの一連の作業は完了します。
インターネット環境にあるRedmineを不正ログインから防ぐため、不正ログイン対策パッケージfail2banと連携させました。
https://www.redmine.org/projects/redmine/wiki/HowTo_Configure_Fail2ban_For_Redmine
2023年1月現在、以下の環境で動かしています。
以下、既に導入済みです。
本記事ではproduction.logの格納場所を
/var/log/redmine/production.log
としています。ご自身の環境に合わせてください。(通例は/var/lib/redmine/log の場合が多いです)
稼働サービス(fail2ban)に修正を加えるので、必ずバックアップは取りましょう。
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ユーザで上記ファイルが作成されていることを確認します。
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)
# バックアップ元とバックアップ先の差分が無いことでバックアップが取れていることを確認します。(何も返ってこなければ正常にバックアップできています)
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)であることを確認します。
以上で、設定は完了です。
こちらで作成した「広角ズームを見据えた造花トレリス」、その続きです。

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

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

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

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

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


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