Project

General

Profile

Wiki » History » Version 5

Redmine Admin, 02/10/2026 05:06 PM

1 1 Redmine Admin
 初期設定
2
1。MVMEの設定最適化
3
これを行わないとハングアップする可能性がある
4
2.
5
EEPROM更新
6
sudo rpi-eeprom-update
7
sudo rpi-eeprom-update -a
8
sudo reboot
9
sudo apt install rpi-eeprom
10
sudo rpi-eeprom-update
11
sudo rpi-eeprom-update -a
12
sudo reboot
13
ブート順序確認
14
vcgencmd bootloader_config
15
sudo -E rpi-eeprom-config --edit
16
[all]
17
BOOT_UART=1
18
BOOT_ORDER=0xf416
19
PCIE_PROBE=1
20
NET_INSTALL_AT_POWER_ON=0
21
にする
22
② NVMe が認識されているか確認
23
lsblk
24
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
25
loop0         7:0    0  42.9M  1 loop /snap/snapd/24787
26
loop1         7:1    0  41.6M  1 loop /snap/snapd/25939
27
nvme0n1     259:0    0 476.9G  0 disk 
28
├─nvme0n1p1 259:1    0   512M  0 part /boot/firmware
29
└─nvme0n1p2 259:2    0 476.4G  0 part /
30
lspci | grep -i nvme
31
0000:01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (DRAM-less) (rev 01)
32
③ Ubuntu 側の最適化
33
sudo nano /etc/fstab
34
LABEL=writable  /       ext4    defaults        0       1
35
LABEL=system-boot       /boot/firmware  vfat    defaults        0       1
36
変更する
37
LABEL=writable  /  ext4  defaults,noatime,commit=60  0  1
38
LABEL=system-boot  /boot/firmware  vfat  defaults,noatime  0  0
39
書いた後
40
sudo update-initramfs -u
41
sudo reboot
42
再起動後確認
43
 mount | grep ' / '
44
で下記表示
45
/dev/nvme0n1p2 on / type ext4 (rw,noatime,commit=60)
46
47
I/O scheduler
48
cat /sys/block/nvme0n1/queue/scheduler
49
下記表示
50
[none] mq-deadline
51
52
swap(zram推奨)
53
 sudo apt install zram-tools
54
55
確認:
56
swapon --show
57
表示
58
NAME       TYPE      SIZE USED PRIO
59
/dev/zram0 partition 256M   0B  100
60
✔ initramfs 更新忘れ注意
61
fstab 変更後:
62
sudo update-initramfs -u
63
64
電源不足チェック
65
vcgencmd get_throttled
66
下記表示でOK
67
throttled=0x0
68
69
NVMEの状態確認
70
① NVMe が正しく認識されているか
71
lsblk
72
下記表示
73
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
74
loop0         7:0    0  42.9M  1 loop /snap/snapd/24787
75
loop1         7:1    0  41.6M  1 loop /snap/snapd/25939
76
zram0       252:0    0   256M  0 disk [SWAP]
77
nvme0n1     259:0    0 476.9G  0 disk 
78
├─nvme0n1p1 259:1    0   512M  0 part /boot/firmware
79
└─nvme0n1p2 259:2    0 476.4G  0 part /
80
lsblk -f
81
NAME FSTYPE FSVER LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
82
loop0
83
     squash 4.0                                                          0   100% /snap/snapd/24787
84
loop1
85
     squash 4.0                                                          0   100% /snap/snapd/25939
86
zram0
87
                                                                                  [SWAP]
88
nvme0n1
89
                                                                                  
90
├─nvme0n1p1
91
│    vfat   FAT32 system-boot 8AA8-96C7                             321.7M    36% /boot/firmware
92
└─nvme0n1p2
93
     ext4   1.0   writable    9276ecfd-6dd5-4e22-9a91-2afafd0a53a3  447.5G     1% /
