[PR] 本記事にはプロモーションが含まれています。

AlmaLinux 9 初期設定|日本語化・自動アップデート・root宛てメールの転送など、自宅サーバーで最初にしたこと

自宅サーバー構築
➔ 自宅サーバー構築メモの目次はこちら

【2026年5月26日時点の情報です】

AlmaLinux 9をインストールしたあと、自宅サーバーとして使うために最初に行った設定です。インストールの手順は、AlmaLinux 9 インストールの記事で紹介しています。

設定はすべてrootで行います。インストールのときに作った管理者ユーザーでログインし、「su -」でrootに切り替えてから作業します。

Bash
[user@almalinux ~]$ su -
パスワード:  ← rootのパスワード
[root@almalinux ~]#

1. 日本語化

日本語の言語パックを入れて、メッセージや日付の表示を日本語にします。

Bash
[root@almalinux ~]# dnf install -y glibc-langpack-ja

[root@almalinux ~]# localectl set-locale LANG=ja_JP.utf8

[root@almalinux ~]# localectl  ※日本語のロケールになったか確認
System Locale: LANG=ja_JP.utf8
    VC Keymap: jp
   X11 Layout: jp

一度ログアウトして、もう一度ログインすると、日本語の表示に切り替わります。

Bash
※切り替える前
[root@almalinux ~]# ll
total 4
-rw-------. 1 root root 1095 May 26 09:01 anaconda-ks.cfg

※ログインし直したあと
[root@almalinux ~]# ll
合計 4
-rw-------. 1 root root 1095  5月 26 09:01 anaconda-ks.cfg

2. rootに切り替えられるユーザーを管理者だけにする

初期設定では、rootのパスワードを知っていれば、どのユーザーでもsuでrootになれます。これを、管理者のグループ(wheel)に入っているユーザーだけに制限します。

Bash
[root@almalinux ~]# vi /etc/pam.d/su
次の行の先頭の # を外す
#auth            required        pam_wheel.so use_uid
  ↓
auth            required        pam_wheel.so use_uid

インストールのときに「このユーザーを管理者にする」にチェックを入れたユーザーは、すでにwheelグループに入っています。入っているかは、次のコマンドで確かめられます(userは自分のユーザー名)。この設定の前に確かめておかないと、rootに切り替えられなくなるので注意してください。

Bash
[root@almalinux ~]# id user
… グループ=1000(user),10(wheel)  ← wheel があればOK

3. パッケージの更新と自動アップデート

パッケージを最新にしてから、dnf-automaticで更新を自動でインストールするようにします。セキュリティの修正を自動で取り込めるので、自宅サーバーでは入れておきたい設定です。

Bash
[root@almalinux ~]# dnf -y update  ※すべてのパッケージを最新にする

[root@almalinux ~]# dnf -y install dnf-automatic

[root@almalinux ~]# vi /etc/dnf/automatic.conf
※更新のダウンロードとインストールを自動で行う
apply_updates = no
  ↓
apply_updates = yes

[root@almalinux ~]# systemctl enable --now dnf-automatic-install.timer  ※自動更新を有効にして、すぐに開始

[root@almalinux ~]# dnf -y groupinstall base "Development tools"  ※ベースと開発ツールのパッケージ群を入れる

カーネルの更新は、再起動しないと反映されません。私は月に一度程度、再起動しています。

4. root宛てのメールをGmailに転送する

サーバーでは、エラーやセキュリティチェックの結果が、root宛てのメールで届きます。このあと入れるTripwireやrkHunterの通知もroot宛てに届くので、ふだん使っているGmailに転送して、スマホでも確認できるようにします。

Gmailを経由して送るには、事前にGoogleアカウントで「アプリパスワード」を作っておく必要があります(2段階認証を有効にしたアカウントで作れます)。アプリパスワードは、ふだんのGmailのパスワードとは別の、16文字のパスワードです。

Bash
[root@almalinux ~]# dnf -y install postfix cyrus-sasl-plain  ※Postfixと、Gmailの認証に必要なパッケージを入れる

