Installazione software · 6 min read · Oct 19, 2025
Come installare Ansible Semaphore su Debian 12

Ansible Semaphore è un’interfaccia web open-source per i playbook di Ansible. Consente il deployment utilizzando l’automazione di Ansible tramite un browser web. Ansible Semaphore è scritto interamente in Go. Può essere eseguito su Linux, Windows e macOS.
Ansible Semaphore consente il deployment tramite Ansible da un intuitivo e reattivo cruscotto di amministrazione web. Puoi sempre tornare indietro e ripristinare la configurazione e gestire ambienti, segreti, inventari e chiavi di accesso. Consente anche di eseguire playbook secondo un programma con log dettagliati e notifiche.
In questa guida, ti guideremo attraverso l’installazione di Ansible Semaphore sul server Debian 12. Installerai Semaphore con PostgreSQL come database e Nginx come reverse proxy.
Requisiti
Per iniziare con questa guida, assicurati di avere quanto segue:
- Un server Debian 12.
- Un utente non root con privilegi di amministratore.
Installazione delle dipendenze
Per installare Ansible Semaphore, devi installare dipendenze come Ansible, PostgreSQL e Nginx sul tuo sistema. Utilizzerai PostgreSQL come database e Nginx come reverse proxy.
Prima di tutto, esegui il comando qui sotto per aggiornare l’indice dei pacchetti di Debian e installare le dipendenze, come ansible, il database postgresql e il server web nginx.
sudo apt update
sudo apt install git curl wget software-properties-common ansible postgresql nginxInserisci Y per confermare l’installazione.

Dopo che l’installazione è completata, controlla il servizio postgresql con il comando qui sotto.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlVedrai che il servizio postgresql è in esecuzione.

Ora controlla lo stato del servizio nginx con il seguente:
sudo systemctl is-enabled nginx
sudo systemctl status nginxDi seguito, puoi vedere che il server web nginx è in esecuzione.

Infine, controlla la versione di ansible utilizzando il comando qui sotto. La versione Ansible 2.14 dovrebbe essere installata sul tuo sistema Debian.
ansible --version
Configurazione del database
Ora che hai installato le dipendenze, configurerai PostgreSQL e creerai un nuovo database e utente che Ansible Semaphore utilizzerà.
Accedi al server PostgreSQL con il seguente comando:
sudo -u postgres psqlOra esegui le query qui sotto per creare un nuovo database semaphoredb e un utente semaphore. Regola la password con le tue informazioni.
CREATE USER semaphore WITH PASSWORD 'passw0rd';
CREATE DATABASE semaphoredb OWNER semaphore;Successivamente, esegui le seguenti query per verificare l’elenco dei database e degli utenti in PostgreSQL. Vedrai che un nuovo utente semaphore e il database semaphoredb sono disponibili.
\du
\lInfine, digita quit per uscire da PostgreSQL.

Installazione di Ansible Semaphore
Ansible Semaphore fornisce pacchetti per diverse distribuzioni Linux, inclusi Debian/Ubuntu. Puoi scaricare il file DEB di Ansible Semaphore e installarlo con il comando dpkg.
Scarica il pacchetto debian di Ansible Semaphore con il seguente comando:
VER=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest|grep tag_name | cut -d '"' -f 4|sed 's/v//g')
wget -q https://github.com/semaphoreui/semaphore/releases/download/v${VER}/semaphore_${VER}_linux_amd64.debUna volta scaricato, installa Ansible Semaphore con il comando dpkg qui sotto:
sudo dpkg -i semaphore_${VER}_linux_amd64.debDi seguito puoi vedere che l’installazione è completata.

Ora esegui il comando qui sotto per localizzare il binario semaphore, che dovrebbe essere disponibile in /usr/bin/semaphore.
which semaphoreControlla la versione di Ansible Semaphore con il seguente comando. Vedrai che Ansible Semaphore 2.9 è installato.
semaphore version
semaphore help
Configurazione di Ansible Semaphore
In questa sezione, configurerai la directory di installazione di Ansible Semaphore, integrerai Semaphore con PostgreSQL e poi imposterai l’utente admin e la password per Semaphore. Dopo di che, eseguirai anche Semaphore in background come servizio systemd.
Crea una nuova directory di configurazione /etc/semaphore e accedi ad essa. Poi, esegui il comando semaphore setup per configurare Ansible Semaphore.
mkdir -p /etc/semaphore; cd /etc/semaphore
semaphore setup- Inserisci
3per utilizzare PostgreSQL come database. - Inserisci
/opt/playbookper impostare la directory predefinita dei playbook. - Premi INVIO e lascia l’URL pubblico come predefinito.
- Premi INVIO per utilizzare le impostazioni di notifica predefinite.
- Inserisci il tuo nome utente admin, password e indirizzo email. Questo sarà utilizzato per accedere all’applicazione web di Ansible Semaphore.

