簡単に自分でサーバーを公開できるYunoHostのご紹介

2023-03-06

今までにも色々とサーバーを構築してきましたが、基本的にはUbuntu Serverを使っています。

先日、NextcloudとOnly Officeをインストールする中で「Yunohost」を見かけて使ってみていますが、思った以上に便利で使いやすかったのでご紹介します。

公開しているサーバー構築の記事

Yunohost

YunoHost は、サーバーの最も単純な管理を目的としたオペレーティング システムであり、信頼性、安全性、倫理性、軽量性を維持しながら、自己ホスティングを民主化します。
これは、ボランティアによって独占的に維持されているコピーレフトのリブレ ソフトウェア プロジェクトです。
技術的には、 Debian GNU/Linuxベースのディストリビューションと見なすことができ、多くの種類のハードウェアにインストールできます。

What is YunoHost?

詳しい説明は公式サイトを見て頂くとして、Yunohostは何よりも「simplest administration of a server:サーバー管理の省力化」を目的に作られています。

そのため、Linuxサーバーに多いCUIでのコマンド実行やconfigファイルの設定も「ほぼ」ありません。

インストールからGUIでサーバー管理もブラウザ上で完結できる「とても助かる」LinuxサーバーOSです。

管理者ユーザーの作成画面

アプリケーションのインストール画面

インストールしたいアプリケーションを選んで、必要事項の選択・入力後に「install」をクリックするとアプリケーションがインストールされます。

Yunohostの特徴

サーバー管理の手間は最低限

GUIでの設定だけでなくDNSサーバーに記述する内容を表示してくれたり、Let’s Encryptの証明書取得はクリックだけで終わるなど、サーバー構築に必要な事は一通りWeb管理画面で終わらせることができます。

加えて、OSインストール時からアプリケーションのインストール時でも必要最低限なセキュリティ対策(Fail2ban、Firewall等)は行われているので安心して使い始める事ができます。

もちろん、万全なセキュリティ対策には追加の設定や作業が必要になりますが、システム側で対策が施されているので設定ミスや設定忘れを防ぐことができるのは非常に助かります。

メールサーバーもセットアップ済

インターネットの基本的な機能の一つですが、実際にメールサーバーをセットアップして使うまでは結構手間がかかります。

SMTPサーバー・IMAPサーバーのセットアップ、DNSの登録やOP25B対策も必要になりますが、Yunohostでは設定したドメインでメールサーバーがセットアップされているため、自分で送受信できるメールサーバーが簡単に動作します。

独自のパッケージ管理システム

ベースのディストリビューションはDebianですが、Yunohostでは独自でパッケージ管理を行っています。

WebベースのGUIでインストール・アンインストールができますが、アプリケーションの種類は限定されています。

とは言え一通りのアプリケーションは揃っているため、特定のアプリケーションにこだわらなければ機能的には問題ないと思います。

Debianなのでaptも使う事はできますが、Yunohostでは管理されないので注意しながら使う必要があります。

LDAPでアクセス制限

Yunohostで登録されたユーザーは、そのままLDAPでアプリケーションの認証にも使われます。

ユーザー別にアプリケーションへのアクセス権限も設定できるため、個々のアプリケーション側での設定は不要になります。

自分しか使わないサーバーではそこまでのメリットを感じませんが、複数人で複数のアプリケーションを使う場合はユーザー管理が非常に楽になります。

困る部分

インストーラーの不具合

ハードウェアとの相性もあるとは思いますが、インストールの時点でWiFi接続がエラーになる場合がありました。

他にも、すんなりとインストールできる場合はグラフィカルインストールで簡単に終わりますが、何か起きた場合に手動で修正しようとしてもエラーで何もできなくなったりしたので、インストールでトラブルが起きると手詰まりになる可能性があります。

VirtualBoxではトラブルが起きる事は無かったので、実績の多い枯れたハードウェアを使う方が安心できると思います。

アプリケーションの不具合

Docker等のコンテナを使わずに直接インストールされるため、アプリケーション同士の相性が悪いとそのまま影響を受けてしまいます。

一部、アプリケーション自体に不具合が起きている場合もありますが、困ることに「単独のアプリケーションでは正常に動作しても、他のアプリケーションをインストールするとエラーになる」場合があります。

情報も少なく実際に使ってみないとわからない部分も多いので、アプリケーションを追加でインターネットする際は実機とは別に仮想マシンを使ったテスト後に導入する方が安全だと思います。

設定変更・修正が特殊

最初にしでかした事が、/etc/nginx/nginx.confを直接修正してYunohostで更新できなくなりました…。

設定ファイルは/var/www以下に作られるアプリケーションごとのフォルダを修正するようになるため、Yunohostの設定以外を変更する場合は慣れが必要になりそうです。

まとめ

Yunohostは「自分、または少数のグループ」で「必要なWebアプリだけ」を簡単に構築・公開できるサーバーOSです。

アプリケーションの種類に制限はありますが一通り揃っていますし、何よりも管理の手間が少なくなるため、これからサーバー公開を始める場合は選択肢に加えてもいいかと思います。

もちろん、学習の一環として最初からサーバーOSをセットアップする事は大切だと思っていますが、何度も繰り返す羽目になると同じような気持ちになります…。

“Shit, I’m too lazy to reconfigure my mail server… Beudbeud, how were you able to get your little server running with LDAP?"Kload, February 2012

https://yunohost.org/en/whatsyunohost

また、Yunohostは「自由でオープンな分散型インターネット」を目指して開発されています。

現在は無料で十分生活に便利なアプリや機能は提供されていますが、自分自身の管理と責任の下で必要なサーバーを公開して、改めて「自分のインターネット」を意識してみるのも面白いと思います。