How To Use Cockpit in Fedora 23

Posted on by dpepper | Updated:
Reading Time: 3 minutes
Note:
Please note that this article is considered legacy documentation because Fedora 23 has reached its end-of-life support.

Several free options exist for remotely managing Linux servers through a graphical user interface. While some seek to replicate the full range of features available in paid control panels such as Plesk or cPanel, others are focused on helping you perform common tasks and manage essential services. The GUI for remote server administration that ships with Fedora 23, Cockpit, falls into the latter category.

Pre-Flight Check

  • This article is intended as an introduction to the Cockpit GUI on Fedora 23 Server edition.
  • We’ll be logging in as root to a Liquid Web Self-Managed Fedora 23 server.

Step #1: Enable Cockpit

Cockpit is included as part of the default installation of Fedora 23. It is not, however, automatically enabled. Fortunately, it’s easy to get it up and running:

  1. Starting Cockpit requires only a single command:systemctl start cockpit
    Note: The source image for some Fedora 23 servers, depending on when the server was created, may not have included Cockpit. If the above command returns an error, you can install it with: dnf -y install cockpit
  2. Now, we’ll configure it to start on boot with:systemctl enable cockpit.socketRunning that command should produce output similar to the following:[root@host ~]# systemctl enable cockpit.socket
    Created symlink from /etc/systemd/system/sockets.target.wants/cockpit.socket to /usr/lib/systemd/system/cockpit.socket.
  3. You can check the status of Cockpit with:systemctl status cockpitWhich should display status information similar to:[root@host ~]# systemctl status cockpit
    ● cockpit.service - Cockpit Web Service
    Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static; vendor preset: disabled)
    Active: active (running) since Wed 2016-02-03 14:47:36 EST; 7s ago
    Docs: man:cockpit-ws(8)
    Process: 14713 ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type=etc_t (code=exited, status=0/SUCCESS)
    Main PID: 14717 (cockpit-ws)
    CGroup: /system.slice/cockpit.service
    └─14717 /usr/libexec/cockpit-ws
    Feb 03 14:47:36 host.example.com systemd[1]: Starting Cockpit Web Service...
    Feb 03 14:47:36 host.example.com systemd[1]: Started Cockpit Web Service.
    Feb 03 14:47:36 host.example.com cockpit-ws[14717]: Using certificate: /etc/cockpit/ws-certs.d/0-self-signed.cert
  4. Now that the service is running, we’ll need to make sure it’s accessible. Cockpit runs on port 9090, so you’ll need to allow it through the firewall. You can either add the service itself using:firewall-cmd --add-service=cockpitor simply open the port with:firewall-cmd --permanent --add-port=9090/tcp
  5. You now should reload the firewall for the rule to take effect:firewall-cmd --reload

Step #2: Log into Cockpit

  1. Point your browser to the Cockpit Dashboard at your server’s IP address and the Cockpit port, 9090:https://123.123.123.123:9090to arrive at Cockpit’s login screen.CockpitLoginScreen
  2. Use your server’s root credentials to log in.
  3. The server’s self-signed SSL certificate likely will trigger a browser warning, and you’ll need to accept the security certificate to proceed.
    Note: A self-signed certificate uses the same level of encryption as a verified certificate, except that it is you who are verifying your server’s identity, rather than a third party.

Step #3: Explore Cockpit

Once logged in you’ll see the Dashboard:

CockpitMainDashboard

The Dashboard loads the System tab by default, containing information about the server itself and graphs showing CPU and Memory Usage as well as Disk I/O and Network Traffic. Each chart label links to a more detailed view.

Cockpit’s main menu items allow you to perform a multitude of server management functions:

  • Services lists all services, and clicking on any entry takes you to a detail page showing the service log and allowing you to start/stop, enable/disable, reload/isolate, or mask/unmask each service.
  • Containers allows you to manage your Docker containers. You can search for new containers, add or remove containers, start and stop them, and set runtime variables on this page.
  • Logs displays the server’s system and service logs, and allows you to click on any entry for more detailed information, such as the process ID.
  • Storage gives you a graphical look at disk reads and writes, and also allows you to view relevant logs. In addition, you can set up and manage RAID devices and volume groups, and format, partition, and mount/unmount drives.
  • Networking contains an overview of inbound and outbound traffic, along with relevant logs and network interface information. You also can configure the network interface from this page.
  • The Tools menu expands to offer two additional user and server management tools:
    • Accounts lets you add and manage users, set up and change passwords, and add and manage public SSH keys for each user.
    • Terminal contains a fully functional terminal, with tab completion, allowing you to perform any task you could perform through its web interface with the same privileges your login credentials would allow via SSH.

Step #4: Learn More about Cockpit

Check out Cockpit’s official documentation to explore its features and learn how you can integrate Cockpit into your server management workflow.

Avatar for dpepper

About the Author: dpepper

Latest Articles

Blocking IP or whitelisting IP addresses with UFW

Read Article

CentOS Linux 7 end of life migrations

Read Article

Use ChatGPT to diagnose and resolve server issues

Read Article

What is SDDC VMware?

Read Article

Best authentication practices for email senders

Read Article