94
95
② PCIe / NVMe として認識されているか
96
lspci | grep -i nvme
97
0000:01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (DRAM-less) (rev 01)
98
99
③ SMART(健康状態)確認【重要】
100
sudo apt install nvme-cli
101
102
SMARTログ
103
sudo nvme smart-log /dev/nvme0
104
Smart Log for NVME device:nvme0 namespace-id:ffffffff
105
critical_warning			: 0
106
temperature				: 35 °C (308 K)
107
available_spare				: 100%
108
available_spare_threshold		: 10%
109
percentage_used				: 0%
110
endurance group critical warning summary: 0
111
Data Units Read				: 15606 (7.99 GB)
112
Data Units Written			: 23998 (12.29 GB)
113
host_read_commands			: 352766
114
host_write_commands			: 327655
115
controller_busy_time			: 0
116
power_cycles				: 10
117
power_on_hours				: 0
118
unsafe_shutdowns			: 2
119
media_errors				: 0
120
num_err_log_entries			: 0
121
Warning Temperature Time		: 0
122
Critical Composite Temperature Time	: 0
123
Temperature Sensor 1           : 35 °C (308 K)
124
Temperature Sensor 2           : 39 °C (312 K)
125
Thermal Management T1 Trans Count	: 0
126
Thermal Management T2 Trans Count	: 0
127
Thermal Management T1 Total Time	: 0
128
Thermal Management T2 Total Time	: 0
129
130
⑦ I/O 状態(詰まり確認)
131
iostat -xm 1
132 2 Redmine Admin
133
① 最低限の日本語化(文字が読めるようにする)
134
135
sudo apt update
136
sudo apt install language-pack-ja
137
138
locale
139
LANG=C.UTF-8
140
LANGUAGE=
141
LC_CTYPE="C.UTF-8"
142
LC_NUMERIC="C.UTF-8"
143
LC_TIME="C.UTF-8"
144
LC_COLLATE="C.UTF-8"
145
LC_MONETARY="C.UTF-8"
146
LC_MESSAGES="C.UTF-8"
147
LC_PAPER="C.UTF-8"
148
LC_NAME="C.UTF-8"
149
LC_ADDRESS="C.UTF-8"
150
LC_TELEPHONE="C.UTF-8"
151
LC_MEASUREMENT="C.UTF-8"
152
LC_IDENTIFICATION="C.UTF-8"
153
LC_ALL=
154
155
sudo update-locale LANG=ja_JP.UTF-8
156
157
② 日本語フォントの導入(最重要)
158
sudo apt install \
159
fonts-noto-cjk \
160
fonts-ipafont \
161
fonts-ipaexfont
162
163
フォント確認
164
sudo apt install fontconfig
165
166
postgre16インストール
167
sudo apt update
168
sudo apt install curl ca-certificates -y
169
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgsql.asc
170
echo "deb http://apt.postgresql.org/pub/repos/apt noble-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
171
sudo apt update
172
sudo apt install postgresql-16 -y
173
sudo systemctl start postgresql
174
sudo systemctl status postgresql
175
176
 postgresql.service - PostgreSQL RDBMS
177
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; prese>
178
     Active: active (exited) since Thu 2026-01-22 15:16:50 JST; 53s ago
179
   Main PID: 3003 (code=exited, status=0/SUCCESS)
180
        CPU: 1ms
181
182
 1月 22 15:16:50 TOYAMADC1 systemd[1]: Starting postgresql.service - PostgreSQL>
183
 1月 22 15:16:50 TOYAMADC1 systemd[1]: Finished postgresql.service - PostgreSQL>
