投稿者: manualmaton Page 34 of 248

書き直し:Ubuntu 22.04系にRedmine5.1をインストール。(手順書の基準)

こちらの記事を、現在の自分の手順書の基準に直しました。

心がけている基準

  • 1区切りで1コマンド。
    • コピペする際に連続で実行する際のエラーを防ぎます。
    • 特に、SQLを操作する際は1行ずつ、確実に行いたいのでこれで書き直しです。
  • 可能な限りテキストエディタは用いない。
    • 設定ファイルの書き換えや追記はsedやteeを使います。
    • 使用する必要がある場合はその旨を追記します。

こうしてできたのがこちら。

前提

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

特記事項

  • 本手順ではRedmine 5.1をインストールします。
  • よほどのことがない限り、Ubuntu22.04にインストールするのはこのバージョンになります。
  • 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/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
  • シークレットトークンの発行
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でログインし、強固なパスワードを設定し直します。

Ubuntu 20.04 / 22.04で稼働しているApache HTTP Server 2.4の脆弱性対応。

2024年4月に発表された脆弱性への対処を行います。

脆弱性内容

  • Apache HTTP Serverのコア機能におけるHTTPレスポンス分割の問題(CVE-2023-38709)
  • 複数のモジュールにおけるHTTPレスポンス分割の問題(CVE-2024-24795)
  • HTTP/2 CONTINUATIONフレームの検証不備に起因したメモリ枯渇の問題(CVE-2024-27316)

https://jvn.jp/vu/JVNVU99032532

環境

  • Ubuntu 20.04 および Ubuntu 22.04
  • Apache 2.4系を利用

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

sudo add-apt-repository ppa:ondrej/apache2

Apacheのバージョンアップを行います。

  • パッケージ全体のアップデート
sudo aptitude update
  • パッケージのアップグレード
sudo aptitude upgrade

このリストの中にapache2とapache2関連パッケージが更新される(2024/04/10現在)ため、それぞれアップグレードを行います。

バージョンアップを確認します。

apache2ctl -v

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

対応を行った日付

2024/04/10

買い直した『眼』。(M.ZUIKO DIGITAL ED 14-42mm F3.5-5.6 EZ)

再びのオリンパスから活躍していたキットレンズ(3倍ズーム)。去年の5月に壊れてしまいました。

そこからは

  • パンケーキ単焦点
  • マクロ
  • ズーム

等でお茶を濁していましたけれども、「出かけるときにはこのレンズが欲しい」ということで、

M.ZUIKO DIGITAL ED 14-42mm F3.5-5.6 EZ

買い直しました。(8年ほど使っていたコンデジが寿命を迎えたのも追い風でした)

試写

長らく使っていたレンズだけに、体が覚えている操作感です。

  • ズーム
  • 標準距離
  • バストショット
  • 広角

も、軽く流しただけでも、「この軽さと小ささ」はアドバンテージ。

フィギュア撮影でもこなしますので、今度は屋外で試してみます。

花と池。

葛西臨海公園のあと、芝離宮庭園を訪れました。

目当てはもちろん、この桜です。

落ちる花びらとこけの取り合わせは、一瞬、ここが都心であると忘れさせてくれますが

池に映るビル群で、居場所を思い出させてくれました。

魚の額縁。

「今年は身近な施設を色々と訪れる」という目標を達成するため、

葛西臨海水族園に訪れました。

10年以上の経過で、写真やカメラの技術が向上しているかを確かめていました。

手応えは上々。薄暗い施設内、動く対象でも捉えてくれています。

今回、威力を実感したのは広角レンズ。

「どうやって使うものか」と悩みどころのあるレンズではありましたが、近い距離で多くを撮りたいときに役立ちます。

おかげで、額縁を切り取るかのような撮影ができました。

デッキのかみ合い。(統率者メモ:2024/04/08)

休日に統率者を回していきました。思いの他の大活躍です。

使ったデッキ: 13代目ドクター&ヤズミン・カーン

「迷走している」と言いながら、自力のカードアドバンテージの差で勝利。

