カテゴリー: ガジェット Page 9 of 85

検証:Ubuntu20.04にredmine5.1をインストールする。

概要

Redmineとrubyのバージョン対応を見る限りですと、

Redmine 5.1はruby2.7で動きます。

Ubuntu 20.04で標準的にインストールされるrubyは2.7です。そこで、EOLが迫っているUbuntu 20.04で、敢えてRedmine 5.1がインストールできるかを検証しました。

前提

  • Ubuntu20.04サーバの初期設定が終わった直後の状態を想定します。
  • DNSでドメインの名前が解決できることを前提としています
  • 環境は以下の通りです。
  • Apache系
  • MySQL
  • Ruby 2.7
  • また、パッケージ管理としてaptitudeを用いています。aptが好みの方はこちらに読み替えてください。

特記事項

  • 本手順ではRedmine 5.1をインストールします。
  • 2025年4月にEOLが迫っているUbuntu 20.04で動かすという検証が目的であることを重ねて追記します。
  • 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/redmine)と異なることを最初に注記します。
  • ほぼコピペだけで済むような構成にしていますが、一部、テキストエディタを使用する箇所があります。
  • また、自身の環境に合わせたりパスワードを設定する項目がありますのでそこは注意してください。
  • Redmineのインストールができたという検証のみです。動作やプラグインと合わせては未検証です。

手順

Apacheのレポジトリを追加します。

sudo add-apt-repository ppa:ondrej/apache2

必要なパッケージをインストールします。

  • パッケージ全体のアップデート
sudo aptitude update
  • 必要なパッケージのインストール
sudo aptitude install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev mysql-server mysql-client apache2 apache2-dev libapr1-dev libaprutil1-dev imagemagick libmagick++-dev fonts-takao-pgothic subversion git ruby libruby ruby-dev libmysqlclient-dev

apacheの追加モジュールをインストールします。

sudo aptitude install libapache2-mod-passenger

apacheのバージョンを確認します。

apache2ctl -v

Apache/2.4.59以降であることを確認します。2.4.58には、http/2プロトコルへの脆弱性があるので、左記のバージョンであることを確認します。

rubyのパッケージ管理(gem)を用いて必要なライブラリをインストールします。

sudo gem install bundler racc mysql2

「3 gems installed」が表示されればインストール成功です。

必要に応じてmysqlの初期設定を行います。

mysql_secure_installationによる初期設定を行います。

うまくいかない場合は以下を参照してください。

https://barrel.reisalin.com/books/bbf94/page/mysql-secure-installation

mysqlでDBとユーザーを設定します。

sudo mysql -u root -p

上記で設定した「mysqlのrootパスワード」を入力し、mysqlにログインします

CREATE DATABASE redmine character set utf8mb4;

DB "redmine" を作成します

CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';

ユーザ "redmine"を作成し、パスワードを設定します。
この'password'は任意のパスワードに変更してください

GRANT ALL ON redmine.* TO 'redmine'@'localhost';
flush privileges;
exit

設定したDBでログインできることを確認します。

mysql -u redmine -p
SHOW DATABASES;
exit
  • 配置ディレクトリ作成
sudo mkdir -p /home/www-data/redmine

自分の環境に合わせます。

  • 所有者変更
sudo chown -R www-data:www-data /home/www-data
  • Redmine 5.1を入手
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.1-stable /home/www-data/redmine

Redmineのコンフィグを設定します。

  • サンプルファイルをコピーしてコンフィグを編集
sudo cp -pi /home/www-data/redmine/config/database.yml.example /home/www-data/redmine/config/database.yml

/home/www-data/redmine/config/database.yml

このファイルを教義・信仰に従ったエディタで編集してください。

database.yml 編集内容

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  # rootからredmineに変更します
  password: "redmine用のパスワード"
  encoding: utf8mb4
# 本番環境(production)のみ設定を行います

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

  • Redmineのルートディレクトリに移動
cd /home/www-data/redmine/ && pwd

/home/www-data/redmine/ (Redmineを配置したディレクトリ)であることを確認します

  • bundle install
sudo -u www-data bundle install --without development test --path vendor/bundle
  • シークレットトークンの発行(※Ubuntu 20.04の場合)
sudo -u www-data bundle exec rake generate_secret_token

を実行すると、

Could not find date-3.3.4, timeout-0.4.1 in any of the sources
Run `bundle install` to install missing gems.

