私的サーバー構築日誌：仕切り直し

# 能書き

[自宅サーバー構築譚：基本構想](https://qiita.com/katz_engineer/items/cb592be44daa28a51d9b)として自宅サーバーの構築に勤しんできまして、それなりに成果も上がっていました。ですがここへ来て状況が変化し、色々と変更せざるを得なくなりました。

- 今まで構築の主軸となっていたデスクトップマシン DELL Inspiron 530s が、とうとう壊れました。症状としてはネットワークが駄目になってしまった模様です。
- ずっと憧れていたマシンをやっと購入できました。Intel の [NUC13ANHI5000](https://ark.intel.com/content/www/jp/ja/ark/products/233098/intel-nuc-13-pro-kit-nuc13anhi5.html) です。
- 私は自分の独自ドメインを [Value Domain](https://www.value-domain.com/) で取得・維持していたのですが、久し振りにチェックしたら、レンタルサーバーを実質無料で借りられるらしい。

このレンタルサーバーの無料について少々説明すると、[CORESERVER](https://www.value-domain.com/rental-server/coreserver/)のV2プランではドメインの更新費用を無料にしてくれるとの事（もちろん1つだけですが）。

ここで注目すべきは、この更新費用無料の対象に.jpドメインが加わった点。.jpドメインの年間更新料は3,764円です。月額だと約314円。そして2023年8月までは、CORESERVERのV2プランは20%引きセール中で月額312円らしい。

つまり月額312円でレンタルサーバーを契約すると、月額314円の.jpドメイン維持費用が無くなります！

まぁ.jpドメインを個人で買ってる人は少ないと思いますけども。私はかれこれ20年近く維持しているドメインがありますので、飛び付いたという訳です。

そういう訳でして、これまでのサーバー構築経験も踏まえて[今までの基本構想](https://qiita.com/katz_engineer/items/cb592be44daa28a51d9b)を見直し、新しく私的サーバー構築の構想を練り直す事にしました。

# ハードウェア

## おうちサーバー

- [NUC13ANHI5000](https://ark.intel.com/content/www/jp/ja/ark/products/233098/intel-nuc-13-pro-kit-nuc13anhi5.html)
    - SSD: 2TB、HDD無し
    - メモリ: 32GB
- HP NL54L →[自宅サーバを立てる際の家庭内名前解決の落とし穴](https://qiita.com/katz_engineer/items/26c4718b3c3fc0164130)やそれ以降で記事にしたマシンで、かつては名機として名を馳せた機体です。我が家では今でも現役でファイルサーバになっています。

## クラウドサーバー

- [CORESERVER](https://www.coreserver.jp/)
    - Value Domain 系のレンタルサーバー。
    - このサービスの中のV2プラン、CORE-Xを利用します。
    - SSD: 300GB
    - メモリ割り当て: 6GB

# ソフトウェア

## メインサーバー

[NUC13ANHI5000](https://ark.intel.com/content/www/jp/ja/ark/products/233098/intel-nuc-13-pro-kit-nuc13anhi5.html)に下記をこの順番でインストールします。

1. Ubuntu 22.04 on ZFS
    - 基本となるサーバーを構築。
    - 同時にOpenSSHサーバーを構築。
1. `/etc`バージョン管理
    - 主に`/etc`修正のメモ書き用。
    - Subversion
1. NTPクライアント
    - 時刻同期。
1. 家庭内DNSサーバー
    - 家庭内ドメインを設定。
    - Unbound
1. DHCPサーバー
    - 家庭内IPアドレス体系の確立。
    - dhcpd
1. コンテナサーバー
    - LXD
    - Docker
1. オレオレ認証局と証明書
    - オレオレ認証局の構築。
    - 証明書の発行。
    - サーバー⇔クライアントの公開鍵送付方法の確立。
1. sshを公開鍵で接続
    - 公開鍵は1箇所で集中管理する。
1. ログ
    - rsyslog
    - logrotate
    - logger
1. Linuxアカウントサーバー
    - LDAP
1. メールサーバー
    - Dovecot （LMTPを有効にしてローカル配信もさせる）
    - Postfix （一般的なMTS、但しローカル配信はDovecotに任せる）
    - 取り敢えずLAN内だけのメール送受信。非公開。
1. リバースプロキシ
    - nginxでバーチャルホストを設定
1. Let's Encrypt を利用した証明書の発行
    - 今回は公的な証明書の発行も模索。
1. GitLabとMattermost
1. ファイル共有サーバー
    - Samba
1. 仮想マシンサーバー
    - KVM/QEMU
    - LXDでコントロール。
    - Windowsをインストール。

ここまでを当面の目標とします。

## クラウドサーバー

レンタルサーバーの[CORESERVER CORE-X](https://www.coreserver.jp/)を設定します。

本当はGitLabとMattermostのサーバーもここに構築したかったんですが。そういったインストールは無理そうなので、諦めます。

1. 何はともあれ契約
    - 私のドメインを無料更新対象ドメインとして設定します。
1. メールサーバー
    - メール送受信を設定します。
    - 目標はGMailへの送受信。
    - Webメール。
1. Nextcloud Hub
    - カレンダーサーバー CalDAV を使えるようにします。
    - 私のスマホとタブレットとノートパソコンでカレンダーを共有。

## NAS

[自宅サーバを立てる際の家庭内名前解決の落とし穴](https://qiita.com/katz_engineer/items/26c4718b3c3fc0164130)やその後の記事で紹介したNL54Lですが。現在はFreeNASをインストールしてあるのですが、これをLinuxに変えたいのです。

1. ストレージのバックアップ
    - 3TB以上のHDDを購入してバックアップ。
    - バックアップストレージをメインマシンに接続。
1. ストレージをFreeNAS管理から外す
    - zpool export
1. Ubuntu on ZFS
    - OpenSSH
1. /etc バージョン管理
    - Subversion
1. NTPクライアント
    - 時刻同期
1. アカウントをサーバー管理
    - LDAP
    - SSSD
1. ファイルサーバーのリストア
    - ストレージを `zpool import`
1. ファイルサーバー
    - Samba
1. ファイルサーバとしての動作確認
    - Windowsからのアクセス可能性を確認。
1. 1TBのHDDを購入して入れ替え
    - NAS玉5台を全部1TBに揃える。
    - 入れ替え手順を記録して公開。

以上です。