Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Rundeckインストールと設定メモ

More than 3 years have passed since last update.

はじめに

Rundeck』とは、オープンソースなジョブ管理ソフトウェアです。
GUIやAPIを介してジョブの作成、実行、管理、スケジューリングを行うことができます。
仕事では、主に基幹DBからRedshiftへのデータインテグレーションを目的に、『Talend Open Sutudio』と併用して運用しています。

※2017/08/31 追記
CentOS7版&自動セットアップスクリプトを投稿しました。

前提条件

  • CentOS 6.5上にインストールします。
  • Rundeckのホスト名は"rundeck.example.jp"、IPアドレスは"192.168.1.100"と想定します。
  • バックエンドDBをデフォルトのH2 DatabaseからMariaDBに変更します。またMariaDBはRundeckと同一サーバで稼働しているものとします。
  • アクセスURLにポート番号(4440)を省略できるよう、Apacheと連携させます。またApacheはRundeckと同一サーバで稼働しているものとします。

インストール

JRE7のインストール

Oracle JRE7以上でも動作すると思われます。(実際に本番環境ではOracle JRE8で動作させています)

# yum install java-1.7.0

Rundeckリポジトリの追加

# rpm -ivh http://repo.rundeck.org/latest.rpm 
# sed -i -e 's/^enabled=1$/enabled=0/g' /etc/yum.repos.d/rundeck.repo

Rundeck本体のインストール

# yum install rundeck --enablerepo=rundeck-release-bintray

MariaDBにデータベースとユーザーの追加

バックエンドDBをデフォルトの H2 Database から MariaDB に変更する為、MariaDB にデータベース(rundeckdb)と、データベースへのアクセス権を持つユーザー(rundeckuser)を作成します。
※MariaDBのインストールと設定手順は割愛します。

$ mysql -u root -p
Enter password: (rootパスワード入力)
> CREATE DATABASE rundeckdb DEFAULT CHARACTER SET utf8;
> GRANT ALL PRIVILEGES ON rundeckdb.* TO rundeckuser@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
> \q

rundeck-config.properties の変更

バックエンドDB関連の設定を変更します。

/etc/rundeck/rundeck-config.properties
#grails.serverURL=http://localhost:4440 ←コメントアウト
#dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true;TRACE_LEVEL_FILE=4  ←コメントアウト
#以下追記
rundeck.v14.rdbsupport = true
grails.serverURL=http://rundeck.example.jp:4440
dataSource.url = jdbc:mysql://localhost/rundeckdb?autoReconnect=true
dataSource.username = rundeckuser
dataSource.password = password

framework.properties の変更

デフォルトの localhost から Rundeckのホスト名(またはIPアドレス)に変更します。

/etc/rundeck/framework.properties
#framework.server.name = localhost  ←コメントアウト
#framework.server.hostname = localhost  ←コメントアウト
#framework.server.url = http://localhost:4440  ←コメントアウト
#以下追記
framework.server.name = rundeck.example.jp
framework.server.hostname = rundeck.example.jp
framework.server.url = http://rundeck.example.jp:4440

自動起動の設定とRundeckの起動

# chkconfig rundeckd on
# service rundeckd start

ブラウザから http://rundeck.example.jp:4440/ にアクセスします。
尚、デフォルトの管理者ユーザーとパスワードは、それぞれ"admin"となります。

Apacheとの連携

Apache自体はRundeckと同一サーバ上でインストールから起動まで完了しているものとします。

profileの変更

Java起動パラメータに"-Dserver.web.content"を追加します。

