大方針
新型コロナな待機でカッとなってMicroserverGen8の中古をポチって色々やったので、Full Updates期限の切れるCentOS7から8へ移行。Gen8だし
今回のコンセプトは
- MicroserverがHDD5台行けたけどGen8は4台+αなのでディスク容量どうにかする
- 一部サービスをコンテナ側に持っていく
な感じ。容量の問題はHDD8TBを追加で買って2TBと3TBのHDDを合算させて終了。
どうせなので、起動ディスクと録画データ用のディスクはSSDに。これまで2TBのHDDを起動用+録画データ保存用に使っていたので、SSD2TBと500GBの2台買って役割分担させることに。
調べたところ、Gen8はスリム光学メディアがオプションにありそこの空きスペースにSSDを転がして換装するのが基本みたい。
ただし、相変わらず起動ディスクにはできない罠があるとのことなのでここを2TBのSSDにして、起動用は500GBのSSD買って、3.5インチマウンタに合致するようにアダプタ噛ます形に。
購入したものは光学ドライブがついているやつだったので、そのまま抜き取ると穴が空いて微妙な感じになるのでどうにかできないか調べていると、ノートPC用の光学ドライブのところにSSD突っ込むアダプタが売っていたのでコレを購入して試すことに。
購入したのはアイネックスのHDM-40 HDM-40 | Ainex
説明不足感がすごいけど、購入しても説明書これだけ。
Gen8、固定用に金具が光学ドライブについているんだけどコレを固定できるかが鍵って感じだったけど問題なく付いた。
注意は標準で用意されている工具だと回せなかったこと。トルクスネジのサイズは違った。
工具は以前一式そろえてたので問題なかったけどちょっと気になった。中古だからってことはない気がする
あと、電源がFDDの頃の懐かしのコネクタだったので変換が必要、と書かれていたけどノートPC用のコネクタ(SATA+電源一体型)のものがそのままつけられたので、試すならコレおすすめ。
ジャンパで設定色々買えられるらしいけど変更なしで認識した。

SATA+電源のコネクタ


HDM-40取り付け

