基本設定 – Debian Linuxによる自宅サーバの構築

自宅サーバ
自宅サーバ

自宅サーバを使用するうえで基本的な設定やアプリケーションのインストールを行います。

sudo

sudo コマンドという一時的にrootユーザとしてコマンドを実行できるパッケージをインストールします。
sudo を導入し、rootへログインせずにコマンドを実行できるようになります。

まずは、rootになりパッケージをインストールします。

su -
apt install -y sudo

sudo グループに自分の [ ユーザ名 ] を追加します。

gpasswd -a [ ユーザ名 ] sudo

パスワードなしでコマンドを実行できるように、自分の [ ユーザ名 ] を設定します。

echo "[ ユーザ名 ] ALL=(root) NOPASSWD:ALL" | tee /etc/sudoers.d/[ ユーザ名 ]

root をログアウトします。

exit

これで sudo コマンドが使える状態になります。

ちなみに、Ubuntu や WSLの各ディストリビューションでは sudo コマンドはデフォルトで入っています。

パッケージソースリスト

Debian では apt というパッケージ管理システムを使用しています。
apt ではパッケージのソースリストからパッケージ情報を取得しています。
パッケージのソースリストを設定することにより色々なパッケージのダウンロードが可能になります。

ソースリストの設定を確認してみましょう。

cat /etc/apt/sources.list

デフォルトの設定では、bullseye main と、[ コードネーム ] main となっています。
ここに、 contrib non-free と追記することにより、ダウンロードできるパッケージが増えます。

contrib や non-free にはフリーではないパッケージが含まれています。
たとえば、WiFiやBluetoothのドライバなどです。

contrib や non-free を含めた設定に書き換えましょう。

sudo vi /etc/apt/sources.list

deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free

deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

ソースリストを変更後はソースリストを最新に更新します。

sudo apt update

ソースリストの更新により、パッケージのアップグレードが、見つかる場合があるので、アップグレードします。

sudo apt -y upgrade

基本的なパッケージ

よく使うと思われるパッケージをインストールします。
Ubuntu などではデフォルトで入っているパッケージも、Debianでは入っていない場合があります。
好みに合わせてパッケージをインストールすることをオススメします。

sudo apt install -y bash-completion curl dnsutils exim4 fonts-ipafont git imagemagick jq locales mailutils nfs-client patch rsync snmp snmpd sqlite3 sysstat tree vim wget whois zip

セキュリティ・アップデートの自動化

セキュリティのアップデートを自動に行う設定です。

インストール

sudo apt install -y unattended-upgrades

設定

sudo dpkg-reconfigure -plow unattended-upgrades

選択がでるので「はい」を選択してください。

設定

パッケージの更新があった場合、root 宛にメールを送信する設定です。

# Unattended-Upgrade::Mail
sudo sed -i 's/^\/\?\/\?Unattended-Upgrade::Mail.*/Unattended-Upgrade::Mail "root";/' /etc/apt/apt.conf.d/50unattended-upgrades

メール設定

自宅サーバから自分宛てにメールを送りたい場合があるので、メールを送信できるように設定します。

Postfix

Postfix というメールサーバをインストールします。

sudo apt install -y postfix

選択画面が出てくるので、下記を選択してください。

> インターネットサイト

メールエイリアス

メールエイリアスでメールの送信先を設定します。
メールエイリアスは /etc/aliases で設定を行います。

cat /etc/aliases

中身を確認すると、root に送信された場合、自分宛 [ ユーザ名 ] に送信される設定が確認できます。
[ ユーザ名 ] に送られた場合、自分のメールアドレスに送信されるように設定するれば、サーバからのメールを受け取ることができます。

送信先追加

echo '[ ユーザ名 ]: [ メールアドレス ]' | sudo tee -a /etc/aliases

反映

sudo newaliases

mailname

システムがメールを送信する際に使用するデフォルトのドメイン名を設定します。
こちらは実際に存在するドメインでないと、エラーとなる設定になっています。

自分で使用しているメールアドレスのドメイン名など設定しましょう。

echo '[ ドメイン名 ]' | sudo tee /etc/mailname

Postfix の myhostname にも設定します。

# myhostname
sudo sed -i 's/^#\?myhostname.*/myhostname = [ ドメイン名 ]/' /etc/postfix/main.cf

SMTPリレー設定

一般的なプロバイダを使用している場合、OP25B(Outbound Port 25 Blocking)という、25番ポートの通信制限が行われています。
メールサーバは25番ポートを使用しメールを送信しているので、通常の設定ではメールを送信することができません。

そのため、自分自身のメールアカウントの送信サーバを利用しメールを送信させます。
もしくは、SMTPリレーサービスを使うとよいでしょう。

以下のメール送信アカウントの場合の設定例です。

host: smtp.example.com
port: 587
user: maintenance
pass: password_1234

sudo vi /etc/postfix/main.cf

mydestination = $myhostname localhost.$mydomain localhost
relayhost = [smtp.example.com]:587

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

sudo vi /etc/postfix/sasl_passwd

[smtp.example.com]:587 maintenance:password_1234
sudo chmod 604 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
sudo service postfix restart
sudo service postfix status

テストメール送信

echo "Send TEST!" | sudo sendmail root

テストメールが受信できれば設定完了です。

Docker

Dockerをインストールします。

Dockerはアプリケーションとその依存関係をコンテナと呼ばれる独立した実行環境にパッケージ化できるアプリケーションです。
サーバに直接アプリケーションをインストールすることなく、コンテナに環境を閉じ込めることができます。

必要なパッケージインストール

sudo apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common

鍵を追加

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

リポジトリを追加

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

アップデートしインストール

sudo apt update
sudo apt install -y docker-ce

docker グループに自分を追加

sudo usermod -aG docker $USER

Dockerの設定

sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json

ログのローテーション設定

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "15m",
    "max-file": "5"
  }
}

Node.js

Node.js をインストールします。
Node.js はJavaScriptをサーバで実行するためのアプリケーションです。

curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -
sudo apt install -y nodejs

Python

Python は初めからインストールされています。
Pythonのパッケージ管理システムである、pip をインストールします。

sudo apt install -y python3 python3-pip

Vim

ホームディレクトリに .vimrc ファイルを設定することにより、vim の設定が行えます。

vi ~/.vimrc

syntax enable
set encoding=utf-8
set number
set tabstop=4
set softtabstop=4
set expandtab
set shiftwidth=4
set backspace=indent,eol,start
set paste

再起動

色々と設定が完了したら一度再起動をするとよいでしょう。

sudo reboot

おわりに

この自宅サーバを活用して、ファイルサーバ、メディアサーバーなどをさまざまな機能を構築していってください。

コメント

タイトルとURLをコピーしました