184
lines 1-8/8 (END)
185
186
sudo -u postgres psql
187
CREATE USER toyamadcadmin WITH PASSWORD 'asahitoyama';
188
CREATE DATABASE toyamadc_db OWNER toyamadcadmin ENCODING 'UTF8';
189
GRANT ALL PRIVILEGES ON DATABASE toyamadc_db TO toyamadcadmin;
190
\q
191
sudo ufw allow 5432/tcp
192
sudo nano /etc/postgresql/16/main/postgresql.conf
193
listen_addresses = '*'
194
sudo nano /etc/postgresql/16/main/pg_hba.conf
195
host    all    all    0.0.0.0/0    md5
196
sudo systemctl restart postgresql
197
198
NGINXインストール
199
200
NGINXインストール
201
sudo apt update
202
sudo apt install nginx -y
203
sudo systemctl start nginx
204
sudo systemctl enable nginx
205
sudo systemctl status nginx
206
207
⭐【NGINX の設定ファイル位置】
208
内容                     パス
209
メイン設定            /etc/nginx/nginx.conf
210
サイト設定            /etc/nginx/sites-available/
211
有効化されている設定    /etc/nginx/sites-enabled/
212
213
ZABIX7.0 LTSインストール
214
sudo -s
215
wget https://repo.zabbix.com/zabbix/7.0/ubuntu-arm64/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
216
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
217
apt update
218
apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
219
sudo -u postgres createuser --pwprompt zabbix
220
password:asahitoyama
221
sudo -u postgres createdb -O zabbix zabbix
222
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
223
sudo nano /etc/zabbix/zabbix_server.conf
224
DBPassword=asahitoyama
225
sudo nano /etc/zabbix/nginx.conf
226
listen 8080;
227
server_name toyamadc.com;
228
systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
229
systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm
230
sudo nano /etc/nginx/sites-available/zabbix
231
server {
232
    listen          80;
233
    server_name     _;
234
235
    root    /usr/share/zabbix;
236
    index   index.php;
237
238
    location = /favicon.ico {
239
        log_not_found   off;
240
    }
241
242
    location / {
243
        # ここが 404 の原因になりやすい → index.php にフォールバック
244
        try_files $uri $uri/ /index.php?$query_string;
245
    }
246
247
    location /assets {
248
        access_log      off;
249
        expires         10d;
250
    }
251
252
    location ~ /\.ht {
253
        deny            all;
254
    }
255
256
    location ~ /(api\/|conf[^\.]|include|locale) {
257
        deny            all;
258
        return          404;
259
    }
260
261
    location /vendor {
262
        deny            all;
263
        return          404;
264
    }
265
266
    # PHP 実行部分(ソケットは /run/php 下に合わせる)
267
    location ~ \.php$ {
268
        include         fastcgi_params;
269
        fastcgi_pass    unix:/run/php/zabbix.sock;
270
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
271
        fastcgi_param   DOCUMENT_ROOT   $document_root;
272
273
        fastcgi_intercept_errors        on;
274
        fastcgi_ignore_client_abort     off;
275
        fastcgi_connect_timeout         60;
276
        fastcgi_send_timeout            180;
277
        fastcgi_read_timeout            180;
278
        fastcgi_buffer_size             128k;
279
        fastcgi_buffers                 4 256k;
280
        fastcgi_busy_buffers_size       256k;
281
        fastcgi_temp_file_write_size    256k;
282
    }
283
}
284 4 Redmine Admin
#ZABBIXを起動して確認
285
http://XXX.XXX.XXX.XXX:8080
286
User Admin
287
Password Zabbix
288 2 Redmine Admin
289 5 Redmine Admin
Kea DHCP  → IP配布
290
Bind DNS  → DDNS
291
FreeRADIUS → 802.1X / VLAN制御
292
Step-CA → 証明書発行
293
294
#DHCP
295
sudo apt update
296
sudo apt install kea-dhcp4-server kea-ctrl-agent kea-common -y
297
#VLAN定義
298
sudo nano /etc/netplan/00-installer-config.yaml
299
network:
300
  version: 2
301
  ethernets:
302
    eth0:
303
      dhcp4: no
304
305
  vlans:
306
    vlan1:   { id: 1,   link: eth0, addresses: [172.16.1.250/24] }
307
    vlan100: { id: 100, link: eth0, addresses: [192.168.10.250/24] }
308
    vlan2:   { id: 2,   link: eth0, addresses: [172.16.2.250/24] }
