Zabbix を debian jessie にインストールするシェルスクリプトを作った

Zabbix 3.0をCentOS 7に最速インストールするシェルスクリプトを作ったというブログ記事を教えていただいたので、debian jessie に Zabbix サーバーをインストールするシェルスクリプトを書いてみました。

更新について

2017年3月30日に新しいパッケージを使うように変更しました。 ポイントリリースをインストールするスクリプトも追加しました。

実行した環境

リンク先との差異

MariaDB ではなく MySQL をセットアップ

debian jessie では MariaDB のインストールも可能ですが、MariaDB をインストールしていても zabbix-server-mysql のパッケージをインストールMySQL を入れようとしてくるので最初から MySQL にしました。

MySQL の my.cnf はデフォルトのまま使用

動作がおかしくなったら変更用の記述を増やそうかなというスタンスです。

シェルスクリプト

5行目が MySQL の root パスワード
7行目が MySQL の zabbix 用パスワード
という内容なので適宜変更してください。

スクリプトは sudo か root で実行しないとダメだと思います。

LTS をインストールするスクリプト
ポイントリリースをインストールするスクリプト

無事に実行できたら Web UI のセットを行えば OK だと思います。

躓いたところ

MariaDB 関係

MariaDBMySQL のパッケージをインストールする際に root のパスワードの設定用プロンプトやダイアログが出てくるのでその回避を探しました。
プロンプトで問い合わせがある場合は expaect を利用すれば root のパスワードをセットしてインストールを完了することもできます。 今回はダイアログが出てくる形だったので、apt-get の実行時に DEBIAN_FRONTEND=noninteractive を与えて問い合わせを表示させないようにしました。

ufw 関係

ufw を有効化すると「SSH のポートが閉じられるかもしらんけどええんか?(意訳)」という問い合わせが発生します。expect で回避する方法もありますが、そのためだけに依存するいろいろなパッケージが入ってくるのも気持ち悪かったので、ほかの手段を探したところ echo y の結果をパイプで渡してプロンプトの応答に使う方法を知ったのでその方法を使っています。
先述の MariDB(MySQL) の解決法が expect だけだったら expect で解決していたかもしれません。

ライセンスについて

どう扱ってもらってもかまわないので NYSL Ver 0.9982 でとしています。