ZentyalはWebブラウザーからLinuxサーバーを管理・運用するためのサーバーアプリケーションです。今回はネットワークインターフェースやファイヤーウォールから、ユーザー管理、ファイル共有、メッセージングソフトウェアにいたるまで、あらゆるコンポーネントをブラウザーから設定できるZentyalをUbuntuに導入する方法を紹介します。
Zentyalとは
Zentyal は、Webブラウザーを使って、サーバーを管理・運用するためのPerlベースのソフトウェアです[1] 。/etc/network/interfacesの編集によるネットワークインターフェースの設定、iptablesを使ったファイヤーウォールの設定、LDAPを使ったユーザー管理といったLinuxサーバー管理者がコンソールから行う作業を、すべてWebブラウザー上の操作から行えるように作られています。
Zentyal自体は「モジュール」と呼ばれる設定用のインターフェースを用意しているだけで、実際に裏で動くサーバーアプリケーションは、リポジトリから導入できる一般的なソフトウェアをそのまま使います。よって、「 /etc以下の設定ファイルをWebブラウザーから編集できるもの」とイメージしておけばよいでしょう。
このため、一部の設定ファイルはZentyalによって勝手に変更されることがあります。モジュール導入時にそのモジュールがどのファイルを編集するかを表示してくれるものの、意図しない変更によってZentyalを経由しない設定を行ったソフトウェアと不整合を起こす可能性もあるので、設定変更の場合は注意が必要です。
Zentyal自身は「Linux Small Business Server」と名乗っており、主に中小企業のサーバー管理用途に、技術サポート付きの商用版を販売しています。6月にはSambaサポートをメインとしたCanonicalとZentyalの提携も発表され(Ubuntu Weekly Topcsの記事 ) 、さらにEdubuntu 12.10では、設定ツールとしてZentyalを使う計画がある など、Ubuntuとも深い関わりを持っています。
Zentyalのインストール
Zentyalは2012年9月13日にリリースされた 3.0が最新版です。Ubuntu 12.04の公式リポジトリには3.0のベータ版である2.3のパッケージが用意されているので、2.3であればapt-getコマンドで導入可能です。ただし、公式リポジトリにはZentyalのモジュールのうち一部のパッケージしか用意されていません。
Zentyalの開発チーム は、バージョンごとにすべてのモジュールをパッケージングしたPPAを用意しています。モジュールだけでなく、各言語の翻訳パッケージも存在します。ただしこちらのPPAを使うとiptablesやsamba4などZentyal以外のパッケージもZentyal用に改修を加えたものになるので注意が必要です。
さらにZentyalの公式サイトではUbuntu Server 12.04 ベースのインストールCDも配布しています。OSのインストールから試す場合はこちらを使っても良いでしょう。
まずは公式リポジトリから2.3をインストールする方法を紹介しましょう。
公式リポジトリの2.3をインストール
他のパッケージに影響を与えたくない場合、公式リポジトリからZentyalをインストールしましょう。
$ sudo apt-get install zentyal-core
Apache 2や各種Perlモジュール、MySQLにRedisあたりも一緒にインストールされます。またインストール時にはZentyalにアクセス時のポート番号[2] も聞かれるので、環境に応じて設定しておきましょう。
インストールが完了したら、Webブラウザーから次のURLにアクセスしてください。ポート番号を変更している場合はそれも指定します。
https://(サーバーのアドレス)/
https経由であることに注意してください。SSLの設定をしていない場合は、証明書に関する警告が出るはずです、本格的に導入する場合はこちらを参考に 正しく設定を行っておきましょう。
URLにアクセスするとログインページが表示されますので、サーバーログイン時と同じユーザー名とパスワードを入力します。もしページが表示されない場合は、http経由でアクセスしてください。"It works!"というApacheのウェルカムページも表示されないなら、ネットワークの設定か、/etc/apache2の設定を見直しましょう。
図1 ログイン画面
ログインできるのは、sudoグループに所属するユーザーのみとなります。インストール時に作成したユーザーであれば標準でsudoグループに所属していますが、そうでない場合は次のコマンドでsudoグループに登録しておきましょう。
$ sudo adduser username sudo
なおsudoグループに所属したユーザーは、sudoを使って管理者権限で各種コマンドを実行できるようになるため、誰に権限を付与すべきかは慎重に考慮する必要があります。
Zentyalの設定方法
無事にログインできるとDashboardが表示されます。表示される項目を「Widget」と呼び、Widgetの内容は状態が変更するごとに自動的に更新されるようになっています。例えば「General Information」を眺めていると、定期的にTimeやUptimeが更新されているされていることがわかるでしょう。
図2 Dashboardに配置するWidgetはカスタマイズ可能
各Widgetのタイトルバーをドラッグアンドドロップすることで、Widgetの位置を自由に変えられます。さらに、Dashboardにある「Configure widget」をクリックすれば、表示するWidgetを変更できます。
図3 Process list widgetを追加したところ
後述する「モジュール」を追加することで、Widgetの種類を増やせますので、モジュールを追加したら「Configure widget」を確認するとよいでしょう。
画面左のサイドペインにはいくつかの設定メニューが表示されています。「 Module Status」はZentyalの機能を拡張する「モジュール」を管理する画面です。サーバーが特定の状態になったときのアクションを設定できるEventモジュールと、設定変更やイベント発生を記録できるLogモジュールなら、最初からインストールされています。
また、モジュールには依存関係があり、例えばFirewallモジュールはNetworkモジュールが有効になっていないと起動できません。依存関係も、Module Status画面で確認できます。
図4 モジュールの管理画面
「System」はZentyalの基本設定画面です。管理ユーザーや表示言語の設定、日付と時刻、Zentyalへのアクセス用ポート番号などの変更ができます。また、サブメニューからは設定のインポート・エクスポートやマシンの電源断や再起動も可能です。
図5 基本設定画面
なお表示言語を変更するためには、language-pack-zentyal-jaをインストールしておく必要があります。このパッケージは公式リポジトリには存在しないため、インストールしたい場合は後述のPPAを使用してください。
「Maintainace」は日々のサーバー管理で必要になるであろう、監視項目が並んでいます。例えばLogモジュールやEventモジュールを有効化しておくと、この画面から設定やログの閲覧ができるようになります。
モジュールを追加する
Zentyalには「モジュール」と呼ばれる拡張機能が存在します。モジュールを追加することで、Zentyal上で管理できる項目が増えるのです。Ubuntu 12.04 LTSの公式リポジトリ上でもいくつかのモジュールがパッケージ化されています 。
ここでは公式リポジトリにあるモジュールのいくつかを見ていきましょう。どのモジュールも、次のコマンドでインストールできます。
$ sudo apt-get install zentyal-(モジュール名)
インストールされたらZentyalが自動的に再起動するので、ブラウザーを更新するだけでインターフェースに新しいモジュールが追加された状態になります。インストールしたモジュールを有効にするには、サイドペインの「Module Status」にあらわれるモジュールにチェックを入れます。
その際、モジュール有効化時に行われる設定変更や、モジュールが生成し管理することになる設定ファイルが画面に表示されるので、その内容に問題がなければ「Accept」ボタンを押してください。
図6 モジュールの確認画面
さらに設定を保存するために、画面右上の「Save changes」をクリックして、最終的に「Save」ボタンを押し、保存が終了したら、そのモジュールを使えるようになります。ちなみに保存しない場合は「Save changes」をクリックしてから、「 Discard changes」ボタンを押しましょう。
ネットワーク設定(zentyal-network)
インターフェースやIPアドレス、ドメイン名などネットワーク設定全般を行うモジュールです。他のネットワーク系モジュールの基本パッケージにもなっているので、実質Zentyalにおいて必須のパッケージとも言えます。
図7 ネットワークインターフェースの設定
このモジュールを有効にすると、「 /etc/network/interfaces」や「/etc/resolv.conf」が書き換わります。さらに、default routeの設定も変更されるので、場合によってはネットワーク接続できなくなる可能性もあります。ネットワーク関係のモジュールを有効化する際は、その動作を吟味した上で、慎重に作業してください。
Firewall設定(zentyal-firewall)
iptables/netfilterの設定をWebブラウザーから行うためのモジュールです。zentyal-networkモジュールが有効になっている必要があります。
図8 Firewall設定
パケットフィルターやポートフォワードのルールをブラウザーから管理できます。
ファイル共有(zentyal-samba)
Sambaを使ったファイル共有サービスを設定できます。ドメインやアクセスコントロール、共有フォルダーの追加と削除といった基本的な設定を一通り行えます。
図9 ファイル共有の基本設定
図10 共有フォルダーの追加
ユーザーの管理にOpenLDAPを使うため、zentyal-usersもインストールされ、インストール時にLDAPの設定が求められます。
Zentyal 3.0のインストール
2012年9月13日にZentyal 3.0がリリースされました 。前回の正式版である2.2からかなり多くのモジュールが更新されています 。公式リポジトリからだとベータ版である2.3のパッケージしか使えませんが、Zentyalの開発チームのPPA を追加することで、3.0対応のすべてのモジュールをapt-getからインストールできます。
ただし公式リポジトリのモジュールをインストールした状態でPPAを追加すると、2.3.4から2.3.24であってもアップグレードに失敗する報告があがっています ので、PPAを使う場合は、既存のZentyalパッケージを削除しておきましょう。
PPAを追加するには次のコマンドを実行します。
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:zentyal/3.0
$ sudo apt-get update
PPAの場合は、日本語パッケージも用意されているので、日本語UIを使いたい場合は一緒にインストールしておきましょう。
$ sudo apt-get install zentyal-core language-pack-zentyal-ja
初期設定やモジュールの追加方法は公式リポジトリの時と同じです。PPAのZentyalは公式リポジトリのそれとは若干デザインが異なります。
図11 PPA版のZentyal 3.0インターフェース
インターフェースを日本語化する場合は、サイドペインの「System」の「General」から「Language selection」を「日本語」に設定しておきましょう。
最後に、PPAを導入することによって追加でインストールできるようになるモジュールの一部を簡単に紹介していきます。「 apt-cache search zentyal」を実行すれば他にもいろいろなモジュールが見つかるので、ぜひ公式のドキュメントを参考に 試してみてください。
リソースモニター(zentyal-monitor)
リソースモニターはcollectd を使ったリソースモニタリングインターフェースを提供します。
図12 MaintenanceからMonitoringを選択
時間、日、週、月、年単位でそれぞれシステム負荷、CPUやファイルシステム、メモリの使用量を確認できますので、簡単な状態の確認程度であれば十分に使えるでしょう。
ソフトウェア管理(zentyal-software)
ソフトウェア管理は、Zentyalやそのモジュールだけでなく、APT経由でのシステム全体のアップデートも行えます。また自動セキュリティアップデートのオンオフや実施時刻も設定できます。
図13 Zentyalモジュールのインストールや削除が行える
図14 「 System Updates」で他のソフトウェアの更新もできる
バックアップ(zentyal-ebackup)
バックアップはduplictyの設定モジュールです。duplicityを使って差分バックアップの作成やリモートホストへのアップロード、バックアップの暗号化、バックアップデータからのリストアがWebブラウザーから簡単に設定できます。
図15 「 System」の「Backup」から設定を行う
Webサーバー管理(zentyal-webserver)
Webサーバー管理モジュールを使えば、Apache 2のポート番号やバーチャルホストの設定が行えます。
図16 現在はあまり多くの設定は行えない