Rundeck Install and Bug Fix - Stuck at Login Page
We’re going to show you how to install Rundeck Community Edition on Ubuntu Linux Server 20.04. There are multiple different ways of doing this but we’re going to use the deb package downloaded from the Rundeck site. We’re also going to show you how to fix a really annoying issue that causes people to get stuck at the login page after installation.
For more general information about Rundeck checkout our General Rundeck Overview Page.
NOTE - You should just swap in your own specific information In any place where we use an exact version number, IP address, or home directory path.
Rundeck Install Steps
To start out, you can download Rundeck here:
Before installing the deb package you will need to install Java. Before doing that you should make sure you update your repo information like this:
sudo apt update
Now actually install Java:
sudo apt install openjdk-11-jre-headless
Next SCP the package over to the system that you will be installing it on. You can skip this if you are installing on your desktop.
scp Downloads/rundeck_3.4.3.20210823-1_all.deb 192.168.3.151:/home/user1
Install the package like this:
sudo dpkg -i rundeck_3.4.3.20210823-1_all.deb
Once installed, you can check the status of the service like this:
sudo service rundeckd status
If it isn’t running, start it up like this:
sudo service rundeckd start
Enable the service like this so that it will start up the next time you boot your server.
sudo systemctl enable rundeckd
It takes a while to start up. You can tail the logs to see how far along it is like this:
tail -n 1000 -f /var/log/rundeck/service.log
When Rundeck has fully initialized you should see a like like this in the logs:
Grails application running at http://localhost:4440 in environment: production
You should be able to reach the Rundeck web GUI on port 4440 like this:
http://192.168.3.151:4440
User | admin |
Password | admin |
Stuck at Login Page - Issue / Bug / Feature
There is an issue that may result in getting stuck at the login page. This is actually caused by certain default parameters that can be fixed. The server name and URL are set to “localhost” by default. This may actually work if you are running the instance on your desktop or from the same system that your browser is running on. It will likey be an issue if you have installed Rundeck on a remote host. The service will listen on the public IP just fine but after login it will attempt to redirect you to a URL with a value based on what it pulls from it’s config files which is “localhost” by default. It is possible to correct this manually but it will redirect you to the wrong URL again when trying to navigate the GUI.
This issue is discussed here and probably on other pages:
Quick info about affected versions:
3.0.8 | working |
3.0.13 | broken |
3.4.3 | still broken |
This is what the URLs look like:
http://192.168.3.151:4440/user/login | login on this page |
http://localhost:4440/menu/home | redirects me here |
http://192.168.3.151:4440/menu/home | should redirect here |
The Fix
The fix is to change “localhost” to the IP or hostname of your server in the config files shown below.
First, edit this file:
sudo vi /etc/rundeck/framework.properties
Change these lines:
framework.server.name = localhost
framework.server.hostname = localhost
framework.server.port = 4440
framework.server.url = http://localhost:4440
To something like these:
framework.server.name = 192.168.3.151
framework.server.hostname = 192.168.3.151
framework.server.port = 4440
framework.server.url = http://192.168.3.151:4440
Then, edit this file:
sudo vi /etc/rundeck/rundeck-config.properties
Change this line:
grails.serverURL=http://localhost:4440
To something like this:
grails.serverURL=http://192.168.3.151:4440
Restart rundeck again like this:
sudo service rundeckd stop
sudo service rundeckd start
Wait for it to fully initialize and try logging in again. It should work after this.