在Ubuntu 18.04 LTS + MariaDB 10.1的环境中安装Rundeck

以下是在Ubuntu 18.04LTS上安装Rundeck的方法。我们将使用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公钥。

# 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 -

接下来,我们将通过apt安装Rundeck。

# 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服务器的完全限定域名或IP地址>:4440来检查其功能。

启用自动启动服务

执行以下命令以激活mariadb和rundeckd服务。

# systemctl enable mariadb
# systemctl enable rundeckd
广告
将在 10 秒后关闭
bannerAds