取り付け完成図
とりあえず認識しているので大丈夫そう。
何使ったかは後で書く
インストール
メディアはUSBメモリ。
USB3.0のところに指してたらブートできなかったのでブートできるのは2.0のところだけっぽい。
とりあえず最小構成でインストール
最初にvisudo設定。
いつも使ってるグループ設定だけやっておく。
visudoで開いて上記の内容を最下部に記載でOK
ただし、グループ(gomigomi)全体に権限与えたいので以下の記載を
1
2
3
4
| # visudo
最終行に
%gomigomi ALL=(ALL) ALL
|
IPアドレス設定はDHCPでインストール時にやってしまったのでyum
エイリアス設定がデフォルトで入っているのでyum
コマンド関係の入力補完させるのに
1
| # sudo yum install bash-completion
|
あと作業しやすいようにsshdだけ起動
rootログインだけ不許可に
1
2
3
4
5
6
| # sudo vi /etc/ssh/sshd_config
46行目を修正
PermitRootLogin yes
↓
PermitRootLogin no
|
そして起動
1
| # sudo systemctl restart sshd
|
後々色々入れるのでepel入れておく
1
| # sudo yum install epel-release
|
SELinux
セキュリティレベル的にいらないので無効化
1
2
3
| # /etc/selinux/config
で以下に編集
SELINUXTYPE=disabled
|
環境設定
Docker
※2020/12/11 補足
docker-ce stableにCentOS8用のパッケージが存在するため、このやり方でやらないほうが良さそうなのでそのうちテストする…つもりだったけどCentOS8があっさり終わるので次は検討中
https://download.docker.com/linux/centos/8/x86_64/stable/Packages/
1
| # sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
CentOS8というかRHELがDockerそのまま入れられないようにしているようなので調整
とりあえずwgetも入ってなかったので入れる
1
2
3
4
| # sudo yum install wget
# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
# sudo yum install containerd.io-1.2.13-3.1.el7.x86_64.rpm
# sudo yum install docker-ce
|
CentOS7のところから持ってくるとかもうめんどくさ
サービス有効化
1
2
| # sudo systemctl start docker
# sudo systemctl enable docker
|
ユーザーをdockerグループに参加
1
2
3
4
5
6
7
| # sudo usermod -aG docker $USER
確認
# id $USER
カレントグループの変更
# newgrp docker
|
[kusomemo.tokyo](https://kusomemo.tokyo/tech/centos8-docker-install/)このままだとコンテナ内から名前解決できないのでNAPT設定しておく
1
2
| # sudo firewall-cmd --add-masquerade --permanent
# sudo firewall-cmd --reload
|
[qiita.com](https://qiita.com/cyberblack28/items/0b0ec02bce67a16e2f17)動作確認
1
2
3
4
5
6
7
8
9
10
11
| ・DockerコンテナのDL(Pull)
# docker pull alpine
・DLしたDockerを確認
# docker images
・alpineを起動させる
# docker run -it --rm alpine /bin/sh
・ping
# ping www.google.com
|
docker-compose
バージョンはgithub調べて調整
1
2
| # sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
|
[docs.docker.com](https://docs.docker.com/compose/install/)SSDのTrim管理
1
2
| # sudo systemctl start fstrim.timer
# sudo systemctl status fstrim
|
NTPクライアント設定
1
| # sudo yum install chrony
|
設定を変更
1
2
3
4
5
| # sudo vi /etc/chrony.conf
3行目コメントアウトしてNICTに変更
# pool 2.centos.pool.ntp.org iburst
pool ntp.nict.jp iburst
|
再起動
1
2
| # sudo systemctl start chronyd.service
# sudo systemctl enable chronyd.service
|
xrdpインストール
まずはデスクトップ環境インストール
1
| # sudo yum group install "Server with GUI"
|
1
2
3
4
| # sodo yum install xrdp
# sudo yum install tigervnc-server
# sudo systemctl start xrdp.service
# sudo systemctl enable xrdp.service
|
firewallの穴あけ設定はサービス追加で
1
| # sudo vi /usr/lib/firewalld/services/xrdp.xml
|
1
2
3
4
5
6
| <?xml version="1.0" encoding="utf-8"?>
<service>
<short>xrdp</short>
<description>xrdp service</description>
<port protocol="tcp" port="3389"/>
</service>
|
1
2
| # sudo firewall-cmd --add-service=xrdp --permanent
# sudo firewall-cmd --reload
|
/etc/xrdp/xrdp.iniの設定をいくつか変更
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| max_bbp=32を24に修正
[XVnc]の項目をコメントアウト
以下追記
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask-1
delay_ms=2000
|
~~ログイン後、日本語入力できるようにKana Kanji入れる
[アクティビティ] –> [ソフトウェア]で検索「ibus - kkc」
再ログイン後、システム設定のRegion&Languageで入力ソースに日本語(かな漢字)を追加して、第一リソースに設定~~
レポジトリからmozc入れられることが判明
1
| # sudo yum install mozc ibus-mozc
|
再ログイン後、システム設定のRegion&Languageで入力ソースに日本語(Mozc)を追加して、第一リソースに設定
標準のディレクトリが日本語になる問題を解消
1
| # LANG=C xdg-user-dirs-gtk-update
|
JDownloader
たまに巨大ファイルをDLするときに使っているのでセットアップ
公式からLinux用のセットアップツールDLしてきて
1
2
3
4
| # chmod +x JD2Setup_x64.sh
# ./JD2Setup_x64.sh
GUIでポチポチすすめる
|
/etc/xrdp.iniのmax_bbp=32を24に修正しないとJavaの画面がまっしろ
そして日本語文字化けするのでVLゴシックフォントを追加。
多分日本語のttfフォントが無いのかな
1
| # sudo yum install vlgothic-*
|
git
とってくるのと送るのに使うので
1
2
3
| # sudo yum install git
# git config --global user.name "First-name Family-name"
# git config --global user.email "[email protected]"
|
ツール関係
センサー温度確認
lm_sensors入れる
1
| # sudo yum install lm_sensors
|
設定関係
samba
共有ディレクトリ用にユーザー作ってそこに格納する方針で今回はいく
1
| # sudo yum install samba
|
ユーザー作ったら、
- そのユーザーのhomeディレクトリからパーミッション設定してやる
- マウントはそのユーザーのhomeディレクトリ以下にmnt作ってそこでやる
これでsambaのシンボリックリンクがホームディレクトリ外に出ていけなくなる問題は解決できるはず
Graylog
なんか以前書いてた気がしたけど履歴になかったので。
Docker-composeでGraylog入れる
composeファイルは別途記載
1
| # sudo vi /usr/lib/firewalld/services/graylog.xml
|
1
2
3
4
5
6
7
8
| ?xml version="1.0" encoding="utf-8"?>
<service>
<short>graylog</short>
<description>graylog service</description>
<port protocol="tcp" port="8000"/>
<port protocol="udp" port="514"/>
<port protocol="tcp" port="514"/>
</service>
|
1
2
| # sudo firewall-cmd --add-service=graylog --permanent
# sudo firewall-cmd --reload
|
ポート番号は設定に合わせて
1
2
3
4
5
6
7
| # sudo vi /etc/rsyslog.conf
最終行に
*.* @192.168.1.xx:514
*.* @@192.168.1.xx:514
# sudo systemctl restart rsyslog
|
ffmpeg
1
| # docker pull jrottenberg/ffmpeg:4.1-alpine
|
gcc
gccやmakeすら入ってなかったわってことで
1
2
| # sudo yum install gcc
# sudo yum install make
|
miniDLNA
firewallに穴あけしてdocker-composeファイル作ってやる
vladgh/minidlnaを使うけど、そのままだとメディアディレクトリがパーミッション問題で読めないので、共有ディレクトリ用のグループを追加してやる。
やり方よくわからなかったので、Dockerfileでグループ追加することにした。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| docker-compose.yml
version: '3'
services:
home_build:
build:
context: .
dockerfile: Dockerfile
# GIDに共有フォルダのgidを設定する
args:
GID: 1000
container_name: minidlna
restart: always
logging:
driver : "syslog"
options:
syslog-address: "tcp://192.168.1.1:514"
network_mode: "host"
ports:
- "8000:8000"
- "1900:1900/udp"
environment:
MINIDLNA_MEDIA_DIR_1: V,/media/video
MINIDLNA_FRIENDLY_NAME: DLNA Server
volumes:
- /media/videos:/media/video
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Dockerfile
FROM vladgh/minidlna
#コンテナ内で追加するグループのid(共有ディレクトリのグループ)
#環境に合わせてgidを設定する
ARG GID
USER root
RUN apk --no-cache add shadow
RUN echo "add group id : $GID"
RUN groupadd -g $GID sharegroup
RUN usermod -aG $GID minidlna
USER minidlna
|
1
2
3
| # docker-compose up -d
# sudo firewall-cmd --add-service=minidlna --permanent
# sudo firewall-cmd --reload
|
ここから先はまた別の日に一気にやる