特に《燃えさかるティラノサウルス》が中堅の統率者を何度も焼き払いました。

画像

特に、《過去へ帰還せよ》で《冒涜の行動》や《間の悪い爆発》を使い回すムーブが強烈でした。

3代目ドクター&ティーガン・ジョヴァンカ

ドクター・フー統率者デッキとカルロフ邸殺人事件の2つを合わせたデッキ。統率者ダメージにするのは良かったものの、

68/64の統率者にそのまま殴られて終了です。

グレムリンの神童、ジンバル

これが一番活躍しました。

打点とリカバリーを軸に据えたこともあり、リセットを喰らっても立て直しができました。

ゲームの流れを大きく支配したのが、相手の《意外な授かり物》に対応して《サイクロンの裂け目》を超過したこと。

これで手札が大きく大きく膨れ上がり、その後のリセットでもリカバリー。

最終的に、《機械化製法》による特殊勝利も果たせました。

思い入れのあるデッキだけに、勝利の味は格別でした。

ビルトインの自動アップデート機能を使って、Snipe-ITをv6.3.3からv6.3.4にアップグレード。

概要

プログラムに備わっている自動アップデートスクリプトを使い、Snipe-ITのアップグレードを行いました。

  • アップグレード前:v6.3.3
  • アップグレード後:v6.3.4

前提

以下の環境で動いています。

  • Ubuntu 22.04
  • Apache 2.4
  • MySQL 8.0.36
  • PHP 8.1.27
  • Composer 2.6.6

参考手順

https://snipe-it.readme.io/docs/upgrading

さっくりとした手順

Snipe-ITがインストールされているサーバでコマンド操作を行います。

  1. Snipe-ITのインストールディレクトリに移動します。
  2. バックアップ用の仮ファイルを作成します。
  3. アップグレードスクリプトを実行します。
  4. ブラウザでアップグレードを確認します。

Snipe-ITのインストールディレクトリに移動

cd /home/www-data/snipe-it

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

仮ファイル作成

sudo -u www-data touch ./storage/app/backup-temp
  • これを作っておかないと、後のスクリプトでエラーとなりました。
  • Snipe-ITはApacheで実行しているので、仮ファイルは所有者権限で作成します。

アップグレード

sudo -u www-data php upgrade.php
スクリプト例
--------------------------------------------------------
WELCOME TO THE SNIPE-IT UPGRADER! 
--------------------------------------------------------

This script will attempt to: 

- validate some very basic .env file settings 
- check your PHP version and extension requirements 
- check directory permissions 
- do a git pull to bring you to the latest version 
- run composer install to get your vendors up to date 
- run migrations to get your schema up to date 
- clear out old cache settings

Launching using branch: master
Found PHP requirements, will check for PHP > 7.4.0 and < 8.2.0
Proceed with upgrade? [Y/n]: 

確認はこの部分だけです。PHPのバージョンを確認した上で「y」を入力します。

(中略)

--------------------------------------------------------
STEP 9: Migrating database:
--------------------------------------------------------

Migrating: 2024_03_18_221612_update_legacy_locale
Migrated:  2024_03_18_221612_update_legacy_locale (154.60ms)

--------------------------------------------------------
STEP 10: Checking for OAuth keys:
--------------------------------------------------------

√ OAuth keys detected. Skipping passport install.

--------------------------------------------------------
STEP 11: Taking application out of maintenance mode:
--------------------------------------------------------

-- Application is now live.

---------------------- FINISHED! -----------------------
All done! Clear your browser cookies and re-login to use 
your upgraded Snipe-IT!
--------------------------------------------------------

ここまで進めばスクリプトは完了です。

アップグレード確認

  1. ブラウザからSnipe-ITにログインし直します。(一度ログアウトします)
  2. Web画面の右下のバージョンが上がっていれば成功です。

ソースコードからインストールしたOpenSSHを9.6.1p→9.7.1にアップデート(Ubuntu 20.04)

この記事の続きです。

概要

ソースコードからインストールしたOpenSSH9.6p1を、更にOpenSSH9.7p1にバージョンアップします。

前提