[root@almalinux ~]# systemctl enable --now postfix  ※Postfixを起動して、自動起動も設定

[root@almalinux ~]# vi /etc/postfix/main.cf  ※Postfixの設定ファイルを編集
最後の行に次を追加
relayhost = [smtp.gmail.com]:587
smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

[root@almalinux ~]# echo "[smtp.gmail.com]:587 xxxxx@gmail.com:アプリパスワード" > /etc/postfix/sasl_passwd  ※Gmailのアドレスとアプリパスワードを設定

[root@almalinux ~]# chmod 600 /etc/postfix/sasl_passwd  ※rootだけが読めるようにする

[root@almalinux ~]# postmap /etc/postfix/sasl_passwd  ※Postfixが読める形式に変換

[root@almalinux ~]# systemctl reload postfix  ※設定を反映

[root@almalinux ~]# dnf -y install s-nail  ※mailコマンドを使えるようにする

[root@almalinux ~]# sed -i '/^root:/d' /etc/aliases  ※今のroot宛ての転送設定を削除

[root@almalinux ~]# echo "root: xxxxx@gmail.com" >> /etc/aliases  ※root宛てのメールをGmailに転送

[root@almalinux ~]# newaliases  ※転送設定を反映

[root@almalinux ~]# echo test | mail root  ※root宛てにテストメールを送り、Gmailに届くか確認

届かないときは、「tail /var/log/maillog」でエラーを確かめます。アプリパスワードの入力間違いや、cyrus-sasl-plainが入っていないことがよくある原因です。

5. SELinuxを無効にする

SELinuxは、プログラムが許可されたことだけをできるようにする、Linuxのセキュリティの仕組みです。安全性は高まりますが、ApacheやKVMなどを設定するたびにSELinuxの設定も必要になり、初心者にはつまずきやすいので、このサーバーでは無効にしています。無効にすると、そのぶん安全性は下がるので、更新や改ざんの検知(Tripwire、rkHunter)などで補っています。

Bash
[root@almalinux ~]# setenforce 0  ※SELinuxの効果を一時的に止める

[root@almalinux ~]# getenforce  ※SELinuxの状態を確認
Permissive  ← 「警告だけで止めない」状態

[root@almalinux ~]# grubby --update-kernel ALL --args selinux=0  ※次に起動したときから、SELinuxを完全に無効にする

再起動したあと、getenforceで「Disabled」と表示されれば、無効になっています。

6. ファイアウォールを止める

このサーバーでは、ファイアウォール(firewalld)を止めています。

  • 自宅の回線(NURO光のMAP-E方式)ではルーターでポートを開けていないので、インターネットからサーバーに直接届く接続はありません。
  • ブログへのアクセスは、すべてCloudflare Tunnelを通して届きます。不正なアクセスのブロックなどは、Cloudflare側で設定しています。

ただし、ファイアウォールを止めると、家の中のネットワーク(LAN)からは、サーバーのどのポートにもつながる状態になります。ルーターでポート開放をしている環境や、LANに知らない機器がつながる環境では、ファイアウォールは止めずに使ってください。

Bash
[root@almalinux ~]# systemctl disable --now firewalld  ※ファイアウォールを止めて、自動起動もしないようにする

Cloudflare Tunnelで公開している仕組みは、自宅ネットワークの記事で紹介しています。

まとめ

AlmaLinux 9をインストールしたあとに、次の設定を行いました。

設定目的
日本語化メッセージや日付を日本語で表示する
suの制限rootになれるユーザーを管理者だけにする
自動アップデートセキュリティの修正を自動で取り込む
root宛てメールの転送サーバーからの通知をGmailで受け取る
SELinuxの無効化このあとの設定でつまずかないようにする
ファイアウォールを止める公開はCloudflare Tunnelだけなので、サーバー側では使わない

次は、KVMで仮想環境を作ります。手順はKVMの記事で紹介しています。

コメント