サーバ構築まで(Part.6)
HES川添です。
前回は誤った方法でSambaをインストールしておりましたが、今回は下記記事を参考にSambaインストールにリベンジしていきたいと思います。
新たにVM作成
前回、suでインストールやchmod777など危ない設定をしてしまっていたので使用していたUbuntuVMを削除して新たにVMを作成しました。

VMの作成は以前の下記記事で書いておりますのでご参考までに。
事前準備
最新のパッケージ情報を取得して更新する。

既存のパッケージを更新する。

リモート接続するために必要なパッケージをインストールする。

接続先のユーザ名を確認する。

接続先のホスト名を確認する。

ロケールと時刻が日本の設定になっていないので、次のコマンドを実行して日本語ロケール(UTF-8)を生成する。

日本語ロケール(UTF-8)に設定する

Ubuntuのシステムタイムゾーンを「Japan(日本標準時)」に変更する

Sambaのインストールと設定
Sambaを使用するためには大きく3つのことを行う必要がある。
1.共有ファイルを置くフォルダの作成
2.Sambaを使用するユーザーの作成
3.Samba全体や、個々の共有フォルダの設定
1.共有ファイルを置くフォルダの作成
srvフォルダの下にsambaフォルダを作成する。

パスワードなしで誰でもアクセスできるpublicフォルダーと、ユーザー名(owner)のフォルダーを作成する。

Samba専用のユーザー・グループを、ログインなし・ホームなしで作る

srv/samba/public/ディレクトリの所有者とグループを「samba」に変更する

/srv/samba/owner/ディレクトリの所有者を「owner」 に変更する

/srv/samba/publicディレクトリに対して所有者とグループには全ての操作権限(読み・書き・実行)を与え、その他のユーザーには読み取り・実行のみ可能に設定する。

/srv/samba/ownerディレクトリに対して所有者とグループには全ての操作権限(読み・書き・実行)を与え、その他のユーザーには読み取り・実行のみ可能に設定する。

気になったこと
ここまで新たにVMの作成・事前準備・Sambaインストールと設定の1.共有ファイルを置くフォルダの作成まで完了したがここまでやってきた手順の中で気になったことを調べて書きたいと思う。
avahi-daemonとは
参考にした記事にはSambaをインストールする前に「avahi-daemon」と名前的にいかにも強そうなものインストールしていたが、これはいったい何なのか調べたいと思う。
Avahi-daemon は Linux システム上で実行されるサービスで、mDNS (マルチキャスト DNS) と DNS-SD< を使用したネットワーク サービス検出を提供します。 (DNS サービス検出)。
これにより、DNS サーバーを手動で構成する必要がなく、デバイスとアプリケーションがローカル ネットワーク上で相互に検索できるようになります。
このサービスは、プリンタ、ファイル共有、メディア サーバーなどのデバイスを他のデバイスから簡単に検出する必要があるホーム ネットワークや小規模オフィス環境に特に役立ちます。1)
出典:1) “Linux で Avahi-Daemon を簡単に無効にする方法” https://linux-jp.org/?p=166, (参照2025-04-01)
…と説明にはあるのですが、正直、まだ完全には理解できていません。
「DNS」とか「mDNS」といったネットワークの仕組みに関する用語が出てきて、理解するのが少し難しかったのが正直なところです。
ただ、調べていく中で「ローカルネットワーク上で自動的に機器を見つけてくれる仕組み」らしい、ということは少しずつわかってきたので、今後ファイルサーバやプリンタ共有の設定などを進める中で、改めて理解を深めていきたいと思います。
DNSとは、「Domain Name System」の略で、ドメイン名を用いてインターネットが利用できるようにするためのシステムのことです。2)
出典:2) “DNSとは?Webサイトのアクセスを可能にする仕組みを解説!” https://www.xdomain.ne.jp/column/about-dns/, (参照2025-04-01)
mDNSとは、マルチキャストDNS(mDNS) はローカルネームサーバーの存在しない小さなネットワーク内でホスト名からIPアドレスを解決するプロトコルである。3)
出典3) “マルチキャストDNS” https://ja.wikipedia.org/wiki/マルチキャストDNS, (参照2025-04-01)
今回の失敗と学び
Sambaのインストール作業が一通り終わり、今回はうまくいったと思って先輩社員に記事のレビューをお願いしたところ、以下の点について厳しめのツッコミを受けました。
指摘内容
- 「出てるMessageちゃんと読んだか?」
- 「なぜ入っているものをもう一度入れようとした?」
- 「参考記事はUbuntu Server向けでしょ?でも君が使ってるのはDesktopでしょ?」
- 「ServerとDesktopの違いわかってる?」
- 「CLI(コマンドライン)とGUI(グラフィカルユーザーインターフェース)の違いわかってる?」
……正直に言うと、CLIとGUIの事以外、どれもちゃんと理解できていませんでした。
実際に起きたこと
私が参考にしていた記事には、「avahi-daemon をインストールしておこう」とありました。
そのため、特に疑問を持たずに以下のコマンドを実行しました。
sudo apt install avahi-daemon
すると、以下のようなメッセージが出力されました。
avahi-daemon はすでに最新バージョンです。

正直このメッセージ内容なんて全く気にしておりませんでした。
なので「なぜ入っているものをもう一度入れようとした?」とツッコミを受けても最初なんのことを言われているのかわかっておりませんでした。
また、「参考記事はUbuntu Server向けでしょ?でも君が使ってるのはDesktopでしょ?」というツッコミに対してもUbuntu Server?とUbuntu Desktop?何だそれ?という感じだったので、調べてまとめました。
| 項目 | Ubuntu Server | Ubuntu Desktop |
|---|---|---|
| インターフェース | CLI(コマンドライン)中心 | GUI(デスクトップ環境)付き |
| 用途 | サーバ用途向け | 一般ユーザー向け |
| 事前インストールされているパッケージ | 必要最低限(軽量) | 多機能(avahi-daemonなど含まれる) |
| 使用例 | Webサーバ、DBサーバなど | オフィス利用、個人用途など |
調べてみて初めて、自分が入れたのはUbuntuDesktopの方ですでにavahi-daemonはインストールされており、先輩社員の「なぜ入っているものをもう一度入れようとした?」というツッコミの意味が分かりました。
学び
打ったコマンドの結果をちゃんと確認するのは、自分にとっては知らない単語が多く、わかりにくい内容ばかりで面倒に感じていました。
ですが、今回のようにちゃんと出力を読んでいれば、間違いに自分で気づけたことを思うと、
わからないなりにも、出てくるメッセージを無視せず確認する姿勢が大事だということに気づきました。
また、今までは参考記事を「その通りにやればOK」という風に受け取っていましたが、一つ一つのコマンドの意味や何のために行うのかを常に疑問を持ちながら取り組む必要があるなと思いました。
また、参考にした記事のリンクとして載っていた記事を遡って読むとUbuntu ServerとUbuntu Desktopの違いもしっかりと明記されておりました。
正直記事を遡って読む癖とか技術書を読んだ経験が今までは無く、なんとなくパッと見て信頼出来そうなサイトを見てそれ通りやればなんとか出来るだろうと思った甘さが顕著に出たと思います。
今回の学びを次に生かしていきたいと思います。
参考資料
今回のブログ記事作成にあたり、以下の資料を参考にしました:
- ミニPCで作るSambaサーバー入門【Sambaサーバー構築編】 - PC Watch
- Ubuntu DesktopとUbuntu Serverの違いをわかりやすく解説 - CodeCamp
- Ubuntuサーバーとデスクトップの違いとは?用途別に最適なバージョンを選ぼう! - Note記事
Discussion