Project

General

Profile

Wiki » History » Version 3

Redmine Admin, 01/29/2026 02:48 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
285
Django インストール
286
sudo apt update
287
sudo apt install python3-pip python3-venv python3-dev -y
288
mkdir ~/toyamadc
289
cd toyamadc
290
python3 -m venv .venv
291
source .venv/bin/activate
292
pip install --upgrade pip
293
pip install django
294
python -m django --version
295
django-admin startproject config .
296
sudo apt install libpq-dev -y
297
pip install psycopg2-binary
298
cd config
299
nano settings.py
300
DATABASES = {
301
    'default': {
302
        'ENGINE': 'django.db.backends.postgresql',
303
        'NAME': 'toyamadc_db',
304
        'USER': 'toyamadcadmin',
305
        'PASSWORD': 'asahitoyama',
306
        'HOST': '127.0.0.1',
307
        'PORT': '5432',
308
    }
309
}
310
cd ..
311
python manage.py migrate
312
python manage.py createsuperuser
313
314
Username (leave blank to use 'toyamadc'): 
315
Email address: admin@asahilogisatics.co.jp
316
Password: asahitoyama
317
Password (again): 
318
Superuser created successfully.
319
320
pip install gunicorn
321
sudo nano /etc/systemd/system/gunicorn.service
322
[Unit]
323
Description=gunicorn daemon for Django
324
After=network.target
325
326
[Service]
327
User=toyamadc
328
Group=www-data
329
WorkingDirectory=/home/toyamadc
330
ExecStart=/home/toyamadc/.venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/gunicorn.sock config.wsgi:application
331
332
[Install]
333
WantedBy=multi-user.target
334
335
sudo nano /etc/nginx/sites-available/django
336
server {
337
    listen 80 default_server;
338
    server_name _;
339
340
    # ==========================
341
    # 1. Django (ルート "/")
342
    # ==========================
343
    location /static/ {
344
        alias /home/toyamadc/static/;
345
    }
346
347
    location / {
348
        include proxy_params;
349
        proxy_pass http://unix:/run/gunicorn.sock;
350
    }
351
352
    # ==========================
353
    # 2. Zabbix ("/zabbix" 以下)
354
    # ==========================
355
356
    # /zabbix/ → /usr/share/zabbix/index.php
357
    location /zabbix {
358
        root /usr/share;
359
        index index.php;
360
    }
361
362
    # PHP 実行部分
363
    location ~ ^/zabbix/.+\.php$ {
364
        root /usr/share;
365
        fastcgi_pass unix:/run/php/zabbix.sock;
366
        include fastcgi_params;
367
368
        # ここがポイント:root と SCRIPT_FILENAME を揃える
369
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
370
        fastcgi_param DOCUMENT_ROOT   $document_root;
371
372
        fastcgi_intercept_errors        on;
373
        fastcgi_ignore_client_abort     off;
374
        fastcgi_connect_timeout         60;
375
        fastcgi_send_timeout            180;
376
        fastcgi_read_timeout            180;
377
        fastcgi_buffer_size             128k;
378
        fastcgi_buffers                 4 256k;
379
        fastcgi_busy_buffers_size       256k;
380
        fastcgi_temp_file_write_size    256k;
381
    }
382
383
    # 触らせたくないもの
384
    location ~ ^/zabbix/(api\/|conf[^\.]|include|locale) {
385
        deny all;
386
        return 404;
387
    }
388
389
    location ~ ^/zabbix/vendor/ {
390
        deny all;
391
        return 404;
392
    }
393
394
    location ~ /\.ht {
395
        deny all;
396
    }
397
}
398
sudo ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/
399
sudo nginx -t
400
401 3 Redmine Admin
.ssh/config
402
403
Host toyama-django
404
    HostName 192.168.200.111
405
    User toyamadc
406
    IdentityFile /Users/mizunuma/.ssh/id_ed25519
407
    IdentitiesOnly yes
408
    PreferredAuthentications publickey
409
410
swap増加sudo rm /swapfile
411
sudo fallocate -l 8G /swapfile
412
sudo chmod 600 /swapfile
413
sudo mkswap /swapfile
414
sudo swapon /swapfile
415
sudo nano /etc/fstab
416
/swapfile none swap sw 0 0
417
sudo swapoff -a
418
419
radiusインストール
420
sudo apt update
421
sudo apt upgrade -y
422
sudo apt install freeradius freeradius-utils -y
423
sudo systemctl enable freeradius
424
sudo systemctl start freeradius
425
sudo systemctl status freeradius
426
427
証明書作成->
428
429
sudo apt update
430
sudo apt install isc-dhcp-server -y
431
sudo nano /etc/default/isc-dhcp-server
432
NTERFACESv4="eth0"
433
INTERFACESv6=""
434
sudo nano /etc/dhcp/dhcpd.conf
435
option domain-name "local";
436
option domain-name-servers 8.8.8.8, 1.1.1.1;
437
438
default-lease-time 600;
439
max-lease-time 7200;
440
441
authoritative;
442
443
subnet 192.168.10.0 netmask 255.255.255.0 {
444
    range 192.168.10.100 192.168.10.200;
445
    option routers 192.168.10.1;
446
    option broadcast-address 192.168.10.255;
447
}
448
449
sudo nano /etc/netplan/00-installer-config.yaml
450
network:
451
  version: 2
452
  ethernets:
453
    eth0:
454
      addresses: [192.168.10.1/24]
455
      gateway4: 192.168.10.1
456
      nameservers:
457
        addresses: [8.8.8.8,1.1.1.1]
458
        
459
sudo netplan apply
460
461
DHCP サーバを起動
462
sudo systemctl restart isc-dhcp-server
463
sudo systemctl enable isc-dhcp-server
464
465
状態確認:
466
sudo systemctl status isc-dhcp-server
467
468
エラーチェック
469
sudo journalctl -u isc-dhcp-server -f