Ubuntu 20.04での動作確認です。

上記手順を用いて、ソースコードからOpenSSHをインストールしています。

さっくりとした手順

  1. 作業用ディレクトリに移動します。
  2. ソースをダウンロードします。
  3. OpenSSHをソースからビルドします。
  4. バージョンアップを確認します。

バージョンアップ前の確認

ssh -V
OpenSSH_9.6p1, OpenSSL 3.2.1 30 Jan 2024

作業用ディレクトリ移動

cd /hoge && pwd

任意のディレクトリを指定します。

ソースのダウンロードと展開

  • ソース取得
wget -c http://mirror.exonetric.net/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

2024/04/04現在の最新版を指定しています。

  • ソース展開
tar -xzf openssh-9.7p1.tar.gz
  • ディレクトリ移動
cd openssh-9.7p1

コンフィグ

  • OpenSSLの位置を確認
which openssl
  • 結果確認
/usr/local/ssl/bin/openssl

筆者の環境です。

  • コンフィグ
./configure --with-kerberos5 --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl

--with-ssl-dir=/usr/local/sslは、opensslのヘッドディレクトリを指定します。

  • make
make
  • インストール
sudo make install

バージョンアップ確認

※別にターミナルを開いて確認します。

  • バージョン確認
ssh -V
OpenSSH_9.7p1, OpenSSL 3.2.1 30 Jan 2024

バージョンアップされていることを確認します。

  • SSHサービス再起動
sudo systemctl restart ssh.service
  • サービス再起動確認
sudo systemctl status ssh.service

active(running)を確認します

必要に応じてサーバの再起動を行ってください。

3個目のユニバースビヨンド。(統率者メモ:2024/04/05)

次のセットと相性がよさそう+面白いカードがあるということで、入手しました。

ドクター・フーの統率者デッキ、『悪の支配者』です。

内容は以下の通り。

統率者

  • ダーレクの創造主、ダヴロス/Davros, Dalek Creator

デッキ

クリーチャー

  • ミッシー/Missy
  • オートンの兵士/Auton Soldier
  • 火星の水ゾンビ/The Flood of Mars
  • サイバーへの変換/Cyber Conversion
  • ダーレクのドローン/Dalek Drone
  • ヴァシュタ・ナラーダ/Vashta Nerada
  • タイムリーパー/Time Reaper
  • ヴィスラー・ターロー/Vislor Turlough
  • 増殖されし者、マスター/The Master, Multiplied
  • 催眠術師、マスター/The Master, Mesmerist
  • 戦時大統領、ラシロン/Rassilon, the War President
  • ギャリフレイの終焉、マスター/The Master, Gallifrey's End
  • ヴァリヤード/The Valeyard
  • 嘆きの天使/Weeping Angel
  • 不死皇、ビースト/The Beast, Deathless Prince
  • ラニ/The Rani
  • シコラックスの司令官/Sycorax Commander
  • サイバーコントローラー/The Cyber-Controller
  • スカロの集団/Cult of Skaro
  • 皇帝ダーレク/The Dalek Emperor
  • 孤高のサイバーマン、アシャド/Ashad, the Lone Cyberman
  • 再誕者、マスター/The Master, Formed Anew
  • サイバーマン軍団/Cybermen Squadron
  • 造反のサイレンス/Renegade Silent
  • ザイゴンの侵入者/Zygon Infiltrator
  • ダーレク軍団/Dalek Squadron
  • ソンターランの将軍/Sontaran General
  • サイバーマンの巡回兵/Cyberman Patrol
  • サイバーマット/Cybermat
  • 機械仕掛けのドロイド/Clockwork Droid
  • 真面目な身代わり/Solemn Simulacrum