というメッセージが出てきます。このエラーに対処します。

  • dateのアップデート
sudo -u www-data bundle update date
  • エラー修正後のシークレットトークンの発行
sudo -u www-data bundle exec rake generate_secret_token

今度は通ります。

  • DBマイグレーション
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
  • 日本語化
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

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

【】を自分の作成したRedmineのサーバ名/ドメイン名に変更します。

cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/redmine.conf
<VirtualHost *:80>
    ServerName 【hoge.example.com】
    # ServerNameは自身が設定したredmineに読み替えてください。
    DocumentRoot /home/www-data/redmine/public
    <Directory /home/www-data/redmine/public>
        Options -MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
__EOF__

設定を反映させます。

  • ファイル作成確認
ls -l /etc/apache2/sites-available/redmine.conf
  • 設定ファイル有効化
sudo a2ensite redmine.conf
  • 初期サイト設定を無効化
sudo a2dissite 000-default.conf
sudo a2dissite default-ssl.conf
  • コンフィグファイル整合性確認
sudo apache2ctl configtest

Syntax OK を確認します

  • 設定反映前のapacheステータス確認
systemctl status apache2.service

active(running)を確認します

  • apache再起動
sudo systemctl restart apache2.service
  • 設定反映後のapacheステータス確認
systemctl status apache2.service

active(running)を確認します

Webページの表示を確認します。

http://設定したRedmineドメイン

でRedmineのトップページが表示されれば成功です。

直ちにadmin/adminでログインし、強固なパスワードを設定し直します。

Redmineの文字色変更を容易にするプラグイン導入(Redmine_wiki_text_colorizer)

概要

RedmineはMarkdwon準拠なので、タグによる文字色の変更が可能。

とはいえ、色指定や範囲が結構面倒です。それを解消するプラグインを導入します。

redmine_wiki_text_colorizer

動作確認環境

  • Ubuntu 22.04
  • Redmine 5.1
  • Apacheで稼働(実行ユーザはwww-data)

導入手順

例によって、SSH(または直接ターミナルに入っての)導入です。

ディレクトリ移動

cd /path/to/redmine/root/directory/plugins && pwd

自分の環境に合わせます。 (筆者の環境/home/www-data/redmine/plugins)

プラグイン導入

  • git clone
 sudo -u www-data git clone https://github.com/sk-ys/redmine_wiki_text_colorizer
  • clone確認
ls -ld redmine_wiki_text_colorizer

ディレクトリがあることを確認します。

  • apache(webサービス再起動)
sudo systemctl restart apache2.service

自分の環境に合わせます。

導入後の確認

Wiki、チケットやコメントの編集画面を表示します。

Wiki編集画面に、「A」のアイコンが2つ並んでいるボタンが追加されます。

文字を選択した後、このボタンを押すと文字色のパレットが表示されます。

任意の色を選ぶと、

選択した箇所がタグで囲まれます。(それと同時にボタンの色が選んだ文字色になります)

プレビュー/保存などで文字色が変わっていれば導入できています。

ポータブルゲーミングPC MSI-Clawを使ってのレビュー。

こちらを購入してから10日ほど経過。値下げセールも続いているので気になっている方もいると思いますので、実際に使った感想を述べます。

Pros

思ったよりもバッテリーが保つ。

公称2時間は大体当たっています。(とはいえ、プレイしているのが『ライザのアトリエ3』の標準画質)

輝度を半分以下に減らし、バッテリー節約モードにすればさらに保つのではという印象。

また、パフォーマンスを自動的に判別してリソースを調整するモードがあるため、このぐらいのゲームであれば問題なく動きます。

見た目ほど重くない。

やや大仰な印象でしたが、670gと、ちょっとしたタブレット程度。運用上、どうしても両手でホールドするため、重さは許容できる範囲です。

冷却ファンはあまり気にならず。(個人の感想)

背面の半分以上が冷却スペースを兼ねていることもあり、冷却性能は相当のものです。(ただし、後述する条件があります)

ファンの音もゲームにさわりがあるようなものではありませんでした。

安心できる1TBのSSD

Steamゲームには容量を必要とするゲームがそれなりに。なので、一般的な500GBのほぼ倍の1TBはかなり安心できます。

実際、2024/07/25現在、本機のSSD使用量は550GBほど。バッファがあるのはありがたいです。

Cons

ホットキーの連携がうまくいかないときがある。

