ktmr のすべての投稿

GoGetSSLでドメイン変更

このサイトの証明書は格安証明書 GoGetSSLで作っているのですが、5年分の証明書を一括で買ってからドメイン名を変更したんですよね。ドメイン名を後から変更できるのかと問い合わせたところ、できました(^_^)


1) “SSL Certificates”からドメイン名を変更したいオーダーを選ぶ
2) “View”をクリックする
3) “Reissue SSL”をクリック
4) 後は最初に証明書を作った時と同じようにCSRを貼り付けて申請すれば新しい証明書ができます。

UBUNTU 22.04 redmine 5.0移行

前回、サクッとubuntu 20.04 to 22.04にdo-release-upgradeしたらredmineが無くなっていてがっかりして20.04に戻したのですが。。。コロナにかかって自宅待機になったことを機に(笑)、移行実施しました。

前提: gcp上で動いてるubuntu 20.04マシンをライブで22.04に上げます。

まずはsnapshotを取って、サクッと do-release-upgrade。基本元のコンフィグ残す方向で Nを選択。

終わったら不具合ないか確認。私の場合は何点かあった。

1.apache2が上がらない。/etc/apache2/mod-enabled/php7*が残ってたのが原因。

$ cd /etc/apache2/mod-enabled; sudo rm php7*
$ sudo a2enmod php8.1
$ sudo systemctl start apache2 で復旧

2.TeraTERMから繋がらなくなった。sshでssh-rsaが禁止されたのが原因。

https://blog.hitsujin.jp/entry/2022/04/24/010000

という訳で、putty-keygenでssh-ed25519でキーを作りなおした。

3.muninで一部値が取れなくなってる。。。これは急がないのでそのうち直す。

4.redmineが無くなった。これが今日の主題!

Redmine 5.0インストール

ないものは持ってきて入れるしかないので以下のBLOGを参考にRedmineをインストール。せっかくなので5.0で。

https://blog.redmine.jp/articles/5_0/install/ubuntu/

方針: データは20.04のパッケージredmineのデータを引き継ぐ。パッケージでもいいものはパッケージを利用する。

1.何はともあれバックアップ

$ mysqldump -u root -p redmine_default >redmine_default.sql
$ sudo tar cvfz /work/ubuntu2004redminebakup.tar.gz usr/share/redmine var/lib/redmine etc/redmine var/log/redmine var/cache/redmine

2.必要なパッケージインストール

DBは元々MySQLを使っていたので引き続きMySQLを使う(インストール済みの想定)。Rubyはパッケージの3.0.2を使う。Passengerもパッケージを利用。

$ sudo locale-gen ja_JP.UTF-8
$ sudo apt install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
$ sudo apt install -y apache2 apache2-dev
$ sudo apt install -y imagemagick fonts-takao-pgothic
$ sudo apt install -y subversion git
$ sudo apt install -y passenger libapache2-mod-passenger

3.DB移行

ubuntu 20.04のパッケージredmineはredmine_defaultという名前のdatabeseになっているので、今回は、redmineという名前で作り直してデータをストアすることにした。

$ mysql -u root -p
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'ぱすわーど';
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

$ mysql -u redmine -p redmine < redmine_default.sql

4.Redmineインストール

ubuntu20.04パッケージ版のredmineは /var/lib/redmine/defaultを使っているので、/var/lib/redmineをそのまま使う。

$ cd /var/lib/redmine
$ sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.0-stable /var/lib/redmine

パッケージの添付ファイルフォルダとpluginsフォルダをコピーしておく
$ sudo cp -rp default/files .
$ sudo cp -rp /usr/share/redmine/plugins .

コンフィグも流用して一部修正
$ cd config
$ sudo cp -p /etc/redmine/default/database.yml .
usernameがredmine/instanceになってるのでredmineに変更
databaseがredmine_defaultになってるのでredmineに変更
$ sudo cp -p  /etc/redmine/default/configuration.yml .
これは特に直すとこなし

$ cd /var/lib/redmine
rootでbundle実行していいのか?とも思うが。。。
$ sudo bundle install --without development test
$ sudo -u www-data bin/rake generate_secret_token
$ sudo -u www-data RAILS_ENV=production bin/rake db:migrate
$ sudo -u www-data RAILS_ENV=production bin/rake redmine:plugins:migrate
$ sudo -u www-data RAILS_ENV=production bin/rake tmp:cache:clear

5.apche2設定変更

/etc/apache2/conf-enabled/redmine.conf修正
Alias "/redmine" /var/lib/redmine/public
<Location /redmine>
        PassengerBaseURI /redmine
        PassengerAppRoot /var/lib/redmine