309
    vlan3:   { id: 3,   link: eth0, addresses: [172.16.3.250/24] }
310
    vlan4:   { id: 4,   link: eth0, addresses: [172.16.4.250/24] }
311
    vlan5:   { id: 5,   link: eth0, addresses: [172.16.5.250/24] }
312
    vlan6:   { id: 6,   link: eth0, addresses: [172.16.6.250/24] }
313
    vlan7:   { id: 7,   link: eth0, addresses: [172.16.7.250/24] }
314
    vlan8:   { id: 8,   link: eth0, addresses: [172.16.8.250/24] }
315
    vlan9:   { id: 9,   link: eth0, addresses: [172.16.9.250/24] }
316
    vlan10:  { id: 10,  link: eth0, addresses: [172.16.10.250/24] }
317
    vlan11:  { id: 11,  link: eth0, addresses: [172.16.11.250/24] }
318
    vlan186: { id: 186, link: eth0, addresses: [192.168.186.250/24] }
319
320
DHCPサーバ接続ポート:
321
格納
322
TRUNK
323
allowed vlan 1,2,3,4,5,6,7,8,9,10,11,100m,186
324
325
326
sudo nano /etc/kea/kea-dhcp4.conf
327
{
328
  "Dhcp4": {
329
    "interfaces-config": {
330
      "interfaces": [
331
        "vlan1","vlan100","vlan2","vlan3","vlan4",
332
        "vlan5","vlan6","vlan7","vlan8","vlan9",
333
        "vlan10","vlan11","vlan186"
334
      ]
335
    },
336
337
    "subnet4": [
338
339
      	{"subnet": "172.16.1.0/24",  "interface": "vlan1",
340
        "pools":[{"pool":"172.16.1.200-172.16.1.250"}],
341
        "option-data":[{"name":"routers","data":"172.16.1.1"}],
342
  	"reservations": [
343
344
    	{
345
	"hw-address": "f4:d5:80:24:a7:36",
346
     	"ip-address": "172.16.2.10",
347
      	"hostname": "SWX2310-ToyamaDC"
348
 	},
349
    	{
350
      	"hw-address": "f4:d5:80:17:dc:d6",
351
      	"ip-address": "172.16.2.14",
352
      	"hostname": "SWX2310P-1T-1"
353
    	},
354
	{
355
        "hw-address": "f4:d5:80:24:a9:3c",
356
        "ip-address": "172.16.2.10",
357
        "hostname": "SWX2310_Office"
358
        },
359
      	{
360
        "hw-address": "f4:d5:80:32:99:80",
361
        "ip-address": "172.16.2.20",
362
        "hostname": "WO0101"
363
        },
364
        {
365
        "hw-addess":  "f4:d5:80:32:a1:d8",
366
        "ip-address": "172.16.2.21",
367
        "hostname": "WO0102"
368
        }
369
  	]
370
      },
371
372
      { "subnet": "192.168.10.0/24","interface":"vlan100",
373
        "pools":[{"pool":"192.168.10.100-192.168.10.200"}],
374
        "option-data":[{"name":"routers","data":"192.168.10.1"}] },
375
376
      { "subnet": "172.16.2.0/24", "interface":"vlan2",
377
        "pools":[{"pool":"172.16.2.2-172.16.2.100"}],
378
        "option-data":[{"name":"routers","data":"172.16.2.1"}] },
379
380
      { "subnet": "172.16.3.0/24", "interface":"vlan3",
381
        "pools":[{"pool":"172.16.3.2-172.16.3.50"}],
382
        "option-data":[{"name":"routers","data":"172.16.3.1"}] },
383
384
      { "subnet": "172.16.4.0/24", "interface":"vlan4",
385
        "pools":[{"pool":"172.16.4.2-172.16.4.50"}],
386
        "option-data":[{"name":"routers","data":"172.16.4.1"}] },
387
388
      { "subnet": "172.16.5.0/24", "interface":"vlan5",
389
        "pools":[{"pool":"172.16.5.2-172.16.5.100"}],
390
        "option-data":[{"name":"routers","data":"172.16.5.1"}] }
391
392
      { "subnet": "172.16.6.0/24", "interface":"vlan6",
393
        "pools":[{"pool":"172.16.6.2-172.16.6.100"}],
394
        "option-data":[{"name":"routers","data":"172.16.6.1"}] },
395
396
      { "subnet": "172.16.7.0/24", "interface":"vlan7",
397
        "pools":[{"pool":"172.16.7.2-172.16.7.50"}],
398
        "option-data":[{"name":"routers","data":"172.16.7.1"}] },
399
400
      { "subnet": "172.16.8.0/24", "interface":"vlan8",
401
        "pools":[{"pool":"172.16.8.2-172.16.8.50"}],
402
        "option-data":[{"name":"routers","data":"172.16.8.1"}] },
403
404
      { "subnet": "172.16.9.0/24", "interface":"vlan9",
405
        "pools":[{"pool":"172.16.9.2-172.16.9.100"}],
406
        "option-data":[{"name":"routers","data":"172.16.9.1"}]
407
408
      { "subnet": "172.16.10.0/24", "interface":"vlan10",
409
        "pools":[{"pool":"172.16.10.2-172.16.10.50"}],
410
        "option-data":[{"name":"routers","data":"172.16.7.1"}] },
411
412
      { "subnet": "172.16.11.0/24", "interface":"vlan11",
413
        "pools":[{"pool":"172.16.11.2-172.16.11.50"}],
414
        "option-data":[{"name":"routers","data":"172.16.8.1"}] },
415
416
      { "subnet": "192.168.186.0/24", "interface":"vlan186",
417
        "pools":[{"pool":"192.168.186.2-192.168.186.100"}],
418
        "option-data":[{"name":"routers","data":"192.168.186.1"}] 
419
    ]
420
  }
421
}
422
423
書き込み後、下記コマンド
424
sudo systemctl restart kea-dhcp4-server
425
426
#DNS(BIND9)インストール
427
428
429 2 Redmine Admin
Django インストール
430
sudo apt update
431
sudo apt install python3-pip python3-venv python3-dev -y
432
mkdir ~/toyamadc
433
cd toyamadc
434
python3 -m venv .venv
435
source .venv/bin/activate
436
pip install --upgrade pip
437
pip install django
438
python -m django --version
439
django-admin startproject config .
440
sudo apt install libpq-dev -y
441
pip install psycopg2-binary
442
cd config
443
nano settings.py
444
DATABASES = {
445
    'default': {
446
        'ENGINE': 'django.db.backends.postgresql',
447
        'NAME': 'toyamadc_db',
448
        'USER': 'toyamadcadmin',
449
        'PASSWORD': 'asahitoyama',
450
        'HOST': '127.0.0.1',
451
        'PORT': '5432',
452
    }
453
}
454
cd ..
455
python manage.py migrate
456
python manage.py createsuperuser
457
458
Username (leave blank to use 'toyamadc'): 
459
Email address: admin@asahilogisatics.co.jp
460
Password: asahitoyama
461
Password (again): 
462
Superuser created successfully.
463
464
pip install gunicorn
465
sudo nano /etc/systemd/system/gunicorn.service
466
[Unit]
467
Description=gunicorn daemon for Django
468
After=network.target
469
470
[Service]
471
User=toyamadc
472
Group=www-data
473
WorkingDirectory=/home/toyamadc
474
ExecStart=/home/toyamadc/.venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/gunicorn.sock config.wsgi:application
475
476
[Install]
477
WantedBy=multi-user.target
478
479
sudo nano /etc/nginx/sites-available/django
480
server {
481
    listen 80 default_server;
482
    server_name _;
483
484
    # ==========================
485
    # 1. Django (ルート "/")
486
    # ==========================
487
    location /static/ {
488
        alias /home/toyamadc/static/;
489
    }
490
491
    location / {
492
        include proxy_params;
493
        proxy_pass http://unix:/run/gunicorn.sock;
494
    }
495
496
    # ==========================
497
    # 2. Zabbix ("/zabbix" 以下)
498
    # ==========================
499
500
    # /zabbix/ → /usr/share/zabbix/index.php
501
    location /zabbix {
502
        root /usr/share;
503
        index index.php;
504
    }
505
506
    # PHP 実行部分
507
    location ~ ^/zabbix/.+\.php$ {
508
        root /usr/share;
509
        fastcgi_pass unix:/run/php/zabbix.sock;
510
        include fastcgi_params;
511
512
        # ここがポイント:root と SCRIPT_FILENAME を揃える
513
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
514
        fastcgi_param DOCUMENT_ROOT   $document_root;
515
516
        fastcgi_intercept_errors        on;
517
        fastcgi_ignore_client_abort     off;
518
        fastcgi_connect_timeout         60;
519
        fastcgi_send_timeout            180;
520
        fastcgi_read_timeout            180;
521
        fastcgi_buffer_size             128k;
522
        fastcgi_buffers                 4 256k;
523
        fastcgi_busy_buffers_size       256k;
524
        fastcgi_temp_file_write_size    256k;
525
    }
526
527
    # 触らせたくないもの
528
    location ~ ^/zabbix/(api\/|conf[^\.]|include|locale) {
529
        deny all;
530
        return 404;
531
    }
532
533
    location ~ ^/zabbix/vendor/ {
534
        deny all;
535
        return 404;
536
    }
537
538
    location ~ /\.ht {
539
        deny all;
540
    }
541
}
542
sudo ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/
543
sudo nginx -t
544
545 3 Redmine Admin
.ssh/config
546
547
Host toyama-django
548
    HostName 192.168.200.111
549
    User toyamadc
550
    IdentityFile /Users/mizunuma/.ssh/id_ed25519
551
    IdentitiesOnly yes
552
    PreferredAuthentications publickey
553
554
swap増加sudo rm /swapfile
555
sudo fallocate -l 8G /swapfile
556
sudo chmod 600 /swapfile
557
sudo mkswap /swapfile
558
sudo swapon /swapfile
559
sudo nano /etc/fstab
560
/swapfile none swap sw 0 0
561
sudo swapoff -a
562
563
radiusインストール
564
sudo apt update
565
sudo apt upgrade -y
566
sudo apt install freeradius freeradius-utils -y
567
sudo systemctl enable freeradius
568
sudo systemctl start freeradius
569
sudo systemctl status freeradius
570
571
証明書作成->
572
573
sudo apt update
574
sudo apt install isc-dhcp-server -y
575
sudo nano /etc/default/isc-dhcp-server
576
NTERFACESv4="eth0"
577
INTERFACESv6=""
578
sudo nano /etc/dhcp/dhcpd.conf
579
option domain-name "local";
580
option domain-name-servers 8.8.8.8, 1.1.1.1;
581
582
default-lease-time 600;
583
max-lease-time 7200;
584
585
authoritative;
586
587
subnet 192.168.10.0 netmask 255.255.255.0 {
588
    range 192.168.10.100 192.168.10.200;
589
    option routers 192.168.10.1;
590
    option broadcast-address 192.168.10.255;
591
}
592
593
sudo nano /etc/netplan/00-installer-config.yaml
594
network:
595
  version: 2
596
  ethernets:
597
    eth0:
598
      addresses: [192.168.10.1/24]
599
      gateway4: 192.168.10.1
600
      nameservers:
601
        addresses: [8.8.8.8,1.1.1.1]
602
        
603
sudo netplan apply
604
605
DHCP サーバを起動
606
sudo systemctl restart isc-dhcp-server
607
sudo systemctl enable isc-dhcp-server
608
609
状態確認:
610
sudo systemctl status isc-dhcp-server
611
612
エラーチェック
613
sudo journalctl -u isc-dhcp-server -f