背面2つのマクロボタンとコントローラーの組み合わせでスクリーンショットなどの機能を有していますが、これが時々つながりません。

ゲーム/本体を再起動すれば直りますが、確定する再現には至っていませんでした。

テザリングとの連携(仕様とも関係あり)

iPhoneのテザリングを用いてネットワークにつないでいますが、これが一定時間が過ぎると接続されません。

  • スマートフォンがiPhone 11と古い
  • 自動接続をオフにしている

の縛りがあるからかもしれないですが、セーブデータをクラウド上に保存するときに少々面食らいました。

運搬時の排熱

専用のキャリングケースは、あくまでも保護を優先としているため冷却は一切考慮していません。

なので、ゲームを一時中断してケースに入れると、たちまち排熱で本体が熱くなります。

そのため、

  • 電車の中などでプレイする場合はむき出しで
  • ケースに入れる際には電源を落とす

ことで、しっかり冷やす必要がありました。

現時点で

以上、自分が思った利点と欠点を述べましたが、

「通勤時間に自分の好きなゲームができる」

というのはライフスタイルというかQoLが上がるレベルです。

Redmineに「元に戻す」「やり直し」追加(Redmine Wiki Historyプラグイン)

概要

RedmineにWord / Excel等にある「アンドゥ」「リドゥ」を追加するプラグインで、誤消去などを防ぎます。

Redmine Wiki History

動作確認環境

  • Ubuntu 22.04
  • Redmine 5.1
  • Apacheで稼働(実行ユーザはwww-data)

導入手順

例によって、SSH(または直接ターミナルに入っての)導入です。

ディレクトリ移動

cd /path/to/redmine/root/directory/plugins && pwd

自分の環境に合わせます。 (筆者の環境/home/www-data/redmine/plugins)

プラグイン導入

  • git clone
 sudo -u www-data git clone https://github.com/sk-ys/redmine_wiki_history
  • clone確認
ls -ld redmine_wiki_history

ディレクトリがあることを確認します。

  • apache(webサービス再起動)
sudo systemctl restart apache2.service

自分の環境に合わせます。

導入後の確認

Wiki、チケットやコメントの編集画面を表示します。

このようにアンドゥ(元に戻す)、リドゥ(やり直し)ボタンが表示されます。

入力した後に取り消し/やり直しができていれば導入成功です。

スタンド&充電スペース。

購入したポータブルゲーミングPC「MSI Claw」の自宅での設置場所を決めました。

用意したのは充電スタンドを兼ねたドッキングポート。

充電コネクタがType Cのため、給電しつつ

  • USBポート
  • HDMIポート
  • 有線LANポート

を増設します。

この、有線がついているのが結構なポイント。これのおかげで重いゲームをダウンロードするときの効率化を図れました。

ただ、普通の充電スタンドと勘違いしてそのまま上に引っ張り出し、コネクタ(ケーブル)と取り違えることが数回あったので、底だけは注意が必要です。

また、この状態で給電するためには100W/65W対応のACアダプターとケーブルが必要だったことを付記しておきます。

モバイルゲーミングPC、開封。(MSI Claw)

到着:Claw A1M

これを購入した理由はいくつか。

平日のゲーム時間の確保。

これが最大の理由です。

平日、ゲームを集中して行うには電車での移動中が一番。そこでゲーム機が欲しいと思っていました。

既存ソフトウェア資産の流用。

本体価格は確かにSwitchの方が安かったものの、Steamの資産をそのまま使いたいという要望がありました。

必然的にSteamが動く機体となります。

軽さと価格。

Steam Deckを考えたものの、在庫的に入手できず。

  • Rog Ally
  • Legion Go

などが他の候補に挙がりましたけれど、Legion Goは思った以上に重く「電車の中でプレイする」という用途からは外れました。(価格もまた厳しいものがありました)

Legion Goの新型を間近に控えていましたがこれも価格がデスクトップに迫ります。

  1. 重さ
  2. 価格
  3. 容量(1TBのSSDがメインストレージ)

で10万円を切るということで、MSI Clawを選んだという次第です。

開封

内容は至ってシンプル。本体と電源アダプターのみと潔い構成です。

重さは実機でも確かめましたけれど、600g程度なのでタブレット程度と悪くありません。

そして、セットアップとSteamインストール、ゲームのダウンロードまでは完了。

軽めの3Dゲームはサクサク動くという印象。