</Location>
<Directory "/var/lib/redmine/public">
        Allow from all
        Options -MultiViews
        Require all granted
</Directory>

apache再読み込み
$ sudo apachectl configtest
$ sudo systemctl reload apache2

これで、redmineが見られるようになったはず。

6.その他微調整

i. logrotate設定

/etc/logrotate.d/redmine
# Redmine logs:
/var/lib/redmine/log/*.log {  # ←ここ直す
  daily
  missingok
  rotate 14
  compress
  delaycompress
  notifempty
  copytruncate
}

ii. cron.d修正

/etc/cron.d/redmine修正 (redmineのパス修正)
30 6 * * * root cd /var/lib/redmine; bundle exec rake redmine:send_reminders days=3 RAILS_ENV=production > /dev/null 2>&1

iii. checklists pluginを入れていたのだが、うまく引き継がれなかったので、再度、インストールした。

7.ubuntu 20.04のパッケージredmineさようなら

動作確認が終わったら、古いredmineを消す。

$ sudo apt remove redmine redmine-sqlite
$ sudo rm -r /etc/redmine/default
$ sudo rm -r  /var/cache/redmine
$ sudo rm -r /var/log/redmine
$ sudo rm -r /usr/share/redmine
$ mysql -u root -p
mysql> drop database redmine_default;
mysql> drop user 'redmine/instance'@'localhost';

以上

p.s.

やらなくてもいいと言えばいいのですが。。。redmineパッケージを削除すると、apt upgradeするたびに、redmineパッケージインストール時に依存関係で一緒にインストールされたであろうrubyのサブモジュールパッケージが大量にもう使ってないよ。apt autoremoveで削除できるよと言ってくるんですよね。うざいのでautoremoveを実行したら見事に、redmine動かなくなりました(笑)

まぁ、再度

$ sudo bundle install –without development test

してやれば問題なく動きました。gemはパッケージでもbundleで入れても問題ないようですね。

楽天ひかりを別ルータでIPoEとPPPoE両方使う

はい。という訳で。スイッチ買いました(笑) 安くて、安心の金属筐体でいい感じです。

TP-Link 5ポートスイッチ TL-SG105

構成図

特段、特別なことはしてないのですが、ONUとRTX810の間にこのスイッチを挟んで、Archer C4000をルータモードに変更。Internet側をこのスイッチに繋いで、PPPoEで繋いでます。DHCPはRTX810が配っていて、基本、RTX810(IPoE側)を通るようにしてます。外部公開したいものだけ、default gwをC4000側に向けることによって、PPPoE回線を選びます。1つ注意点としてC4000のIPv6が有効になっていてパススルー(ブリッジ)になってるとループします。。。文字通りInternet側とLAN側をブリッジしてしまうようで。私はC4000側でIPv6は必要ないのでサクッと無効にしてあります。

ついでに、TP-Link Archer C4000にOpenVPN機能があるのを見つけたので、これを使うことに(今まではRTX810のL2TPか、QNAPのOpenVPNを使ってましたが)

ArcherのOpenVPNで振られるIPは10.8.0.0/24なので、RTX810側にも経路が必要。

ip route 10.8.0.0/24 gateway <C4000のIP>

こんな感じ。

楽天ひかりのPPPoE混んでるときやっぱ無理だなぁ

先日、自宅のQNAPやREC-ONへアクセスしたくてXPASSからPPPoEに戻したのですが、混んでるときに遅すぎてやっぱ無理。。。

で、手持ちのRTX810とTP-Link Archer C4000で何とかならないか考えてみたのですが、無理でした。。。

今は、RTX810でXPASSとPPPoE両方やっているので、デスティネーションでしかルーティングを分けられないのですが、PPPoEをTP-Linkにやらせてしまえば、LAN内の機器によってデフォルトルートを変えればできるね。と思ったのですが。。。

  • RTX810はPPPoEパススルー非対応(830からは可能)
  • Archer C4000はXPASS非対応

詰んだ (*_*)

QNAPをルーター化(KVM使えばね。TS-230なので無理だなぁ)

なんかルーター買うか。うーん。なんか負けた気がする。

gcpのサーバとOpenVPNでLAN to LANで繋いでおいてgcp経由で入るか。。。え、アメリカ経由だし、gcp通信課金かかるよ。。。

あ、SWX2200-8GでVLAN切って(あるいは、馬鹿スイッチ買って)ONUと間に入れれば、RTX810とArcher C4000両方置けるなぁ。。。ポートもったいないけど。でもこれが一番安価に解決できる案かな。

もうめんどくさいから全部IPv6になってくれないかな。。。

楽天ひかりでXpassは不便なのでPPPoEメインに変更

しばらく、XPASSでIPv4 over IPv6してましたが、自宅にIPSec VPNできないのはやっぱり不便!

という訳で、何とかならないか検討してみました。

PPPoEに戻して速度を測ってみるとそれほど遅くないですね。もしかして、楽天さんPPPoE設備をを増強したんですね。

XPASS(IPv4 over IPv6)接続
PPPoE接続

スループットは遜色ない感じなのですが、RTTが。。。PPPoEなんでこんなに遅いんだろ。実際、VDI操作してるとかなりもっさりした感じでスマホテザリングで使ってる感じでした。

RTT

月曜以降にXPASSからPPPoEに切り替えたのですが、揺らぎが大きいことがわかりました。まぁ、混んでる時は遅いってことですかね。ロスはないのでバッファして頑張ってる感じかな。

本当は、入ってくるほうだけPPPoEで出ていく方はXPASSにできれば言う事ないのですが、RTX810でそういう方法は思い浮かばなかったので、VDIサーバに対する経路だけxpassに向けることにしました。

ip route default gateway pp 1 ←その他経路(PPPoE)
ip route 150.xxx.xxx.200/29 gateway tunnel 1
 ← VDIサーバへの経路(XPASS)
ip route 198.xxx.xxx.128/29 gateway tunnel 1 ← VDIサーバへの経路(XPASS)

とりあえず、これで快適に使えています(^_^)

メールをsendgrid経由送信に変更

基本、gcpからはメール出せません。今までは面倒だったので、smtp.google.com経由でメールを出していたのですが、そうすると送信者がGmailのアカウント名になってしまうので、ちゃんと使うには問題があります。

そんな訳でSendGrid経由で出す設定にしてみました。12,000通/月まで無料とか神対応ですね!

手順ははい。ここを見てください(笑)

https://www.apps-gcp.com/sendgrid-gce/

とても参考になりました。ありがとうございます。

ただ、この記事が作成された当時と今で変わっているのは、SMTP送信に使われるユーザーはSendGridの管理アカウントではなく、APIキーになりました。なので、はい。ここを見てください(笑)

apikeyを発行してsasl_passwd設定してpostmapすればメール送信できるようになります。素晴らしい。

それと、WhitelabelingはSender Authenticationと言う名前に変わったようです。SendGridが丁寧な設定情報を書いてくれているのでこの通り設定すれば、SPFとDKIMの設定をかたがわりしてくれます。https://sendgrid.kke.co.jp/docs/Tutorials/D_Improve_Deliverability/using_whitelabel.html?utm_source=Vol.2&utm_medium=email&utm_content=HTML&utm_campaign=WelcomeEmail

FileMany素晴らしい!

iPhoneの写真をQfileでQNAPにバックアップする設定をしていたのですが、設定をミスって同じ写真がIMGxxxコピー(1).jpgのようなファイルが大量発生してしまった。

これを効率よく重複ファイルだけを消す(中にはほんとにファイル名が被ってその名前になったものもあるようなので無条件にコピーファイルを消すのは危険)方法がないかと探したところFileManyというフリーウェアを見つけました。サイズやハッシュを比較して同じファイルをリストアアップしてくれます。そのうえで、「作成日が古いファイルを残してチェック」という選択ができ、選択したものを削除できます。

素晴らしい!

QuMagieでHEIC写真を表示させる

最近のiPhoneの写真は標準だとHEICフォーマットで保存されている。Google PhotosやAmazon PhotosはHEICでも普通に表示できるのだが、QuMagieはCAYIN MediaSign Playerというコーデックを入れる必要がある。

CAYIN MediaSign PlayerにはPlus版($11.99)とBasic版(無料)があってHEICを使うためにはPlus版が必要。

CAYIN MediaSign PlayerのインストールはApp Centerから「CAYIN」を検索してインストールするだけ。

CAYIN MediaSign Playerのインストールが終わると自動的にQuMagieのサムネイル再生成が開始された。写真の量にもよりますがTS-230だとめちゃめちゃ時間かかりました。サムネイル1枚作るのに10秒以上かかってる感じ。。。

https://www.qnap.com/ja-jp/how-to/tutorial/article/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F-cayin-mediasign-player-%E3%81%A7%E3%83%93%E3%83%87%E3%82%AA%E3%82%92%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%97%E3%81%A6-heic-%E5%86%99%E7%9C%9F%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95