
ランドック 自動化サービス用の無料のオープンソースソフトウェアです。仕事を遂行するために必要なプロセスとツールへのセルフサービスアクセスを提供します。 Rundeckを使用すると、既存のツールまたはスクリプトから自動化ワークフローを作成できます。自動化タスクを実行するためのWebコンソール、CLIツール、およびWebAPIを提供します。
このチュートリアルでは、Rundeckをインストールする方法を学びます。 Ubuntu 20.04のコミュニティ 。
前提条件
- 少なくとも2つのCPUを搭載したUbuntu20.04インスタンス
- 4 GB RAM
- 20GBのハードディスク
- Java8以降
- データベース-MySQL/MariaDB、OracleまたはPostgrSQL
- デフォルトのファイルシステムまたはS3互換のオブジェクトストアのいずれかであるログのログストア
- ポート4440(http)および4443(https)が開かれました
ステップ1:UbuntuにJavaをインストールする
RundeckにはJava8またはJava11が必要です 正しく機能するために。デフォルトでインストールされていない場合は、次のコマンドを使用してJavaをインストールします。
まず、リポジトリのキャッシュを更新します
$ sudo apt update
ここでJava11をインストールするには、次のコマンドを実行します。
$ sudo apt install openjdk-11-jre-headless
バージョンを確認できます:
java -version
ステップ2:UbuntuにMySQLをインストールする
Rundeckは、MySQL、PostgreSQL、Oracle、およびMSSQLServerをサポートしてデータを保存します。この例では、MySQLを使用します。
MySQLをUbuntuにインストールするには、次のコマンドを実行します。
$ sudo apt install mysql-server
次に、起動時にMySQLサービスを有効にし、次のように入力します。
$ sudo systemctl enable mysql-server
データベースにアクセスします:
$ mysql -u root -p
Rundeckデータベースとユーザーを作成します:
mysql> CREATE DATABASE rundeckdb;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'rundeck_user'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'rundeck_user'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
bye
ステップ3:Ubuntu20.04にRundeckをインストールする
ここでは、Rundeckコミュニティバージョンをインストールします。 debパッケージファイルは、フォームに入力してWebサイトから直接ダウンロードするか、公式リポジトリからダウンロードできます。
ここでは、公式リポジトリからインストールします これにより、常に最新バージョンが保証されます。
そのためには、まずリポジトリ署名キーをインポートします。
$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -
次に、Rundeck /etc/apt/sources.list.d/rundeck.list
のソースリストファイルを追加しましょう。
$ sudo vim /etc/apt/sources.list.d/rundeck.list
deb https://packages.rundeck.com/pagerduty/rundeck/any/ any main
deb-src https://packages.rundeck.com/pagerduty/rundeck/any/ any main
リポジトリのキャッシュを更新する
$ sudo apt update
次に、aptコマンドを使用してRundeckをインストールし、次のように入力します。
$ sudo apt install rundeck
ここで、Rundeckにデータベースの接続方法を指示する必要があります。いくつかの更新で構成ファイルを編集します。すでに存在している行を、構成に一致する適切な値に置き換えてください
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://YOUR_SERVER_IP:4440
dataSource.driverClassName = org.mariadb.jdbc.Driver
dataSource.url = jdbc:mysql://localhost/rundeckdb?autoReconnect=true&useSSL=false
dataSource.username = rundeck_user
dataSource.password = PASSWORD
別のデータベースをインストールした場合は、一部の構成を変更する必要があります。
次に、起動時にサービスを有効にします
$ sudo systemctl enable rundeckd.service
次に、Rundeckサービスを開始します:
$ sudo systemctl start rundeckd.service
ステータスを確認できます
$ sudo systemctl status rundeckd.service
● rundeckd.service - LSB: rundeck job automation console
Loaded: loaded (/etc/init.d/rundeckd; generated)
Active: active (running) since Sat 2021-11-06 01:05:34 UTC; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 229955 ExecStart=/etc/init.d/rundeckd start (code=exited, status=0/SUCCESS)
Main PID: 229976 (java)
Tasks: 12 (limit: 2279)
Memory: 114.7M
CGroup: /system.slice/rundeckd.service
└─229976 java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfilelogin -Drdeck.config=/etc/rundeck -Drundeck.server.configDir=/etc/rundeck -D>
Nov 06 01:05:34 li663-64 systemd[1]: Starting LSB: rundeck job automation console...
Nov 06 01:05:34 li663-64 rundeckd[229955]: * Starting rundeckd
Nov 06 01:05:34 li663-64 rundeckd[229955]: ...done.
Nov 06 01:05:34 li663-64 systemd[1]: Started LSB: rundeck job automation console.
デフォルトのパスワードはまだadmin
であるため、最初にadminユーザーのデフォルトのパスワードを変更する必要があります
$ sudo vim /etc/rundeck/realm.properties
admin:NEW_ADMIN_PASSWORD,user,admin,architect,deploy,build
この時点で、すべてが機能していることを確認したい場合は、IPとポート4440を使用してRundeckにアクセスを試みることができますが、事前にファイアウォールで開く必要があります。
Nginxを使用するため、RundeckのURLを変更するには、他のいくつかの構成ファイルを編集する必要があります。 NginxがRundeckにアクセスするために使用するURLを指定する必要があります。まず、/etc/rundeck/framework.properties
を編集します 構成ファイル
$ sudo vim /etc/rundeck/framework.properties
framework.server.url = http://rundeck.domain.com
次に、/etc/rundeck/rundeck-config.properties
を再編集します 構成ファイル。これは、サーバーのIPアドレスとデフォルトのポートを示すために使用したものですが、ドメイン名を入力するようになりました。
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://rundeck.websitefortesting.com
ステップ4:SSLで終了するプロキシ
ここでは、Nginxをリバースプロキシとして使用します SSLターミネーション用。これは、SSL/HTTPSをサポートするRundeckに役立ちます。
Nginxはaptリポジトリで利用できます。次のコマンドを使用して簡単にインストールできます:
$ sudo apt install nginx
次に、Rundeckドメインの証明書をコピーする必要があります。
$ sudo cp rundeck.domain.com.crt /etc/nginx/certs/rundeck.domain.com.crt
キーもコピーする必要があります
$ sudo cp rundeck.domain.com.key /etc/nginx/certs/rundeck.domain.com.key
競合を避けるために、デフォルトの構成ファイルを削除しましょう
$ sudo rm /etc/nginx/sites-enabled/default
それでは、Rundeckの構成ファイルを作成しましょう。
$ sudo vim /etc/nginx/sites-available/rundeck.conf
server { server_name rundeck.domain.com; listen 80 ; access_log /var/log/nginx/rundeck.log; return 301 https://$host$request_uri; } server { server_name rundeck.domain.com; listen 443 ssl http2 ; access_log /var/log/nginx/rundeck.log;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; ssl_certificate /etc/nginx/certs/rundeck.domain.com.crt; ssl_certificate_key /etc/nginx/certs/rundeck.domain.com.key; add_header Strict-Transport-Security "max-age=31536000";
location / { proxy_pass http://localhost:4440; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
それでは、構成ファイルを有効にしましょう
$ sudo ln -s /etc/nginx/sites-available/rundeck.conf /etc/nginx/sites-enabled/rundeck.conf
Nginxの構成を確認してください
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ステップ5:Rundeckインターフェイスにアクセスする
これで、ブラウザにアクセスして、URL http://rundeck.domain.com
を使用してRundeckにアクセスできます。
Rundeck Webインターフェイスアクセスの場合、ユーザー名はadmin
です。 パスワードは以前に編集したものですNEW_ADMIN_PASSWORD
。

これで、Rundeckにアクセスできます

新しいプロジェクトを作成して、構成から始めることができます。
結論
このチュートリアルでは、Ubuntu20.04サーバーにRundeckコミュニティエディションをインストールする方法を学びました。 Rundeckの使用を開始するために、いくつかの構成を作成し、新しいプロジェクトを作成できます