RundeckのDBにPostgreSQLを使用する
目的
RundeckのマニュアルにPostgreSQLとの接続が可能と書いてあるので試す。
環境
- Windows10
- OpenJDK8
- Rundeck 3.1.0
- PostgreSQL11
PostgreSQLの準備
posgreSQLのページからWindows版のPostgreSQLをダウンロードします。
今回はPostgreSQL 11を選択しました。
ダウンロードしてインストールします。インストール時に特別なことは必要ないのでここでは詳細は省略。
JDKの準備
Rundeckを動作させるためのJDKの準備をします。openJDKのページからjdk8をダウンロードします。
https://jdk.java.net/java-se-ri/8-MR3
落としたzipファイルを適当な場所に展開します。今回はCドライブの配下にRundeckというフォルダを作成し、展開したフォルダを配置しました。
配置先
C:\\Rundeck
環境変数パスにjdkのbinを設定してもいいですが、今回はRundeckを動作させるときにjava.exeまで移動して動作させようと思いますので、特に設定しません。
Rundeckのダウンロード
Rundeckのwarファイルをダウンロードします。こちらも先ほど作成したRundeckフォルダに配置します。
配置したら、コマンドプロンプトで以下を実行します。
cd C:\Rundeck\openjdk-8u41-b04-windows-i586-14_jan_2020\java-se-8u41-ri\bin
java -jar C:\Rundeck\rundeck-3.1.0-20190731.war
実行後、以下のような出力が出ればOKですので、いったんコマンドプロンプトを閉じます。
Configuring Spring Security Core ...
... finished configuring Spring Security Core
…
Grails application running at http://<computer_name>:4440 in environment: production
PostgreSQL設定
postgresql側でrundeck用のユーザをつくります。スタートメニューからSQL Shell(psql)を選択して開きます。
開いたらpostgresqlをインストールした際に設定したsuperuserのパスワードでログインし、rundeck用のdatabaseをcreateします。
create database rundeck;
続いて、rundeck用のユーザを定義し、作成したrundeckデータベースへの権限を付与します。
create user rundeckuser with password 'rundeckpassword';
grant ALL privileges on database rundeck to rundeckuser;
以上でPostgreSQL側の設定は完了です。
RundeckとPostgreSQLの接続設定
先ほどjava -jarでrundeckのwarファイルを実行した際に、C:\\Rundeckフォルダ内にいくつかフォルダが作成されています。C:\Rundeck\server\config の中にrundeck-config.propertiesファイルというものがありますのでこれをテキストエディタなどで開き、以下の通り書き換えます。
#以下の行をコメント化
#dataSource.url = jdbc:h2:file:C:/Development/00_local/rundeck/server/data/grailsdb;MVCC=true
#以下の4行を追加
dataSource.driverClassName = org.postgresql.Driver
dataSource.url = jdbc:postgresql://localhost/rundeck
dataSource.username=rundeckuser
dataSource.password=rundeckpassword
保存したらエディタを閉じます。これでrundeck側の設定も終了です。
Rundeckの起動
再度以下のコマンドをコマンドプロンプトから実行します。バッチファイル化しておくと便利です。
cd C:\Rundeck\openjdk-8u41-b04-windows-i586-14_jan_2020\java-se-8u41-ri\bin
java -jar C:\Rundeck\rundeck-3.1.0-20190731.war
その後ブラウザでhttp://<computer_name>:4440にアクセスするとログインページが立ち上がります。初期パスワードadmin/adminでログインできれば、無事立ち上げ完了です。
注意事項
JDKのバージョンによってはうまく立ち上がらない場合があります。途中でエラーなどでたらjdkのバージョンを変えて試してみてください。