Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Cockpit: una GUI per gestire server Linux

Cockpit: una server admin interface interattiva che permette di gestire server Linux tramite un'interfaccia grafica
Cockpit: una server admin interface interattiva che permette di gestire server Linux tramite un'interfaccia grafica
Link copiato negli appunti

La gestione dei server Linux può essere eseguita completamente tramite shell, con strumenti come SSH. Tuttavia per i sysadmin non è raro affidarsi a tool che agevolano il workflow e rendono il lavoro di amministrazione, monitoraggio e manutenzione molto più semplice.

In questa guida vogliamo parlarvi di uno strumento molto popolare tra gli amministratori di sistema: Cockpit. Si tratta di una server admin interface interattiva che si interfaccia direttamente con il sistema operativo tramite il nostro browser web.

Cosa è Cockpit

I developer del progetto definiscono Cockpit come una "sysadmin login session in a web browser". Di fatto Cockpit consente all'amministratore di sistema di eseguire una vasto gamma di task da remoto, come ad esempio avviare un container, gestire lo storage, eseguire delle configurazioni di rete, ispezionare i log e molto altro.

Qualsiasi operazione svolta su Cockpit può ovviamente essere replicata tramite la shell e viceversa. Quindi i servizi avviati da Cockpit possono essere terminati o riavviati via SSH e, nello stesso modo, un applicativo già avviato prima della configurazione di Cockpit può essere gestito sempre all'interno di questo tool.

Gli output di errore possono essere agilmente recuperati dalla Cockpit journal interface e l'utente ha inoltre la possibilità di gestire le SSH key per l'autenticazione degli utenti. Non ci resta quindi che installare e configurare Cockpit all'interno del nostro server Linux.

Installazione di Cockpit su Linux

Cockpit è disponibile nei repository software di innumerevoli distribuzioni. Dunque i sysadmin non avranno particolari difficoltà nel reperirlo. Ecco come procedere alla sua installazione in base alla distribuzione di riferimento.

Debian

Abilitiamo i backports repository:

sudo echo "deb http://deb.debian.org/debian ${NOMEDELLARELEASE}-backports main" > \ /etc/apt/sources.list.d/backports.list

Se non conoscete il nome della release che state utilizzato potete scoprirlo tramite questo pratico comando:

sudo . /etc/os-release

Aggiorniamo poi il gestore di pacchetti APT con le modifiche appena eseguite:

sudo apt update

Infine recuperiamo i pacchetti di Cockpit:

sudo apt install -t ${NOMEDELLARELEASE}-backports cockpit

Red Hat Enterprise Linux

Apriamo bash e scriviamo:

sudo subscription-manager repos --enable rhel-7-server-extras-rpms
sudo yum install cockpit
sudo systemctl enable --now cockpit.socket

Se usate RHEL 7, oppure un non-default zone in RHEL 8, sarà necessario aggiungere questa configurazione al firewall:

sudo firewall-cmd --add-service=cockpit && sudo firewall-cmd --add-service=cockpit --permanent

Fedora

Nella shell digitiamo:

sudo dnf install cockpit
sudo systemctl enable --now cockpit.socket
sudo firewall-cmd --add-service=cockpit && sudo firewall-cmd --add-service=cockpit --permanent

Arch Linux

Avviamo il terminale ed invochiamo il gestore dei pacchetti:

sudo pacman -S cockpit && sudo systemctl enable --now cockpit.socket

OpenSUSE Tumbleweed

sudo zypper in cockpit
sudo systemctl enable --now cockpit.socket
sudo firewall-cmd --permanent --zone=public --add-service=cockpit && sudo firewall-cmd --reload

Accedere alla web interface di Cockpit

Risulta evidente come l'installazione di Cockpit su Linux sia davvero semplicissima. Una volta che il processo viene avviato sul sistema tramite systemd è possibile accedere all'interfaccia web di Cockpit tramite un comune web browser. Per utilizzare Cockpit dobbiamo quindi digitare l'indirizzo seguente nella barra degli URL:

https://IPDELSERVER:9090

Se non conoscete l'IP del server corrente potete ottenere questa informazione tramite bash digitando questo comando:

hostname -I

Come ouput dovreste quindi ricevere qualcosa di simile:

192.168.1.12

Quindi l'URL da digitare nel browser sarà essere simile a:

https://192.168.1.12:9090

Dopo aver premuto il tasto invio ci ritroveremo davanti alla schermata di login di Cockpit. A questo punto basterà inserire le credenziali, username e password, per accedere alla dashboard del programma.

cockpit loginpage

Avviare un container tramite Cockpit

Cosa è possibile fare tramite Cockpit? Cerchiamo di capirlo tramite alcuni esempio pratici. Partiamo andando ad eseguire il deploy di un container. L'operazione è abbastanza semplice. Dopo esserci loggati clicchiamo sulla sezione chiamata "Podman Containers".

cockpit container

A questo punto premiamo sul pulsante azzurro posto a sinistra, "Create Container", cosi da accedere alla schermata di configurazione iniziale del container. Di base Cockpit sfrutta Podman per la gestione dei container ma se lo desideriamo possiamo scegliere dei software alternativi.

cockpit container

Dunque diamo un nome al nostro container ed impostiamo l'IP su cui dove essere reperibile, il disco/directory da utilizzare, l'utente a cui associarlo ed ovviamente il link che permetterà di recuperare l'immagine del container.

cockpit container

Una volta pronti per eseguire il tutto basta cliccare su "Create and Run" cosi da far partire il container appena configurato.

Tramite la medesima sezione si può anche gestire l'esecuzione del container, riconfigurarlo, monitorare il suo comportamento, analizzare i log tramite l'apposito pannello e applicare gli eventuali aggiornamenti.

Aggiornare i pacchetti da Cockpit

Cockpit permette di gestire anche il processo di upgrade di pacchetti. Per far questo basta recarsi nella sezione "Software updates" per capire se sono disponibili aggiornamenti per il proprio parco applicativi.

Cockpit sfrutta le API PackageKit D-Bus per reperire tali informazioni. Si tratta nel concreto di una suite software open source creata per interfacciarsi con diversi package manager. Parliamo principalmente di quelli che sfruttano rpm ma sono compatibili anche i .deb ed i .tgz. Questo è possibile sfruttando appunto le librerie software fornite da D-Bus che vengono impiegate per assicurare la comunicazione tra i processi e PolicyKit.

Tale configurazione consente a Cockpit di essere svincolato dalla distribuzione. Quindi l'utente non deve ricordarsi il singolo comando per uno specifico gestore di pacchetti di una certa distribuzione, può affidarsi a Cockpit che gestirà tutto in autonomia. Basterà cliccare sul tasto "Install all updates" per eseguire l'aggiornamento della propria distribuzione e dei software installati.

L'utente può scegliere anche di utilizzare direttamente i comandi via shell tramite la sezione chiamata "Terminal" ed implementare gli upgrade usando il package manager delle distribuzione o sfruttare la CLI di Cockpit:

pkcon refresh

pkcon get-updates

Se si desidera avere i dettagli di una determinata release per un pacchetto specifico è possibile elaborare la richiesta in questo modo:

pkcon get-update-detail nomepacchetto

Si riceverà un output simile a questo:

details about the update:6.x86_64 [distribuzione]
Package: nomepacchettoXYZ
Bugzilla: URLdibugzilla
Update text: - update to nuovaversione

Quindi per avviare l'upgrade basta digitare:

pkcon update

Quest'ultimo comando andrà ad installare la nuova release dei pacchetti senza la necessità di ulteriori interventi.

Ti consigliamo anche