呪文

  • ファミリーの擬態/Hunted by The Family
  • 終末の合流点/Doomsday Confluence
  • 玩具職人の罠/The Toymaker's Trap
  • ダーレク族の誕生/Genesis of the Daleks
  • こうして終わりを迎える/This Is How It Ends
  • 天国での死/Death in Heaven
  • 消却/Delete
  • マーラによる誘惑/Ensnared by the Mara
  • 月面着陸の日/Day of the Moon
  • まばたき/Blink
  • サイバーシップ/Cybership
  • 鳴り響くドラム/The Sound of Drums
  • まばたきするな/Don't Blink
  • 抹殺せよ!/Exterminate!
  • 大知性体の策謀/Great Intelligence's Plan
  • ミッドナイト・クルセイダー・シャトル/Midnight Crusader Shuttle
  • レーザー・スクリュードライバー/Laser Screwdriver
  • 傷の反射/Wound Reflection
  • 冒涜の行動/Blasphemous Act
  • 秘儀の印鑑/Arcane Signet
  • 太陽の指輪/Sol Ring
  • 思考の器/Thought Vessel
  • 精神石/Mind Stone
  • 稲妻のすね当て/Lightning Greaves
  • プロパガンダ/Propaganda
  • 大群への給餌/Feed the Swarm
  • 殺し/Snuff Out
  • 統率者の宝球/Commander's Sphere
  • 旅人のガラクタ/Wayfarer's Bauble
  • 威圧のタリスマン/Talisman of Dominance
  • 耽溺のタリスマン/Talisman of Indulgence

土地

  • 2:島/Island
  • 2:沼/Swamp
  • 2:山/Mountain
  • ギャリフレイ評議堂/Gallifrey Council Chamber
  • 不吉な墓地/Ominous Cemetery
  • 涙の川/River of Tears
  • 凶兆の廃墟/Foreboding Ruins
  • シャドーブラッドの尾根/Shadowblood Ridge
  • 燻る湿地/Smoldering Marsh
  • 欺瞞の神殿/Temple of Deceit
  • 詰まった河口/Choked Estuary
  • 窪み渓谷/Sunken Hollow
  • ダークウォーターの地下墓地/Darkwater Catacombs
  • 異臭の池/Fetid Pools
  • 悪意の神殿/Temple of Malice
  • 泥濘の峡谷/Canyon Slough
  • 風変わりな果樹園/Exotic Orchard
  • 天啓の神殿/Temple of Epiphany
  • 凍沸の交錯/Frostboil Snarl
  • 嵐削りの海岸/Stormcarved Coast
  • 焦熱島嶼域/Fiery Islet
  • 溶岩爪の辺境/Lavaclaw Reaches
  • 難破船の湿地/Shipwreck Marsh
  • 水没した地下墓地/Drowned Catacomb
  • 憑依された峰/Haunted Ridge
  • 竜髑髏の山頂/Dragonskull Summit
  • 忍び寄るタール坑/Creeping Tar Pit
  • 統率の塔/Command Tower
  • 広漠なる変幻地/Terramorphic Expanse
  • 興隆する湿地帯/Thriving Moor
  • 祖先の道/Path of Ancestry
  • 邪神の寺院/Temple of the False God
  • 聖遺の塔/Reliquary Tower
  • 崩れゆく死滅都市/Crumbling Necropolis

こちらもそれなりにアーティファクトシナジーがあり、また、メインテーマ「最悪の二択」により、ジレンマを押しつけることができます。

コンセプトをそのままに強化するのは難しそうではありますが、やってみる価値はあります。

やりなおし、書き直し。

起こったこと

結論から言うと、別に管理しているBookStackサイトを一から作り直す羽目になりました。

https://barrel.reisalin.com

事象としては

  • ページを作れなくなった。
  • 状況を確認しようとさらに試したらログインすらできなくなった。
  • (エラーが発生しています)のみ表示される。

原因

おそらく

の時に、バージョン24を試したこと。

その際にartisan migrateが走りませんでした。

こちら、起き抜けにてなりで作業していたために、諸々の記録が残っていなかったのが悔やまれます。

コンテンツの書き直し

とはいえ、下書きはある程度あるので、ドキュメントの再作成がやりやすかったのは幸いです。

本棚も、自分が読みやすいように整理しています。

これから

  • コンテンツの拡充
  • 可能な限りの再現性の確認

などをおこなっていきます。

Page 34 of 248

Powered by WordPress & Theme by Anders Norén