Dopo che il processo è completato, vedrai la conferma qui sotto:

Ora che hai configurato Ansible Semaphore, creerai un nuovo servizio systemd e eseguirai Ansible Semaphore in background.
Crea un nuovo file di servizio systemd /etc/systemd/system/semaphore.service con l’editor nano.
sudo nano /etc/systemd/system/semaphore.serviceInserisci la configurazione qui sotto.
[Unit]
Description=Semaphore Ansible
Documentation=https://github.com/ansible-semaphore/semaphore
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/bin/semaphore service --config=/etc/semaphore/config.json
SyslogIdentifier=semaphore
Restart=always
[Install]
WantedBy=multi-user.targetSalva il file ed esci dall’editor.
Successivamente, esegui il comando systemctl qui sotto per ricaricare il gestore systemd e applicare le tue modifiche.
sudo systemctl daemon-reloadInfine, esegui il comando qui sotto per avviare e abilitare il servizio semaphore. Poi, controlla il servizio per assicurarti che sia in esecuzione.
sudo systemctl enable --now semaphore
sudo systemctl status semaphorePuoi vedere qui sotto che il servizio semaphore è in esecuzione. E per impostazione predefinita, è in esecuzione sulla porta 3000.

Configurazione di Nginx come reverse proxy
Ora che Semaphore è in esecuzione, configurerai Nginx come reverse proxy per la tua installazione di Semaphore. Assicurati di avere il nome di dominio pronto (nome di dominio locale o pubblico).
Crea un nuovo file di configurazione del blocco server /etc/nginx/sites-available/semaphore.conf con l’editor nano.
sudo nano /etc/nginx/sites-available/semaphore.confInserisci la seguente configurazione per impostare Nginx come reverse proxy per Ansible Semaphore che gira sulla porta 3000. Assicurati di cambiare l’opzione server_name con il tuo nome di dominio.
upstream semaphore {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name auto.howtoforge.local;
client_max_body_size 0;
chunked_transfer_encoding on;
location / {
proxy_pass http://semaphore/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_request_buffering off;
}
location /api/ws {
proxy_pass http://semaphore/api/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
}Salva il file ed esci dall’editor quando hai finito.
Ora esegui il comando qui sotto per attivare il file del blocco server semaphore.conf e verificare la sintassi di Nginx. Se hai una sintassi corretta, vedrai un output test is successful - syntax is ok.
sudo ln -s /etc/nginx/sites-available/semaphore.conf /etc/nginx/sites-enabled/
sudo nginx -tInfine, esegui il seguente comando systemctl qui sotto per riavviare Nginx e applicare le tue modifiche.
sudo systemctl restart nginx
Sicurezza di Ansible Semaphore con HTTPS
Per proteggere l’installazione di Ansible Semaphore, abiliterai HTTPS sopra il reverse proxy Nginx. Utilizzerai Certbot per generare e configurare HTTPS per Semaphore.
Installa i pacchetti certbot e python3-certbot-nginx con il seguente comando:
sudo apt install certbot python3-certbot-nginx -yDopo che l’installazione è completata, esegui il comando certbot qui sotto per generare certificati SSL/TLS per la tua installazione di Ansible Semaphore. Assicurati di cambiare il dominio e l’indirizzo email con le tue informazioni.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --email [email protected] -d auto.howtoforge.localUna volta completato il processo, i tuoi certificati SSL saranno disponibili nella directory /etc/letsencrypt/live/domain.com e la tua installazione di Semaphore sarà protetta con HTTPS.
Accesso ad Ansible Semaphore
Visita il tuo nome di dominio Semaphore, che è https://auto.howtoforge.local/. Se la tua installazione è riuscita, vedrai la pagina di accesso di Ansible Semaphore.
Inserisci il tuo nome utente admin e la password, quindi fai clic su ACCEDI per confermare.

Ora inserisci il nome del tuo primo progetto e fai clic su Avanti per continuare.

Vedrai il cruscotto di Semaphore come segue:

Conclusione
Congratulazioni! Hai completato l’installazione di Ansible Semaphore sul server Debian 12. Hai installato Semaphore con il server PostgreSQL e il server web Nginx. Hai anche protetto Semaphore con HTTPS tramite certbot e Letsencrypt.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.