rabbit-slide-znz-lilo-20240128 2024.1.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +2 -0
- data/README.md +23 -0
- data/Rakefile +17 -0
- data/config.yaml +24 -0
- data/lilo-ml-mojibake.png +0 -0
- data/pdf/lilo-20240128-upgrade-debian.pdf +0 -0
- data/upgrade-debian.md +265 -0
- metadata +63 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b7c79bf494b7dc34e8ca22b977afa324ee400638ae8eabdf5f4aa8ae1d6d3836
|
4
|
+
data.tar.gz: ddb7060a9869aaaf9cdc8b91301ee1d6d57bde243715620e6278bd58360a3448
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 70bc82c60f8e4572c0100c601b12f220a167cf85810d6342fcaf33c84c864087ebf4173334b4b53bbbf2e4794926ac6191eeb451c5038dba1744e5a5d06900a9
|
7
|
+
data.tar.gz: 2ac6487e38727a20338257fb0dbc09e415b33d2dd28839550dcb49bf15588b99c381ecf6831908e12075af888ae0e0991740effec340c1f5f3695c0012e36d57
|
data/.rabbit
ADDED
data/README.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# lilo.linux.or.jpをbusterからbullseyeに上げた
|
2
|
+
|
3
|
+
[LILO&東海道らぐオフラインミーティング 2024-01-28](https://lilo.connpass.com/event/306590/)の発表資料です。
|
4
|
+
|
5
|
+
## 作者向け
|
6
|
+
|
7
|
+
### 表示
|
8
|
+
|
9
|
+
rake
|
10
|
+
|
11
|
+
### 公開
|
12
|
+
|
13
|
+
rake publish
|
14
|
+
|
15
|
+
## 閲覧者向け
|
16
|
+
|
17
|
+
### インストール
|
18
|
+
|
19
|
+
gem install rabbit-slide-znz-lilo-20240128
|
20
|
+
|
21
|
+
### 表示
|
22
|
+
|
23
|
+
rabbit rabbit-slide-znz-lilo-20240128.gem
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
# spec.add_runtime_dependency("rabbit-theme-YOUR-THEME")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/config.yaml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
id: lilo-20240128
|
3
|
+
base_name: upgrade-debian
|
4
|
+
tags:
|
5
|
+
- debian
|
6
|
+
presentation_date: '2024-01-28'
|
7
|
+
presentation_start_time:
|
8
|
+
presentation_end_time:
|
9
|
+
version: 2024.1.28.0
|
10
|
+
licenses: []
|
11
|
+
slideshare_id: lilolinuxorjp-buster-bullseye
|
12
|
+
speaker_deck_id: lilo-dot-linux-dot-or-dot-jpwobusterkarabullseyenishang-geta
|
13
|
+
vimeo_id:
|
14
|
+
youtube_id:
|
15
|
+
width: 1920
|
16
|
+
height: 1080
|
17
|
+
source_code_uri:
|
18
|
+
author:
|
19
|
+
markup_language: :markdown
|
20
|
+
name: Kazuhiro NISHIYAMA
|
21
|
+
email: zn@mbf.nifty.com
|
22
|
+
rubygems_user: znz
|
23
|
+
slideshare_user: znzjp
|
24
|
+
speaker_deck_user: znz
|
Binary file
|
Binary file
|
data/upgrade-debian.md
ADDED
@@ -0,0 +1,265 @@
|
|
1
|
+
# lilo.linux.or.jpをbusterからbullseyeに上げた
|
2
|
+
|
3
|
+
author
|
4
|
+
: Kazuhiro NISHIYAMA
|
5
|
+
|
6
|
+
content-source
|
7
|
+
: LILO&東海道らぐオフラインミーティング
|
8
|
+
|
9
|
+
date
|
10
|
+
: 2024-01-28
|
11
|
+
|
12
|
+
allotted-time
|
13
|
+
: 15m
|
14
|
+
|
15
|
+
theme
|
16
|
+
: lightning-simple
|
17
|
+
|
18
|
+
# 自己紹介
|
19
|
+
|
20
|
+
- 西山 和広
|
21
|
+
- Ruby のコミッター
|
22
|
+
- twitter, github など: @znz
|
23
|
+
- 株式会社Ruby開発 www.ruby-dev.jp
|
24
|
+
- lilo.linux.or.jp のサーバー管理者の1人
|
25
|
+
|
26
|
+
# lilo.linux.or.jp とは
|
27
|
+
|
28
|
+
- LILO の Web やメーリングリスト
|
29
|
+
- さくらの VPS
|
30
|
+
- Debian GNU/Linux
|
31
|
+
|
32
|
+
# 更新対象
|
33
|
+
|
34
|
+
- Debian GNU/Linux 10 (buster) = oldoldstable
|
35
|
+
- Current LTS: August 1st, 2022 to June 30th, 2024
|
36
|
+
- Debian GNU/Linux 11 (bullseye) = oldstable
|
37
|
+
- Future LTS: August 15th, 2024 to June 30th, 2026
|
38
|
+
- https://wiki.debian.org/LTS
|
39
|
+
|
40
|
+
# 事前チェックしたもの
|
41
|
+
|
42
|
+
- https://packages.debian.org/libpam-google-authenticator
|
43
|
+
- 20170702-2 → 20191231-2
|
44
|
+
- メンテナンスされてるし、非互換もなさそう
|
45
|
+
- https://packages.debian.org/dokuwiki
|
46
|
+
- 0.0.20180422.a-2 → 0.0.20180422.a-2.1
|
47
|
+
- もっと新しいバージョンに上げるときは何か対応が必要かも
|
48
|
+
|
49
|
+
# 事前チェックしたもの
|
50
|
+
|
51
|
+
- milter-manager
|
52
|
+
- Debian 公式以外から入れているので
|
53
|
+
- https://packagecloud.io/milter-manager/repos に bullseye と el/7,8,9 しかなさそう
|
54
|
+
- https://packages.debian.org/milter-manager もまだない
|
55
|
+
|
56
|
+
# 更新
|
57
|
+
|
58
|
+
- 事前に想定していたものは問題なく上がった
|
59
|
+
- `dpkg -l | awk '/^rc/ { print $2 }'` で mailman が消えていることに気付く
|
60
|
+
|
61
|
+
# mailman → mailman3
|
62
|
+
|
63
|
+
- 検索して出てきたブログ記事を参考にして作業
|
64
|
+
- https://blog.daionet.gr.jp/knok/2021/10/13/mailman2-3-migration-on-debian/ など
|
65
|
+
- 消えてしまったので mailman 2.1 のコマンドを使った調査は不可能
|
66
|
+
|
67
|
+
# パッケージインストール
|
68
|
+
|
69
|
+
- `mailman3` `mailman3-web` `mailman3-full` と別々に入れてしまった
|
70
|
+
- 最初から `mailman3-full` を入れた方が良かったと後でわかった
|
71
|
+
- データベースを dbconfig-common で設定しますか? は「はい」にした
|
72
|
+
|
73
|
+
# コマンド
|
74
|
+
|
75
|
+
- `mailman3` の操作は `sudo mailman-wrapper` を使う
|
76
|
+
- `mailman3-web` の操作は `sudo /usr/share/mailman3-web/manage.py` を使う
|
77
|
+
|
78
|
+
# リスト作成
|
79
|
+
|
80
|
+
```
|
81
|
+
nishiyama@chiyoko:~$ sudo mailman-wrapper lists
|
82
|
+
No matching mailing lists found
|
83
|
+
nishiyama@chiyoko:~$ sudo mailman-wrapper create lilo-XXX@lilo.linux.or.jp
|
84
|
+
Created mailing list: lilo-XXX@lilo.linux.or.jp
|
85
|
+
nishiyama@chiyoko:~$ sudo mailman-wrapper lists
|
86
|
+
1 matching mailing lists found:
|
87
|
+
lilo-XXX@lilo.linux.or.jp
|
88
|
+
```
|
89
|
+
|
90
|
+
# 設定移行
|
91
|
+
|
92
|
+
- `sudo mailman-wrapper import21 lilo-XXX@lilo.linux.or.jp /var/lib/mailman/lists/lilo-XXX/config.pck`
|
93
|
+
- どこまで移行できているかは未確認
|
94
|
+
|
95
|
+
# アーカイブ移行
|
96
|
+
|
97
|
+
- `sudo /usr/share/mailman3-web/manage.py hyperkitty_import -l lilo-XXX@lilo.linux.or.jp /var/lib/mailman/archives/private/lilo-XXX.mbox/lilo-XXX.mbox`
|
98
|
+
- `1%Failed adding message <mailman.18.1404008960.2993.webmasters@lilo.linux.or.jp>: 'iso2022_jp' codec can't encode character '\uff7b' in position 62: illegal multibyte sequence` のようにエンコーディングの問題のあるメールがたくさんあった
|
99
|
+
- たぶん spam とかだけなので無視
|
100
|
+
|
101
|
+
# postfix 設定
|
102
|
+
|
103
|
+
- `alias_maps` から `hash:/var/lib/mailman/data/aliases` を削除
|
104
|
+
- `/usr/share/doc/mailman3/README.Debian` にあった設定を追加
|
105
|
+
|
106
|
+
```
|
107
|
+
owner_request_special = no
|
108
|
+
transport_maps = hash:/var/lib/mailman3/data/postfix_lmtp
|
109
|
+
local_recipient_maps = proxy:unix:passwd.byname $alias_maps hash:/var/lib/mailman3/data/postfix_lmtp
|
110
|
+
relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}} hash:/var/lib/mailman3/data/postfix_domains
|
111
|
+
```
|
112
|
+
|
113
|
+
# apache2 設定
|
114
|
+
|
115
|
+
- `Include /etc/mailman3/apache.conf` 追加
|
116
|
+
- `sudo a2enmod proxy_uwsgi`
|
117
|
+
- `sudo systemctl restart apache2`
|
118
|
+
- 後で `RedirectMatch ^/cgi-bin/mailman https://lilo.linux.or.jp/mailman3/` も追加した
|
119
|
+
|
120
|
+
# 管理画面
|
121
|
+
|
122
|
+
- `/mailman3/admin` にある
|
123
|
+
- `sudo /usr/share/mailman3-web/manage.py createsuperuser` で管理者追加
|
124
|
+
- とりあえず `nishiyama` だけ追加
|
125
|
+
|
126
|
+
# 管理画面で変更
|
127
|
+
|
128
|
+
- Mail domain に lilo.linux.or.jp を追加 (サイトは example.com だった)
|
129
|
+
- サイトで example.com を lilo.linux.or.jp に変更 (ドメイン名と表示名の両方)
|
130
|
+
|
131
|
+
# lilo ML も移行
|
132
|
+
|
133
|
+
- `sudo mailman-wrapper create lilo@lilo.linux.or.jp`
|
134
|
+
- `sudo mailman-wrapper import21 lilo@lilo.linux.or.jp /var/lib/mailman/lists/lilo/config.pck`
|
135
|
+
- `sudo /usr/share/mailman3-web/manage.py hyperkitty_import -l lilo@lilo.linux.or.jp /var/lib/mailman/archives/private/lilo.mbox/lilo.mbox`
|
136
|
+
|
137
|
+
# 文字化け対応
|
138
|
+
|
139
|
+
- 説明が文字化けしていた
|
140
|
+
|
141
|
+
![](lilo-ml-mojibake.png){:relative_height='50'}
|
142
|
+
|
143
|
+
# 復元
|
144
|
+
|
145
|
+
旧データからバイナリで抽出
|
146
|
+
|
147
|
+
```
|
148
|
+
nishiyama@chiyoko:~$ sudo hexdump -C /var/lib/mailman/lists/lilo/config.pck | less
|
149
|
+
|
150
|
+
00004750 49 4c 4f 20 28 20 a4 ea a4 ed 20 3a 20 4c 69 6e |ILO ( .... : Lin|
|
151
|
+
00004760 75 78 20 49 6e 73 74 61 6c 6c 20 4c 65 61 72 6e |ux Install Learn|
|
152
|
+
00004770 69 6e 67 20 4f 73 61 6b 61 20 29 20 a4 cf b4 d8 |ing Osaka ) ....|
|
153
|
+
00004780 c0 be a4 ce 20 4c 69 6e 75 78 20 a5 e6 a1 bc a5 |.... Linux .....|
|
154
|
+
00004790 b6 b2 f1 a4 c7 a4 b9 a1 a3 20 bc e7 a4 cb b4 d8 |......... ......|
|
155
|
+
000047a0 c0 be a4 ce 20 4c 69 6e 75 78 20 a5 e6 a1 bc a5 |.... Linux .....|
|
156
|
+
000047b0 b6 a4 ce b8 f2 ce ae a1 a2 be f0 ca f3 b8 f2 b4 |................|
|
157
|
+
000047c0 b9 20 a4 ce be ec a4 f2 c4 f3 b6 a1 a4 b9 a4 eb |. ..............|
|
158
|
+
000047d0 a4 bf a4 e1 a4 cb b3 e8 c6 b0 a4 b7 a4 c6 a4 a4 |................|
|
159
|
+
000047e0 a4 de a4 b9 a1 a3 71 7a 55 20 62 6f 75 6e 63 65 |......qzU bounce|
|
160
|
+
```
|
161
|
+
|
162
|
+
# 復元
|
163
|
+
|
164
|
+
NKF で文字コードの確認と変換
|
165
|
+
|
166
|
+
```
|
167
|
+
#!/usr/bin/env ruby
|
168
|
+
|
169
|
+
data = <<EOD
|
170
|
+
49 4c 4f 20 28 20 a4 ea a4 ed 20 3a 20 4c 69 6e
|
171
|
+
75 78 20 49 6e 73 74 61 6c 6c 20 4c 65 61 72 6e
|
172
|
+
69 6e 67 20 4f 73 61 6b 61 20 29 20 a4 cf b4 d8
|
173
|
+
c0 be a4 ce 20 4c 69 6e 75 78 20 a5 e6 a1 bc a5
|
174
|
+
b6 b2 f1 a4 c7 a4 b9 a1 a3 20 bc e7 a4 cb b4 d8
|
175
|
+
c0 be a4 ce 20 4c 69 6e 75 78 20 a5 e6 a1 bc a5
|
176
|
+
b6 a4 ce b8 f2 ce ae a1 a2 be f0 ca f3 b8 f2 b4
|
177
|
+
b9 20 a4 ce be ec a4 f2 c4 f3 b6 a1 a4 b9 a4 eb
|
178
|
+
a4 bf a4 e1 a4 cb b3 e8 c6 b0 a4 b7 a4 c6 a4 a4
|
179
|
+
a4 de a4 b9 a1 a3 71 7a 55 20 62 6f 75 6e 63 65
|
180
|
+
EOD
|
181
|
+
s = [data.delete(" \n")].pack('H*')
|
182
|
+
|
183
|
+
require 'nkf'
|
184
|
+
p NKF.guess(s)
|
185
|
+
p NKF.nkf('-w', s)
|
186
|
+
```
|
187
|
+
|
188
|
+
# 復元
|
189
|
+
|
190
|
+
実行して結果を使って再設定
|
191
|
+
|
192
|
+
```
|
193
|
+
ruby -v /tmp/s.rb
|
194
|
+
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [arm64-darwin23]
|
195
|
+
#<Encoding:EUC-JP>
|
196
|
+
"ILO ( りろ : Linux Install Learning Osaka ) は関西の Linux ユーザ
|
197
|
+
会です。 主に関西の Linux ユーザの交流、情報交換 の場を提供するために
|
198
|
+
活動しています。qzU bounce"
|
199
|
+
```
|
200
|
+
|
201
|
+
# ML でアナウンス
|
202
|
+
|
203
|
+
- 移行しましたアナウンスメールを送信
|
204
|
+
- テストメールを兼ねている
|
205
|
+
- アーカイブに反映されなかった
|
206
|
+
|
207
|
+
# アーカイバー設定
|
208
|
+
|
209
|
+
- `mailman3-full` で入る `python3-mailman-hyperkitty` を使う
|
210
|
+
- `/etc/mailman3/mailman-hyperkitty.cfg` の `base_url` 変更
|
211
|
+
- `/etc/mailman3/mailman.cfg` に設定追加
|
212
|
+
|
213
|
+
```
|
214
|
+
[archiver.hyperkitty]
|
215
|
+
class: mailman_hyperkitty.Archiver
|
216
|
+
enable: yes
|
217
|
+
configuration: /etc/mailman3/mailman-hyperkitty.cfg
|
218
|
+
```
|
219
|
+
|
220
|
+
# エラー確認
|
221
|
+
|
222
|
+
```
|
223
|
+
Jan 27 15:36:05 2024 (150036) HyperKitty failure on
|
224
|
+
https://lilo.linux.or.jp/mailman3/hyperkitty/api/mailman/urls:
|
225
|
+
<html><title>Forbidden</title><body>
|
226
|
+
<h1>Access is forbidden</h1><p>Please check the IP addresses
|
227
|
+
assigned to MAILMAN_ARCHIVER_FROM in the settings file.
|
228
|
+
</p></body></html> (403)
|
229
|
+
```
|
230
|
+
|
231
|
+
# 設定
|
232
|
+
|
233
|
+
- apache2 のアクセスログで接続元 IP アドレスを確認
|
234
|
+
- 自分の IPv6 アドレスだった
|
235
|
+
- `/etc/mailman3/mailman-web.py` に自身のグローバル IP アドレス追加
|
236
|
+
- ねんのため IPv4 も足した
|
237
|
+
|
238
|
+
```
|
239
|
+
MAILMAN_ARCHIVER_FROM = ('127.0.0.1', '::1',
|
240
|
+
'2401:2500:102:2213:133:242:207:124',
|
241
|
+
'133.242.207.124')
|
242
|
+
```
|
243
|
+
|
244
|
+
# さらに確認
|
245
|
+
|
246
|
+
- またメールを送って登録されるのを確認した
|
247
|
+
|
248
|
+
# milter-manager + milter-greylist
|
249
|
+
|
250
|
+
- 途中 `mail.log` を確認したときにエラーがでていた
|
251
|
+
|
252
|
+
```
|
253
|
+
milter-manager[133047]: [13] [children][error][connection] [14] Failed to connect to unix:/var/run/milter-greylist/milter-greylist.sock: 許可がありません: milter-greylist
|
254
|
+
milter-manager[133047]: [13] [leader][error] Failed to connect to unix:/var/run/milter-greylist/milter-greylist.sock: 許可がありません
|
255
|
+
```
|
256
|
+
|
257
|
+
- 試行錯誤中でまだ未解決
|
258
|
+
- <https://github.com/milter-manager/milter-manager/issues/205> で質問中
|
259
|
+
|
260
|
+
# まとめ
|
261
|
+
|
262
|
+
- buster (oldoldstable) から bullseye (oldstable) に更新できた
|
263
|
+
- リリースノートの確認不足で mailman でひっかかった
|
264
|
+
- milter-manager はどうなる?
|
265
|
+
- ドメイン管理の関係で SPF,DKIM,DMARC などもやりにくいので、メールサーバーをやめてしまのもありかも?
|
metadata
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-znz-lilo-20240128
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2024.1.28.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kazuhiro NISHIYAMA
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-01-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
description: "[LILO&東海道らぐオフラインミーティング 2024-01-28](https://lilo.connpass.com/event/306590/)の発表資料です。"
|
28
|
+
email:
|
29
|
+
- zn@mbf.nifty.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- ".rabbit"
|
35
|
+
- README.md
|
36
|
+
- Rakefile
|
37
|
+
- config.yaml
|
38
|
+
- lilo-ml-mojibake.png
|
39
|
+
- pdf/lilo-20240128-upgrade-debian.pdf
|
40
|
+
- upgrade-debian.md
|
41
|
+
homepage: https://slide.rabbit-shocker.org/authors/znz/lilo-20240128/
|
42
|
+
licenses: []
|
43
|
+
metadata: {}
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options: []
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
requirements: []
|
59
|
+
rubygems_version: 3.4.19
|
60
|
+
signing_key:
|
61
|
+
specification_version: 4
|
62
|
+
summary: lilo.linux.or.jpをbusterからbullseyeに上げた
|
63
|
+
test_files: []
|