Ubuntu 18.04LTSへRundeckをインストールする方法です。DBMSはMariaDB 10.1を使用します。 なお、MariaDBはRundeck専用で、他の用途には共有しないものとします。
OpenJDK 8のインストール
以下のコマンドを実行し、OpenJDK 8をインストールします。
# apt update # apt install openjdk-8-jdk-headless
MariaDB 10.1のインストール
以下のコマンドを実行し、MariaDB 10.1をインストールします。
# apt install mariadb-client mariadb-server
インストール後、mariadbサービスが起動していることを確認し、mysql_secure_installation
を実行し、MariaDBの初期設定を行います。
my.cnfの編集
/etc/mysql/conf.d/my.cnf
を編集します。
※innodb_buffer_pool_sizeと、innodb_log_file_sizeは環境や運用に合わせて調整します。
[mysql] [mysqld] innodb_buffer_pool_size = 512M innodb_log_file_size = 128M innodb_file_format = barracuda innodb_file_format_max = barracuda innodb_file_per_table = true innodb_large_prefix = true
設定後、mariadbサービスを再起動します。
再起動後、mysqlコマンドでMariaDBのCLIツールに入り、SHOW GLOBAL VARIABLES LIKE '%innodb_file_%';
を実行し、上記設定が反映されたことを確認します。設定が反映されない場合は複数回mariadbサービスを再起動します。
次に、MariaDBのCLIツールで以下のクエリを実行します。 (Rundeckサービス起動時における、Caused by: java.sql.SQLException: Index column size too large. The maximum column size is 767 bytes. 対応)
mysql> SET GLOBAL innodb_default_row_format=dynamic;
Rundeck用データベースおよびユーザーの作成
https://docs.rundeck.com/docs/administration/configuration/database/mysql.html を参考に、データベースとユーザーを作成します。
mysql> create database rundeck; mysql> grant ALL on rundeck.* to 'rundeckuser'@'localhost' identified by 'rundeckpassword';
Rundeckのインストール
まず、Ubuntu/Debian用のRundeckリポジトリを追加します。 (https://bintray.com/rundeck でホストされているリポジトリを使用します) あわせて、GPG Public Keyも追加します。
# echo "deb https://rundeck.bintray.com/rundeck-deb /" | sudo tee -a /etc/apt/sources.list # curl 'https://bintray.com/user/downloadSubjectPublicKey?username=bintray' | sudo apt-key add -
次に、Rundeckをaptよりインストールします。
# apt update # apt install rundeck
MariaDB Connector/Jのダウンロードと配置
https://mariadb.com/downloads/#connectors からMariaDB Connector/Jの最新版を(2019/6/13時点においては2.4.1)ダウンロードします。
ダウンロード後、/var/lib/rundeck/lib
ディレクトリへファイルを配置します。(/var/lib/rundeck/lib
ディレクトリが存在しない場合は事前に作成します)
Rundeckの設定
/etc/rundeck/rundeck-config.properties
を以下のように編集します。
#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://<RundeckサーバのFQDNまたはIPアドレス>:4440 dataSource.dbCreate = update dataSource.url = jdbc:mysql://localhost/<Rundeck用のMariaDBデータベース名>?autoReconnect=true&useSSL=false dataSource.username = <Rundeck用のMariaDBユーザーのユーザー名> dataSource.password = <Rundeck用のMariaDBユーザーのパスワード> rundeck.log4j.config.file = /etc/rundeck/log4j.properties dataSource.driverClassName=org.mariadb.jdbc.Driver
次に、/etc/rundeck/framework.properties
を以下のように編集します。
# ---------------------------------------------------------------- # Rundeck server connection information # ---------------------------------------------------------------- framework.server.name = <RundeckサーバのFQDNまたはIPアドレス> framework.server.hostname = <RundeckサーバのFQDNまたはIPアドレス> framework.server.port = 4440 framework.server.url = http://<RundeckサーバのFQDNまたはIPアドレス>:4440
設定後、rundeckdサービスを再起動します。
再起動後、/var/log/rundeck/service.log
にエラーが出力されていないことを確認し、Webブラウザよりhttp://<RundeckサーバのFQDNまたはIPアドレス>:4440
にアクセスし、動作を確認します。
サービス自動起動の有効化
以下のコマンドを実行し、mariadbおよびrundeckdサービスの有効化を行います。
# systemctl enable mariadb # systemctl enable rundeckd