CentOS7でAPCのUPSを利用する




Linux機とはUPS付属のUSBケーブルでつなぎます。

シャットダウン用のソフトは、apcupsdを利用します。

まずは、必要な開発パッケージなどをインストールします。
# yum install rpm-build.x86_64 gcc-c++
# yum install gd-devel net-snmp-devel
# yum install tcp_wrappers-devel
# yum install gtk2-devel gnome-vfs2-devel
# yum groupinstall ‘Development tools’

開発用の一般ユーザーでrpmリビルド用ディレクトリを作る。

ソースパッケージの取得をする。
$ cd ~/rpm/SRPMS/
$ wget http://ftp.riken.jp/Linux/fedora/releases/22/Everything/source/SRPMS/a/apcupsd-3.14.13-1.fc22.src.rpm

これでうまくダウンロードできないときはバージョンUPされているのかもしれないので
http://ftp.riken.jp/Linux/fedora/releases/
ここをブラウザで確認してダウンロードします。

リビルドする。
$ rpmbuild --rebuild apcupsd-3.14.13-1.fc22.src.rpm

リビルドしたパッケージをインストールする。
cd ~/rpmbuild/RPMS/x86_64/
# rpm -Uvh apcupsd-3.14.13-1.el7.centos.x86_64.rpm
設定ファイルを編集します。
僕は停電後5分で自動シャットダウンしたかったので、apcupsd.confのtimeoutを300秒に設定しました。
# vi /etc/apcupsd/apcupsd.conf

TIMEOUT 0→TIMEOUT 10に変更します。

電源異常が起きて、10秒たったらシャットダウンする、というように しておくといいでしょう。(デフォルトの0にしておくと、「電源異常が起きたその瞬間に シャットダウンする」というわけではなく、TIMEOUT項目が無効になります。ご注意を。)

サービスの起動をします。
# systemctl start apcupsd

サービスを自動起動に設定。
# chkconfig apcupsd on
動作テストをしたところ、ちゃんとシャットダウンはされるようです。

以下のようにしてUPSのステータスを確認することができるようです。

# apcaccess status

続いて、Webツールのインストールもついでにしました。

# rpm -Uvh apcupsd-cgi-3.14.13-1.el7.centos.x86_64.rpm

初期値では、localhostからでしか、Web画面が開けないのでApacheの設定をします。

# vi /etc/httpd/conf.d/apcupsd.conf

Require local
↓ 以下のように変更
Require ip 192.168.

Apacheの再起動。
# systemctl restart httpd

これで、次のurlを見ればUPSの状態が確認できるようです。

http://UPS_SERVER/apcupsd/