こちらに素敵な機能が備わっていました。

ストラップやキーホルダーを付けられる留め具です。
作成者の「色々と飾りたいでしょう」という心遣いに感謝すると共に、早速、

取り付けです。熊の爪は昨年、温泉に訪れた折に買ったものだったりします。

こういう、思い入れの小物やらが側にあると、モチベーション維持に発揮してくれます。
回してきました。
https://barrel.reisalin.com/books/7380a/page/20231203
リストはここから変わらずです。
印鑑、旅人のガラク等から順調に加速していき、場が完全に膠着したところに
決まればラッキー的に仕込んでいた
が決まり、無限での勝利。このデッキ、今まで買ったことがなかったので初の快挙を成し遂げた感じです。
購入したときは2人でしか遊んでいませんでしたが、4人で回す機会に恵まれました。
4人だとこちらの思惑と異なる形で勝敗が決まるので、『アズール』と同じように人数でプレイ感が変わるゲームです。
これに関しては高評価も戴いたので、改めてレビューをしていきます。
かなり保ったものが底をついたり予想外のペースで買う羽目になったり。
今年の目標、『ハリー・ポッター』シリーズ全てを原文で読むも、
それぞれ読み終え、三作目『アズカバンの囚人』に進みました。
当初の予定では1月中に『賢者の石』を読み終え、2月獣に読み終えれればと思いましたが、想定は読むペースの方が早かったという。
また、情報カードの活用で出力する機会が一気に増えましたので、この機会にプリンタ用紙・インクを補充。
印刷を多用することもあるだろうということで、このタイプにしておいて助かりました。
書庫と在庫を足した買い物です。
Redmine 4.1と同じような仕組みが構築できました。
Redmineでメール送信ができることです。
#!/bin/sh
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
cd /home/www-data/redmine
# 自分が格納しているRedmineのルートディレクトリ
bundle exec rake redmine:send_reminders days=7 RAILS_ENV=production
# この例では7日前に通知します。days=nの部分を変えることで日数を指定できます
作成後、以下を実行して実行権限を付与します。
sudo chmod +x redmine_reminder.sh
sudo crontab -l -u -root
30 15 * * * /path/to/script/directory/redmine_reminder.sh
# スクリプトを格納したディレクトリを指定します
編集後、指定した時刻にメールが送られてくれば成功です。
デスクトップPCとしてのLinux利用(Kubuntu 22.04インストール後にやったこと) – Manualmaton's Laboratory
こちら、ローカルサーバとして運用することにしています。
公開しているサイトと異なりnginxで動かしているので、その場合のメモです。
インストールして最初の設定が終わっている状態です。
sudo aptitude install nginx
sudo aptitude install mysql-server mysql-client libmysqlclient-dev
sudo cp -pi /etc/mysql/mysql.conf.d/mysqld.cnf /path/to/backup/mysqld.cnf.$(date +%Y%m%d)
# 任意のバックアップディレクトリを指定します。
# .$(date +%Y%m%d)をつけることで、バックアップファイルは当日日付(YYYYMMDD形式)で記録されます
diff -u /etc/mysql/mysql.conf.d/mysqld.cnf /path/to/backup/mysqld.cnf.$(date +%Y%m%d)
# バックアップが取れていることを「差分が存在しないこと」で確認します
echo -e "default_authentication_plugin=mysql_native_password" | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf
# mysqld.cnfに追記をします
sudo systemctl restart mysql.service
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
exit
運用に合わせて適切なパスワードを設定します。
sudo mysql_secure_installation
詳しい設定は以下に記しています。
https://atelier.reisalin.com/projects/zettel/questions/5-mysql_secure_installation
https://barrel.reisalin.com/books/nextcloud/page/1-1-nextcloud
自サイトを参考にしていますが、一部異なります。
sudo add-apt-repository ppa:ondrej/php
Ubuntu20.04系ではこれを行わないとPHP7.4系しかインストールされません。
sudo aptitude update
sudo aptitude install php8.1
sudo aptitude install php8.1-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysql,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev,fpm}
#fpmを入れる必要あり
nginx環境でも動かすため、php(バージョン)-.fpmを入れます。
sudo disable apache2.service
依存関係でapache2も一緒にインストールされるので、ここで停止させます。
https://barrel.reisalin.com/books/bookstack/page/bookstackubuntu2004
同じくこちらにメモを残しています。
cd /hoge
任意の作業ディレクトリに移動します
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php
sudo php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
composer --version
バージョンが表示されることを確認します。
mysql -u root -p
CREATE DATABASE bookstack character set utf8mb4;
CREATE USER 'bookstackuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstackuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
DB名/パスワードはポリシーに応じて適切なものを指定します。
cd /home/www-data
# パーティションの都合上、/home/www-dataに置いています。
# 環境に合わせて適切なWebサービス公開ディレクトリを指定してください。
sudo git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
sudo chown -R www-data:www-data BookStack
cd BookStack
sudo cp -pi .env.example .env
教義・信仰に沿ったエディタで以下を編集します。
APP_URL=https://hoge.example.com
# 公開用URLを指定します
# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstackuser
DB_PASSWORD=password
# DB名、パスワードなどは先ほど作成したものです。
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data php artisan key:generate
sudo -u www-data php artisan db:seed --force
sudo -u www-data php artisan migrate --force
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# サーバ名を指定します。
server_name hoge.example.com;
server_tokens off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_ciphers 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;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security 'max-age=63072000';
# 任意のログディレクトリを指定します。
access_log /var/log/nginx/bookstack/access.log;
error_log /var/log/nginx/bookstack/error.log;
# SSL証明書を指定します。
ssl_certificate /path/to/ssl_certificate/hoge.crt;
# SSL秘密鍵を指定します。
ssl_certificate_key /path/to/ssl_key/hoge.key;
# BookStackが置かれているディレクトリです。/publicは必ず指定します。
root /home/www-data/BookStack/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
# 強制的にhttps通信
server {
listen 80;
listen [::]:80;
server_name veritas.lumos;
return 301 https://$host$request_uri;
}
cd /etc/nginx/sites-enabled
sudo unlink default
sudo ln -sf /etc/nginx/site-available/bookstack.conf bookstack.conf
sudo nginx -t
エラーがないことを確認します。
sudo systemctl restart nginx.service
設定したドメインにブラウザでアクセスし、ログイン画面が出てくれば成功です。
週末はこちらの設定をずっと行っていました。
これは絶対に行いたいものでした。「個人のWiki/メモサイト」という性質上、宅内NWにしか置けなかったものです。
しかし、階層ごとに文書を管理したり、各種Markdownの入力補助が豊富なこのシステムは一丁目一番地として導入したいと考えていました。
https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/77
のサイトを参考に、ローカルホストでのみ動くGrowiがようやく完成です。
これもこれで入れておきたいシステム。Growiが日付ごとの記録を行ってくれるなら、こっちは分野ごとの整理にちょうどいいのです。
https://barrel.reisalin.com/books/bookstack/chapter/1bookstack
こちらの自サイトを参考にインストールしていったものの、Growiのリバースプロキシにnginxを利用したため、導入は少し勝手が違いました。
その当たりのルールは改めて記述するとして
無事、動いたことが確認できて良かったです。
中古のLet's noteにKubuntu 22.04を入れたので、デスクトップPCのセットアップを行いました。
同一NW内のデスクトップなので、リモートアクセスで操作しやすいようにします。
sudo aptitude install ssh
ここからはSSHでログインして作業を行います。
sudo aptitude upgdate && sudo aptitude upgrade
sudo reboot
Kubuntuは何故か日本語入力システムがインストールされていません。
sudo aptitude install fcitx-mozc
好みの問題でEdgeを入れます。
sudo aptitude install git build-essential apt-transport-https
この機会に開発パッケージも入れます。
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main"
sudo aptitude update
sudo aptitude install microsoft-edge-stable
sudo reboot
ChromebookでのLinux運用が厳しくなってきたことがまずありました。
Play Storeでアプリは揃えられるものの、一部がスマートフォン専用だったり、ファイル操作に難があるというのにも難がありました。
そんな矢先、Windows10のサポート終了が近づいているのでWindows11未対応のノートPCが市場にかなり出回るようになってきたという話を聞き、秋葉原で発見。
Let's noteのCF-XZです。
と、基本的なスペックはあります。
こちらのRELEASEが示すように画面自体が取り外せる(つまり、画面自体をタブレットとして利用可能。
がLinux化の懸念点ではありましたが、Kubuntu 22.04は正常にインストールできました。
で、無事にインストール完了。無線LANは確認しました。(優先はこれから確認です)
画面の切り離しやタッチ操作なども可能でした。
など、すき煮やっていく予定です。
SSH接続しているLinuxクライアントから別のLinuxサーバにSSHログインする際の効率化を図るスクリプトです。
ssh -i /path/to/private_key username@server_host
と、-i
の後に秘密鍵を指定し、ユーザ名@サーバ名/IPアドレスを入力するのはちょっと面倒なので、コマンド一発で接続できるようにします。
server
の部分を任意のホスト名にすると便利です
#!/bin/bash
# 変数定義
## 接続先のサーバ名/IPアドレス
server_host="your_server_host"
## 接続先でログインするアカウント名
username="your_username"
## 秘密鍵のファイルパスを絶対パスで表記
private_key_path="/path/to/private_key"
## 接続時間を記録するログのディレクトリパスを絶対パスで表記
log_directory="/path/to/logs"
# ログディレクトリが存在しない場合は作成する
if [ ! -d "$log_directory" ]; then
mkdir -p "$log_directory"
fi
# 現在の日付と時刻を取得
current_datetime=$(date +"%Y%m%d%H%M")
# ログファイルのパス
log_file="$log_directory/$server_host$current_datetime.log"
# 秘密鍵の存在チェック
if [ ! -f "$private_key_path" ]; then
echo "$(date): Error - 秘密鍵ファイルが見つかりません: $private_key_path" >> "$log_file"
exit 1
fi
# 秘密鍵のパーミッションが600であるかのチェック
if [ $(stat -c %a "$private_key_path") -ne 600 ]; then
echo "$(date): Error - 秘密鍵のパーミッションが正しくありません (600 である必要があります): $private_key_path" >> "$log_file"
exit 1
fi
# SSH接続
echo "$(date): SSH接続を試行します: ssh -i $private_key_path $username@$server_host" >> "$log_file"
ssh -i "$private_key_path" "$username@$server_host"
echo "$(date): SSH接続が正常に終了しました" >> "$log_file"
chmod +x ssh_server.sh
./ssh_server.sh
を実行後、秘密鍵のパスワード入力画面が出てきます。認証後、接続先のプロンプトが返ってくれば成功です。
Powered by WordPress & Theme by Anders Norén