まとめ(almaliux再構築手順)
2025/10/24
# 2. ロケール設定(ja_JP.UTF-8)
sudo dnf install -y glibc-langpack-ja
sudo localectl set-locale LANG=ja_JP.UTF-8
cat /etc/locale.conf
# 3. タイムゾーンと時刻同期設定
sudo timedatectl set-timezone Asia/Tokyo
sudo systemctl enable --now chronyd
timedatectl status
想定結果:
Time zone: Asia/Tokyo
System clock synchronized: yes
# 4. SELinux 状態確認と無効化(構築が完了したら有効化する)
# さくらインターネットVPSのalmalinuxでは、SElinuxは当初からdisableなので、さくらVPSの場合は不要
getenforce
sudo cp -a /etc/selinux/config /etc/selinux/config.bak-$(date +%Y%m%d)
sudo setenforce 0 || true
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
getenforce
grep '^SELINUX=' /etc/selinux/config
# 5. スワップ領域(4GB)作成・永続化
# VPSの契約は、メモリ4GBですので、今後のメールサーバー構築を見据え、スワップ領域4GBを確保しておきます。
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
grep -q "/swapfile" /etc/fstab || echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
# 6. 基本パッケージ導入
sudo dnf install -y epel-release
sudo dnf install -y bash-completion curl wget git tar zip unzip bind-utils firewalld glibc-langpack-ja telnet nc rsync screen htop tree jq
# 7.エディタ導入
# nanoの導入
sudo dnf install -y nano vim-enhanced
# microの導入
cd ~
curl https://getmic.ro | bash
sudo mv ~/micro /usr/local/bin/micro
#microはそのままではパスが通らないので、通しておく。
#`sudo micro` 実行時に「command not found」になる問題の対策。
#sudo secure_path に /usr/local/bin を追加(恒久対策)
grep -Rq "/usr/local/bin" /etc/sudoers /etc/sudoers.d 2>/dev/null || {
echo 'Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin' | sudo tee /etc/sudoers.d/10-secure-path >/dev/null
sudo chmod 440 /etc/sudoers.d/10-secure-path
sudo visudo -cf /etc/sudoers.d/10-secure-path
}
#デフォルトエディタにmicoroを指定(デフォルトをnanoにしたい場合は下記のmicroをnanoに変更)
#環境変数設定(冪等):
grep -q "EDITOR=micro" ~/.bashrc || echo 'export EDITOR=micro' >> ~/.bashrc
grep -q "VISUAL=micro" ~/.bashrc || echo 'export VISUAL=micro' >> ~/.bashrc
#8. firewalld 設定
udo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
# 9. fail2ban 導入
sudo dnf install -y fail2ban
sudo systemctl enable --now fail2ban
sudo mkdir -p /etc/fail2ban/jail.d
cat <<'EOF' | sudo tee /etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 3600
EOF
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
# 10. 再起動前の整合チェック
sudo systemctl is-enabled firewalld
sudo systemctl is-enabled fail2ban
sudo getenforce
sudo hostnamectl
sudo timedatectl
sudo free -h
sudo firewall-cmd --list-all
11. システム更新
sudo dnf update -y