欢迎光临
我们一直在努力

如何在 Ubuntu 20.04 上安装 Rundeck

Rundeck是用于自动化服务的免费开源软件。它允许自助访问他们完成工作所需的流程和工具。使用 Rundeck,您可以从现有工具或脚本创建自动化工作流。它提供了一个 Web 控制台、CLI 工具和一个 Web API 来运行自动化任务。

在本教程中,我们将学习如何在Ubuntu 20.04安装 Rundeck社区版。

先决条件

  • 一个至少有 2 个 CPU 的 Ubuntu 20.04 实例
  • 4 GB 内存
  • 20 GB 硬盘
  • Java 8 或更高版本
  • 数据库 – MySQL/MariaDB、Oracle 或 PostgrSQL
  • 日志存储,用于作为默认文件系统或 S3 兼容对象存储的日志
  • 端口 4440 (http) 和 4443 (https) 打开

第 1 步:在 Ubuntu 上安装 Java

Rundeck 需要Java 8 或 Java 11才能正常运行。如果默认情况下未安装,请使用以下命令安装 Java。

一、更新软件仓库的缓存

$ sudo apt update

现在要安装 Java 11,请运行以下命令:

$ sudo apt install openjdk-11-jre-headless

您可以使用以下命令验证版本:

java -version

第 2 步:在 Ubuntu 上安装 MySQL

Rundeck 支持 MySQL、PostgreSQL、Oracle 和 MS SQL Server 来存储其数据。在我们的例子中,我们将使用 MySQL。

要在 Ubuntu 上安装 MySQL,请运行以下命令:

$ 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 步:在 Ubuntu 20.04 上安装 Rundeck

在这里,我们将安装 Rundeck 社区版本。您可以通过填写表格或从官方存储库直接从网站下载 deb 包文件。

在这里,我将从官方存储库进行安装,该存储库始终确保拥有最新版本。

为此,我们将首先导入 repo 签名密钥。

$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -

然后我们添加Rundeck的sources list文件 /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 Termination的反向代理。这有助于 Rundeck 支持 SSL/HTTPS。

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 登录界面

现在您可以访问您的 Rundeck

Rundeck 仪表板

您可以创建一个新项目以开始配置。

结论

在本教程中,我们学习了如何在 Ubuntu 20.04 服务器上安装 Rundeck 社区版。您可以进行一些配置并创建一个新项目以开始使用您的 Rundeck

via:https://linoxide.com/install-rundeck-on-ubuntu/

窗外天空
关注公众号『窗外天空』

获取更多建站运营运维新知!
互联网创业、前沿技术......

赞(0) 打赏
文章名称:《如何在 Ubuntu 20.04 上安装 Rundeck》
文章链接:https://www.nixonli.com/24299.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