/etc/rundeck/profile
・・・
export RDECK_JVM="-Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf \
        -Dloginmodule.name=RDpropertyfilelogin \
        -Drdeck.config=/etc/rundeck \
        -Drdeck.base=/var/lib/rundeck \
        -Drundeck.server.configDir=/etc/rundeck \
        -Dserver.datastore.path=/var/lib/rundeck/data \
        -Drundeck.server.serverDir=/var/lib/rundeck \
        -Drdeck.projects=/var/rundeck/projects \
        -Drdeck.runlogs=/var/lib/rundeck/logs \
        -Dserver.web.context=/rundeck \            ←追加
        -Drundeck.config.location=/etc/rundeck/rundeck-config.properties \
        -Djava.io.tmpdir=$RUNDECK_TEMPDIR"
・・・

framework.propertiesの変更

/etc/rundeck/framework.properties
#framework.server.url = http://rundeck.example.jp:4440    ←コメントアウト
framework.server.url = http://rundeck.example.jp/rundeck  ←追加

rundeck-config.propertiesの変更

/etc/rundeck/rundeck-config.properties
#grails.serverURL=http://rundeck.example.jp:4440    ←コメントアウト
grails.serverURL=http://rundeck.example.jp/rundeck  ←追加

Rundeckの再起動

# service rundeckd restart

/etc/httpd/conf.d/rundeck.confを作成

/etc/httpd/conf.d/rundeck.conf
<Location "/rundeck">
        ProxyPass http://localhost:4440/rundeck
        ProxyPassReverse http://localhost:4440/rundeck
</Location>

Apacheの再起動

# service httpd restart

ブラウザから http://rundeck.example.jp/rundeck にアクセスします。

Rundeckを日本語化する方法

{Rundeckインストールディレクトリ}/exp/webapp/WEB-INF/grails-app/i18n に移動します。

# cd /var/lib/rundeck/exp/webapp/WEB-INF/grails-app/i18n

オリジナルの言語設定ファイル(messages.properties)を、日本語設定ファイル(messages_ja.properties)にコピーします。

# cp messages.properties messages_ja.properties

messages_ja.propertiesを編集し、各パラメータを日本語化していきます。

[注意]
UTF-8でそのままマルチバイト文字で記述すると文字化けします。
(参考1参考2)
マルチバイト文字(全角)はUnicodeエスケープして記述してください。
ちなみにここのようなサイトを利用すれば、日本語を簡単にUnicodeエスケープに変換できます。

変更例)

/var/lib/rundeck/exp/webapp/WEB-INF/grails-app/i18n/messages_ja.properties
・・・
# main menu item names
gui.menu.Workflows=Jobs
gui.menu.Events=Activity
gui.menu.Nodes=Nodes
gui.menu.Adhoc=Commands
gui.menu.Admin=Configure
・・・

↓↓↓↓↓↓

/var/lib/rundeck/exp/webapp/WEB-INF/grails-app/i18n/messages_ja.properties
・・・
# main menu item names
gui.menu.Workflows=\u30b8\u30e7\u30d6     #ジョブ
gui.menu.Events=\u30a4\u30d9\u30f3\u30c8  #イベント
gui.menu.Nodes=\u30ce\u30fc\u30c9         #ノード
gui.menu.Adhoc=\u30b3\u30de\u30f3\u30c9   #コマンド
gui.menu.Admin=\u8a2d\u5b9a               #設定
・・・

messages_ja.propertiesを編集後、Rundeckを再起動します。

# service rundeckd restart

余談

Rundeckの国際化対応は完ぺきではなく、まだまだハードコードされている部分があるそうです。(https://github.com/rundeck/rundeck/wiki/Internationalization)
どうしてもハードコードされている部分も日本語化したい場合には、下記ディレクトリ以下から拡張子が".gsp"
のファイルを探し出して、ゴニョゴニュすればできる(かもしれません)。

/var/lib/rundeck/exp/webapp/WEB-INF/grails-app/views/

nagase
田舎のインフラ屋です。 最近はフルスタック屋です。 アラフィフのオッサンです。 良く使うもの:AWS、GCP、コンテナ、Python、IoT
https://kahomusen-holdings.co.jp
gooday
北部九州を中心に展開するホームセンター「GooDay(グッデイ)」の運営
https://www.gooday.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away