2015年8月23日日曜日

[CentOS7][Rundeck] Rundeck2.5.3 をインストールする


OSSのジョブスケジューラである Rundeck を CentOS7 にインストールします。
rundeck.org の download ページを参考にしました。

サーバのメモリが少ないと rundeck がまともに動かないので、1024MB以上は割り当てたほうが良さそうです。

今回、Rundeck をインストールするサーバは、以下のとおり。

  • ホスト名: centos7
  • IPアドレス: 10.1.0.80
  • OS: CentOS7.0
  • ファイヤーウォール: 無効
  • SElinux: 無効

Rundeck インストール


rpm だと、以下のように簡単にインストールできます。最新版がインストールされます。
[root@centos7 ~]# yum install java-1.7.0 
[root@centos7 ~]# rpm -Uvh http://repo.rundeck.org/latest.rpm 
[root@centos7 ~]# yum install rundeck 
Rundeck を起動します。
[root@centos7 ~]# /etc/init.d/rundeckd start
Starting rundeckd (via systemctl):                         [  OK  ]
[root@centos7 ~]#

管理画面へのアクセス


ブラウザで下記URL アクセスすると、下図の管理画面が表示されます。
デフォルトでは、ローカルからしかアクセスできません。
ユーザ: admin 、パスワード: admin でログインできます。
  • http://localhost:4440



外部から管理画面にアクセスする


サーバにGUI環境をインストールすることが少ないので、ローカルからしかアクセスできないのは困ります。
なので、外部から、IPアドレスを指定してアクセスできるように設定を変更します。

まず、Rundeck起動時に、ログに名前解決のエラーが出ていたので、/etc/hosts にホスト名を登録します。
[root@centos7 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
10.1.0.80   centos7
/etc/rundeck/rundeck-config.properties の下記赤字部分をIPアドレスに書き換えます。
#loglevel.default is the default log level for jobs: ERROR,WARN,INFO,VERBOSE,DEBUG
loglevel.default=INFO
rdeck.base=/var/lib/rundeck

#rss.enabled if set to true enables RSS feeds that are public (non-authenticated)
rss.enabled=false
# change hostname here
grails.serverURL=http://10.1.0.80:4440
dataSource.dbCreate = update
dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true;TRACE_LEVEL_FILE=4
念のため、/etc/rundeck/framework.properties の下記赤字部分もIPアドレスに書き換えます。
# framework.properties -
#

# ----------------------------------------------------------------
# Rundeck server connection information
# ----------------------------------------------------------------

framework.server.name = localhost
framework.server.hostname = localhost
framework.server.port = 4440
framework.server.url = http://10.1.0.80:4440
# Username/password used by CLI tools.
framework.server.username = admin
framework.server.password = admin

# ----------------------------------------------------------------
# Installation locations
# ----------------------------------------------------------------

rdeck.base=/var/lib/rundeck

framework.projects.dir=/var/rundeck/projects
framework.etc.dir=/etc/rundeck
framework.var.dir=/var/lib/rundeck/var
framework.tmp.dir=/var/lib/rundeck/var/tmp
framework.logs.dir=/var/lib/rundeck/logs
framework.libext.dir=/var/lib/rundeck/libext

# ----------------------------------------------------------------
# SSH defaults for node executor and file copier
# ----------------------------------------------------------------

framework.ssh.keypath = /var/lib/rundeck/.ssh/id_rsa
framework.ssh.user = rundeck

# ssh connection timeout after a specified number of milliseconds.
# "0" value means wait forever.
framework.ssh.timeout = 0
rundeck を再起動します。
[root@centos7 ~]# /etc/init.d/rundeckd restart
Restarting rundeckd (via systemctl):                       [  OK  ]
[root@centos7 ~]#
ログに以下のように表示されれば、起動が完了しているので、ブラウザでアクセスできます。
[root@centos7 ~]# tail /var/log/rundeck/service.log
2015-08-23 14:25:57.620:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2015-08-23 14:25:59.333:INFO:/:Initializing Spring root WebApplicationContext
INFO  BootStrap: Starting Rundeck 2.5.3-1...
INFO  BootStrap: using rdeck.base config property: /var/lib/rundeck
INFO  BootStrap: loaded configuration: /etc/rundeck/framework.properties
ERROR BootStrap: NOT importing existing filesystem projects filesystem
INFO  BootStrap: RSS feeds disabled
2015-08-23 14:26:23.765:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/var/lib/rundeck/exp/webapp/},/var/lib/rundeck/exp/webapp
2015-08-23 14:26:24.008:INFO:/:Initializing Spring FrameworkServlet 'grails'
2015-08-23 14:26:24.157:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:4440

ブラウザで下記URL アクセスすると、下図の管理画面が表示されます。
ユーザ: admin 、パスワード: admin でログインできます。
  • http://10.1.0.80:4440


ログインに成功すると、下図のように表示されます。