液晶もクリアで小さな文字が潰れないというのは助かります。

実際のプレイ感などは更に検証していきます。

保存と切り分け。

朝の限られた時間で調理を行う手助けとなります。

洋風のおかずを作るときの共となるバター。

定量を切ることとが難点ではありましたが、この容器が解決。

蓋部分にワイヤーが貼られていて

バターをそのまま押し込むことで……

均一に、使いやすいサイズへと切り分けてくれました。

このまま冷蔵庫に保存できるのもお気に入り。

容器本体が高いとは言え、今までの問題を解決です。

Growiサーバのnodeバージョンアップ。(18系→20系)

概要

Growi v7系の動作が安定してきたので、サーバのnodeのバージョンを18系から20系に切り替えます。

バージョンアップ前の環境

  • Ubuntu 22.04
  • Growi v7.0.12
  • node v18.20.3
  • npm 10.7.0
  • yarn 1.22.21

Dockerを利用していないオンプレ環境です。

さっくりとした手順

  1. 作業前に周知を行います。(複数ユーザーで運用している場合)
  2. メンテナンスモードに切り替えます。(またはサービスを停止します)
  3. n packageをインストールします。(インストールしていない場合)
  4. n packageを用いてnodeをバージョンアップします。
  5. nodeのバージョンアップを確認します。
  6. growiを再起動します。
  7. メンテナンスモードを解除します。(実行していた場合)

作業前の周知

単独で利用している場合はこれは不要です。

メンテナンスモードの切り替え

以下のいずれかを選んでください。

  • Growiに管理者権限でログイン後に設定→アプリ設定→「メンテナンスモードを開始する」
  • サーバでsudo systemctl stop growi.serviceを実行する(systemdに登録している場合)

n packageをインストール (インストールしていない場合)

sudo npm install n -g

これを用いてnode.jsをインストールしていきます。

n packageを用いてのバージョンアップ

  • node 20系にバージョンアップ
sudo n 20

バージョンアップ確認

node -v

v20.15.1を確認しました。(2024/07/12現在)

growiサービスの再起動

systemdに登録している場合の手順です。

sudo systemctl restart growi.service

再起動後、Growiにアクセスできることを確認します。

nodeバージョンアップ後の対応

  1. Growiに管理者権限でログインします。
  2. 設定を開き、システム情報でnodeがバージョンアップされていることを確認します。
  3. メンテナンスモードの切り替えを行った場合は、設定から解除します。
  4. 既存機能が使えることを確認します。

情報カードホルダーのオーダーメイド。

「情報カードをもっとスマートに持ち歩く方法はないか」

と思っていた先に見つけました。

レザークラフトのサイトより

情報カードケースです。

二つ折りに、B6の情報カードが入ります。右のマチが浅いのはそのままかけるようにという配慮。

色合いも好みですし、仕立てもしっかり。これからの後に使い込みたいという製品でした。

BookStack マークダウンエディタのチートシート(ショートカット)。

BookStackで記事を編集中、適当にキーボードを操作していたら、見出しが自動的に入ったので調べてみました。

https://www.bookstackapp.com/docs/user/markdown-editor

ショートカット一覧

ショートカット説明備考
Ctrl + S下書きを保存投稿して公開は下の機能を使います
Ctrl + Enterページを保存して公開
Ctrl + 1見出し(h2)## が入ります
Ctrl + 2見出し(h3)### が入ります
Ctrl + 3見出し(h4)#### が入ります
Ctrl + 4見出し(h5)##### が入ります
Ctrl + 5段落いわゆる\<p>です
Ctrl + 6段落いわゆる\<p>です
Ctrl + 7コードブロック```~```が入ります
Ctrl + Eコードブロック```~```が入ります
Ctrl + 8インラインコード`~`が入ります
Ctrl +O番号付きのリスト1. が入ります
Ctrl + P箇条書きリスト- が入ります
Ctrl + Kリンク挿入[]()が入ります
Ctrl + Shift + KBookStack内のリンク挿入ページ一覧がモーダル表示されます
Ctrl + Shift + IURL経由での画像挿入![](http://)が入ります

※Macを利用する方はCtrlをCommandに読み替えてください。

これらのショートカット、非常に便利。特に見出しとコードをシームレスに入力できるのは大きなアドバンテージでした。

Page 9 of 85

Powered by WordPress & Theme by Anders Norén