Installing Kibana on Ubuntu or Debian adds a browser-based interface for exploring Elasticsearch data, building visualizations and dashboards, and working with the Elastic Stack apps for logs and metrics.
The kibana package deploys the application under /usr/share/kibana, stores settings in /etc/kibana/kibana.yml, and runs as a systemd service that serves the web UI and API on port 5601.
Kibana requires a reachable Elasticsearch endpoint to become ready, and remote access is disabled by default because server.host binds to localhost. Exposing Kibana to other networks should be paired with access controls (firewall, reverse proxy, and TLS) to avoid unintended exposure of the UI.
Steps to install Kibana on Ubuntu or Debian:
- Add the Elastic signing key.
$ curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor --yes -o /usr/share/keyrings/elastic.gpg
Install curl and gpg if the command fails with command not found errors.
- Add the Elastic APT repository.
$ echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main
- Refresh package metadata.
$ sudo apt update WARNING: apt does not have a stable CLI interface. Use with caution in scripts. Hit:1 https://artifacts.elastic.co/packages/8.x/apt stable InRelease Hit:2 http://ports.ubuntu.com/ubuntu-ports noble InRelease Get:3 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease [126 kB] Get:4 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease [126 kB] Get:5 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease [126 kB] Get:6 http://ports.ubuntu.com/ubuntu-ports noble-security/main arm64 Packages [1866 kB] Get:7 http://ports.ubuntu.com/ubuntu-ports noble-security/universe arm64 Packages [1180 kB] Fetched 3425 kB in 3s (1012 kB/s) Reading package lists... Building dependency tree... Reading state information... 2 packages can be upgraded. Run 'apt list --upgradable' to see them.
- Install the Kibana package.
$ sudo apt install --assume-yes kibana WARNING: apt does not have a stable CLI interface. Use with caution in scripts. Reading package lists... Building dependency tree... Reading state information... kibana is already the newest version (8.19.9). 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
- Set server.host in /etc/kibana/kibana.yml for remote access.
server.host: "0.0.0.0"
Binding to 0.0.0.0 exposes port 5601 to the network; restrict access with a firewall or reverse proxy before allowing untrusted networks.
- Enable and start the Kibana service.
$ sudo systemctl enable --now kibana Created symlink /etc/systemd/system/multi-user.target.wants/kibana.service → /usr/lib/systemd/system/kibana.service.
- Verify the service is running.
$ sudo systemctl status kibana --no-pager ● kibana.service - Kibana Loaded: loaded (/usr/lib/systemd/system/kibana.service; enabled; preset: enabled) Active: active (running) since Tue 2026-01-06 21:06:05 UTC; 4s ago ##### snipped #####Use journalctl for startup errors when the service fails to start.
$ sudo journalctl -u kibana --no-pager -n 50
- Open the Kibana web UI in a browser.
http://<kibana-host>:5601
First-time access commonly shows a setup or login screen before dashboards are available.
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.
