自宅サーバー始めてみませんか！？　～最初にしたほうがいいこと～

# 目次
- [0.はじめに](#0-はじめに)
    - [自己紹介](#自己紹介)
    - [プロローグ](#プロローグ)
    - [自宅サーバーやってますか？](#自宅サーバーやってますか)
    - [本記事に書かれていること,構築環境](#本記事に書かれていること構築環境)
- [1.USBインストールメディア作成](#1-usbインストールメディア作成)
    - [isoファイルのダウンロード](#isoファイルのダウンロード)
    - [Rufusのダウンロード](#rufusのダウンロード)
    - [※Windowsを利用していない人(Rufusが利用できない人)向け※](#windowsを利用していない人rufusが利用できない人向け)
    - [USBドライブにisoファイルを書き込む](#usbドライブにisoファイルを書き込む)
- [2.サーバーにOSをインストール＆初期セットアップ](#2-サーバーにosをインストール初期セットアップ)
    -[OSをインストール](#osをインストール)
    -[初期セットアップ](#初期セットアップ)
- [3.パッケージのインストール](#3-パッケージのインストール)
    - [まず最初に...](#まず最初に)
    - [openssh-server(必須)](#openssh-server必須)
    - [Tailscale(おすすめ)](#tailscaleおすすめ)
- [4.おわりに](#4-おわりに)
    - [参考資料](#参考資料)

# 0. はじめに
>本記事は [Qiita全国学生対抗戦 Advent Calendar 2024](https://qiita.com/advent-calendar/2024/student) シリーズ5 24日目への参加記事です。
シリーズ5 23日目は、[@Shichimi555](https://qiita.com/Shichimi555)さんの [緊急地震速報を受信した瞬間にNHK総合の録画を開始する(EPGStation)](https://qiita.com/Shichimi555/items/239e97cdbf973618fb67) でした。
### 自己紹介
はじめまして。
高専3年生 ~~にもなって何も成長していない気がする~~ ただのサメと申します。
久しぶりに書くので文章がおかしいところもあるかもしれませんが許してください...
```bash:tadasame_self-introduction.log
$ who -b
   system boot 2007-03-01
$ whois @tadanosame
   Name    : tadanosame
   Twitter : @muryounosame
   Work    : Student (Salesian Polytechnic Computer Science & Technology)
```

### プロローグ
とある日、「qiitaなんか書きたいけど何も思いつかない」とつぶやいたところ公式様からこのようなリプライが...

https://x.com/Qiita/status/1866416933400396099

"Advent Calendar"という存在は存じ上げてはいたのですがなかなか手を出せず...
ちらちらと見ていたら「[Qiita全国学生対抗戦 Advent Calendar 2024](https://qiita.com/advent-calendar/2024/student)」というものを発見。これならできそう！今に至ります。

### 自宅サーバーやってますか？
僕はやってます。↓こんな感じです。汚いですね。整理整頓しておきます。

https://x.com/muryounosame/status/1866661367509614948

運用内容としては、DisocrdのBot([useful tools](https://x.gd/PS3W3),[Anya_bot 3.0](https://x.gd/sWIaX)),テレビの録画サーバー,ファイルサーバーなど動かしてます。

### 本記事に書かれていること,構築環境
今回は、USBインストールメディア作成(Ubuntu Desktop 24.04.1 LTS)→サーバーにOSインストール＆初期セットアップ→パッケージのインストールまでを書こうと思います。
構築環境は以下のとおりです。
- OS: Ubuntu Desktop 24.04.1 LTS
- PC: HP ProDesk 600 G4 SFF

よろしくお願いします。
では、本題に入りましょう...

# 1. USBインストールメディア作成
まずは、USBドライブにUbuntu Desktopのisoファイルを書き込みましょう。書き込みするためのソフトはRufusを使用します。

### isoファイルのダウンロード

最初に、Ubuntu Desktopのisoファイルをダウンロードしましょう。
↓こちらからダウンロードします。

https://jp.ubuntu.com/download

少し下にスクロールして、左の24.04.1 LTSのダウンロードボタンを押してダウンロードを開始してください。
![ubuntu_dl.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/81b15a60-6e68-3b68-78d4-109dbf2106e4.png)

### Rufusのダウンロード
次に書き込みソフト"Rufus"を取得しましょう。
↓こちらからダウンロードします。

https://rufus.ie/ja/

少し下にスクロールするとダウンロードという項目が出てきます。
ダウンロードするものは一番上の[rufus-4.6.exe](https://github.com/pbatard/rufus/releases/download/v4.6/rufus-4.6.exe)で問題ないと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/d9cf54e0-7483-639b-02f4-b2f79be32d59.png)

### ※Windowsを利用していない人(Rufusが利用できない人)向け※
「僕はWindows使ってないからRufus使えないよ〜」という人は"Raspberry Pi Imager"を取得しましょう。
↓こちらからダウンロードします。

https://www.raspberrypi.com/software/

少し下にスクロールして、自分の使っているOSのダウンロードを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/bb86a672-43ba-8869-3c25-bd76dc0d5a7f.png)

### USBドライブにisoファイルを書き込む

:::note warn
注意
このときに使用するUSBドライブはフォーマット(初期化)されます。
USBドライブに大事なデータが残っている場合はバックアップを取っておくことを推奨します。(戒め)
:::

では、先ほどダウンロードしたisoファイルをUSBドライブに書き込んでいきましょう。Rufusの場合はそのまま下の手順から、Raspberry Pi Imagerの場合は少し下にスクロールして"・Raspberry Pi Imagerの場合"から始めてください。

- Rufusの場合
まずは、先ほどダウンロードしたRufusのexeファイルを起動しましょう。
起動したらUSBをさしましょう。
デバイスの欄でUSBが認識されていることを確認したら(以下の写真、青四角の部分)、
書き込むisoファイルを選択します。ブートの種類の右にある選択を押してください(以下の写真、赤矢印の部分)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/bb81b619-ff7e-9a22-47a6-9a52f4468a76.png)
ポップアップでエクスプローラーが開かれるのでダウンロード先のフォルダを開き(ほとんどの人はダウンロードフォルダだと思います)、isoファイルをダブルクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/d821799d-2c63-7011-be09-231a21cb468e.png)
これでisoファイルとUSBドライブの選択ができましたね！右下の"スタート"を押してください！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/ec9a40f5-1ccf-a707-f50e-19ba663f4a36.png)
ポップアップで注意事項が出てきますが基本的にそのままOKを押せば大丈夫です(USBが初期化されるよっていうポップアップも出ます)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/e6a8deab-b819-1f6f-b012-53720ef5bd52.png)
下のゲージのバーに準備完了とでたらisoファイルの書き込みは完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/b0178297-c65a-1abb-b360-f507808bf80a.png)

- Raspberry Pi Imagerの場合
まずは、先ほどダウンロードしたRaspberry Pi Imagerのexeファイルを起動しましょう。(imager_x.x.x.exeのようなファイル名です。)
Windowsの場合、ユーザーアカウント制御がでるのではいを押します。
以下の写真の画面が出たら、"Install"を押しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/041584fe-faba-0644-3a34-bc26043a5926.png)
完了するとこの画面になるのでチェックボックスのチェックはそのままで"Finish"を押してください。勝手に起動してくれるはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/83c9f86c-f4e2-9f90-e6d8-03e32c7d6d9f.png)
Raspberry Pi Imagerが起動したらまずはUSBドライブを選択します。一番右の"ストレージを選択"をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/ab0a747e-5395-2d56-506f-39f12b9f4864.png)
isoファイルを書き込むUSBを選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/812e35cb-f8d5-e5cb-6a98-45799e8ccb00.png)
つぎにisoファイルを選択します。真ん中の"OSを選択"をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/194b0dfa-8fba-2280-95a5-230c01203b8f.png)
一番下にスクロールして、最下層にある"Use custom"をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/bf4d655e-3cb9-73c9-443d-e7d539004caf.png)
Rufusとは違うエクスプローラーが出てきます。今回は、ダウンロードフォルダにisoファイルがあることを仮定として話を進めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/0558b95d-b3a0-f2a7-f86c-0b943143fb0c.png)
まず、左にある自分のユーザー名(僕の場合だとkyo19)のフォルダを選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/b54c564b-5087-4599-cfae-72a8e0c6d6ff.png)
下にスクロールすると"Downloads"というファイル名のダウンロードフォルダがあるのでダブルクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/76fa74e8-b3b9-9b35-e7a8-07c6024998bd.png)
後は簡単です。先ほどダウンロードしたisoファイルをダブルクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/d9636698-13d1-8bc3-eca6-eb7f40b54af1.png)
これでisoファイルとUSBドライブの選択ができましたね！"次へ"を押してください！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/1f0f88a3-ada1-bce3-4abd-1993d3d519bf.png)
"Would you like to apply OS customization settings?"(訳: OSのカスタマイズ設定を適用しますか？)と出てくるので"いいえ"を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/9da009c8-eb04-d59d-1539-9886dcd62ecb.png)
USBは初期化されま(以下略)"はい"を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/b62eff21-9b76-02e6-0773-3699d15b9483.png)
"書き込み中...○○%" → "確認中...○○%"のあとに、USBドライブに書き込まれましたという文が出るのでUSBドライブを抜いてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/cc950cc4-5354-bc6d-d7cf-96c1f086d8aa.png)
これでisoファイルの書き込みは完了です。

# 2. サーバーにOSをインストール＆初期セットアップ
### OSをインストール
さあここからが本番といっても過言ではない！サーバー機にOSをインストールしましょう！
まずはサーバー機に先ほど作成したUSBを電源を切った状態でさしてください。
次にPCを起動した直後、ブートメニューに移動するキーを連打します。
「どのキーを押せばいいかわからないよ～」という人は「○○(PCのメーカー名:DELLやHP等)　ブートメニュー　キー」で[Google検索](https://www.google.com/)しましょう。
HPの場合はF9だそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/e84f36f3-2fc4-7821-37e0-3cdf992d80e0.png)
では、僕はHPで行うのでF9を連打してみましょう。うおおおおおお！
![f9.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/18c4f838-3920-9dc1-4358-58969bc33bc2.gif)
このような画面が出てきました。ここで先ほどさしたUSBの名前の物を探し、選択してください。
![IMG_0504.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/d05989bf-057b-6d17-c26f-dc9b70a47515.jpeg)
さあここからUbuntuの世界へと入っていきます！
まず、一番上の"Try or Install Ubuntu"でEnterキーを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/bd03f469-c8ce-d46a-cb65-cec5c5e17e84.png)
少し待つとこの画面になるので一番下にスクロールし日本語を選択して右下の次ボタンを押しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/26a7fcbd-4efd-aeff-5e06-e3ac91b154bc.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/a769fc6c-dc78-7672-6f0f-8c22b7a1da1c.png)
アクセシビリティで特に問題がなければ次を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/90750de6-eb0e-6aca-2a44-901345ea0b96.png)
自分のキーボードにあわせて設定し、次を押してください。(通常はそのまま次を押せば大丈夫です。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/823da967-e2cc-030b-52bf-5281f568e3bb.png)
ご自宅のネットワーク環境に合わせて設定し、次を押してください。個人的には優先で作業を行うことを推奨します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/14468146-5da5-6fcd-4651-051b514de918.png)
上の"Ubuntuをインストール"を選択し、次を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/61a2a48c-6687-673b-de73-737af0392f98.png)
上の"対話式インストール"を選択し、次を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/3683d26d-0fcb-5d55-8e28-eab0a4a2d6c6.png)
上の"既定の選択"を選択し、次を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/5ada19ab-a320-d59a-5c8f-e6a01bf67e61.png)
このチェックボックスは任意ですが、一応どちらにもチェックを入れ、次を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/993484e7-aef8-4302-0fb7-442a546df6c3.png)
HDDやSSDが一つしかない人などは上の"ディスクを削除してUbuntuをインストールする"で大丈夫だと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/52a0fd8c-46a9-5840-01aa-8cb9bd0b1733.png)
ここでは、ユーザー名、コンピューターの名前、パスワードを設定します。"あなたの名前"に入力していくと自動的に"コンピューターの名前"と"ユーザー名"が入力されていきます。ここの"コンピュータの名前"は分かりやすいものに変えたほうがいいです。今回は、Ubuntu-Serverとつけてみます。
また、"ログイン時にパスワードを要求する"のチェックボックスは外すといいかもしれないです。(セキュリティ面で危なくなるのでお勧めしていいのかがわからない)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/827467cf-bea4-c9c6-d338-01b07770221d.png)
日本に住んでいるのであればそのまま次へ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/c36322cb-234b-7624-0b77-b5c0bd19cb46.png)
さあインストールを押しましょう！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/ed6e099e-6ae8-8fbf-212d-f9a51b99ab47.png)
この画面が出たら無事インストールは完了です！"今すぐ再起動"を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/c8a7c4a1-9a21-c9b7-07bf-f1ad2e8919e3.png)
この画面になったら、サーバー機にさしていたUSBを取り外してEnterキーを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/2715b21e-deeb-0efb-9ae3-713639f5e15e.png)
これでサーバーの大本は完成です！お疲れさまでした。このあとにようこそみたいなポップアップがでますが全部次を押しておけば大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/2884cd09-c2aa-a493-f1e8-7329ed68bb25.png)
### 初期セットアップ
これだけはしておきましょう。まずはサーバー機のIPアドレスを固定しましょう。
まずは右上をおしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/94b5f6a1-490b-5283-53d1-66f1fdd2a194.png)
歯車ボタンを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/6da6260b-208b-0fb4-475f-1a54b35a6f8e.png)
つぎに、有線の接続済みの歯車ボタンを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/caf5509a-6899-0ac3-4434-66275bd59334.png)
つぎに、IPv4を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/a807f545-088c-567c-05ec-60fa4adda730.png)
手動をクリックし、下にあるアドレスで設定をしていきます。この時に使われていないIPアドレスを設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/49181fc0-80ed-9160-1b03-b1e51f05d50f.png)
使われてないIPアドレスがわからない場合は、左下を押し、端末を起動後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/6611b861-e019-9f10-a964-58c309a0a165.png)
```bash
arp -a
```
と入力してください。コマンド'arp'が見つかりませんといわれたら
```bash
sudo apt install net-tools
```
と入力してパッケージをインストールしてください。その時にパスワードが求められるので、初期セットアップで設定したパスワードを入力してください。
再度arp -aをすると僕の場合はこのように出ました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/f9d1e8f0-1955-ed20-9daf-7e84b0005532.png)
この時、192.168.3.xxが使用されていることがわかります(人によっては192.168.1.xxなど)。サブネットマスクが255.255.255.0の場合192.168.3.1~192.168.3.254までが使用できることがわかります(たぶん)。
数字の最後のほうが使用されにくいと勝手に思っているので今回は192.168.3.200にしようと思いますが、一応確認はしておきましょう。
先ほどの端末で
```bash
ping 192.168.3.200
```
と入力してみてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/c8070806-19ae-b191-ed73-464fe9bb778e.png)
何行かでてきたらコントロールキーとcキーをおして終了してください。このように"Destination Host Unreachable"と出ればたいてい使用されていないipのはずです。
では設定に戻って入力していきましょう。
ゲートウェイとDNSのところは先ほどの192.168.3.xxのxxの部分を1にすればたいてい通ります。入力した後は右上の適用を押しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/64fae079-44d1-1381-1739-5e806dc217dd.png)
適用を押した後、一度ネットワークをオフにして再びオンにしておきましょう。これでローカルipアドレスが固定されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/fdc66c5b-1197-d421-6e2a-dd3e5626fe41.png)
次に、スリープ時間(画面オフ)をなくしておきましょう。左の欄の電源管理を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/205d5e22-900f-5c75-7dbe-1c7c5df143bc.png)
最初の設定では5分になっているので下にスクロールして、しないに設定しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2917811/5698d56d-901c-bb35-2eb4-19f069dc03f2.png)
これで完了です。
# 3. パッケージのインストール
さあ最後です。ここではほぼ必須のパッケージとおすすめのパッケージを紹介していきます。
### まず最初に...
```bash
sudo apt-get update && sudo apt-get upgrade
```
システムのパッケージリストを最新の状態にしておきましょう。
### openssh-server(必須)
このパッケージをいれると自宅内(・外)でサーバー機が操作できるようになります。
メインのパソコンで操作できるようになって楽になりますね。
```bash
sudo apt install openssh-server
```
入れてすぐは最初に設定したユーザー名とパスワードでアクセスできるようになっています。
```bash
ssh 初期セットアップで設定したユーザー名@サーバー機で設定したipアドレス
```
今回の僕の場合では
```bash
ssh tadanosame@192.168.3.200
```
を打つことでほかのPCでサーバー機の端末にアクセスすることができます。
本当は鍵認証でアクセスするのが一番よろしいのですが今回は割愛します。以下をご参照ください。

https://qiita.com/gotohiro55/items/36a22516de2b381b3c6e

### Tailscale(おすすめ)
TailscaleとはメッシュVPNソフトで導入するとかんたんに外部からサーバー機にアクセスが可能となります。
導入方法など詳しくは、以下にある[つくみ島だより](https://blog.tsukumijima.net/)の運営者である、[tsukumi](https://github.com/tsukumijima)さんの記事をご参照ください。

https://blog.tsukumijima.net/article/tailscale-vpn/

# 4. おわりに
最後のほうがすごく雑になってしまいましたし、急いで書いた(12/24公開だったので遅れている)ので追々編集させていただきます。
ここまで読んでいただきありがとうございました！
よきサーバーライフを！
### 参考資料
https://wa3.i-3-i.info/word17545.html

https://qiita.com/gotohiro55/items/36a22516de2b381b3c6e

https://blog.tsukumijima.net/article/tailscale-vpn/