在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