<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>RaffaeleChiatto.com</title>
	<atom:link href="https://www.raffaelechiatto.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://www.raffaelechiatto.com</link>
	<description>Il Blog di Informatica a 360°</description>
	<lastBuildDate>Mon, 18 May 2026 06:23:16 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.raffaelechiatto.com/wp-content/uploads/2025/05/favicon-150x150.png</url>
	<title>RaffaeleChiatto.com</title>
	<link>https://www.raffaelechiatto.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<itunes:explicit>no</itunes:explicit><itunes:subtitle>Il Blog di Informatica a 360°</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Gadgets"/></itunes:category><item>
		<title>Come monitorare la scadenza dei certificati SSL dei siti web con LibreNMS</title>
		<link>https://www.raffaelechiatto.com/come-monitorare-la-scadenza-dei-certificati-ssl-dei-siti-web-con-librenms/</link>
					<comments>https://www.raffaelechiatto.com/come-monitorare-la-scadenza-dei-certificati-ssl-dei-siti-web-con-librenms/#respond</comments>
		
		<dc:creator><![CDATA[Raffaele Chiatto]]></dc:creator>
		<pubDate>Mon, 18 May 2026 06:23:16 +0000</pubDate>
				<category><![CDATA[LibreNMS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://www.raffaelechiatto.com/?p=1123335</guid>

					<description><![CDATA[&#160; I certificati SSL sono un elemento fondamentale per garantire la sicurezza dei siti web e la fiducia degli utenti. Una loro scadenza non monitorata può causare interruzioni di servizio, avvisi di sicurezza nei browser e potenziali problemi di reputazione. Per questo motivo è importante adottare strumenti che permettano di controllare in modo proattivo lo [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-1091056 alignnone" src="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/INTERMEDIATE-BAR.png" alt="" width="679" height="89" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/INTERMEDIATE-BAR.png 679w, https://www.raffaelechiatto.com/wp-content/uploads/2020/12/INTERMEDIATE-BAR-480x63.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 679px, 100vw" /></p>
<p>&nbsp;</p>
<p>I certificati SSL sono un elemento fondamentale per garantire la sicurezza dei siti web e la fiducia degli utenti. Una loro scadenza non monitorata può causare interruzioni di servizio, avvisi di sicurezza nei browser e potenziali problemi di reputazione. Per questo motivo è importante adottare strumenti che permettano di controllare in modo proattivo lo stato dei certificati e ricevere avvisi prima che si verifichino criticità.</p>
<p>In questo articolo vedremo come utilizzare LibreNMS per monitorare la scadenza dei certificati SSL dei siti web così da avere sotto controllo le date di rinnovo e intervenire tempestivamente.</p>
<p>Analizzeremo i passaggi necessari per configurare il monitoraggio e impostare notifiche efficaci in modo semplice e centralizzato.</p>
<p>&nbsp;</p>
<h3><strong>ABILITAZIONE DELLA FUNZIONE SSL</strong></h3>
<p>Collegarsi in console sul server LibreNMS quindi eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">cd /opt/librenms
sudo -u librenms php artisan config:set ssl_certificates.auto_discover true</pre><p>Oppure utilizzare con il comando lnms:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo -u librenms lnms config:set ssl_certificates.auto_discover true</pre><p>L’opzione <strong>ssl_certificates.auto_discover</strong> abilita il job schedulato che prova a connettersi ai device attivi sulla porta 443 e memorizza il certificato presentato.</p>
<p>&nbsp;</p>
<h3><strong>VERIFICA DEI JOB SCHEDULATI</strong></h3>
<p>LibreNMS usa due task distinti:</p>
<ul>
<li><strong>lnms maintenance:discover-ssl-certificates</strong> per la discovery</li>
<li><strong>lnms maintenance:refresh-ssl-certificates</strong> per il refresh periodico dei certificati già noti</li>
</ul>
<p>Se il tuo scheduler LibreNMS è configurato correttamente, questi task vengono eseguiti automaticamente.</p>
<p>Per provarli subito a mano eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo -u librenms php artisan maintenance:discover-ssl-certificates

sudo -u librenms php artisan maintenance:refresh-ssl-certificates</pre><p>&nbsp;</p>
<h3><strong>VERIFICA DEI CERTIFICATI SCOPERTI</strong></h3>
<p>Collegarsi alla Web UI di LibreNMS</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-01.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123341 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-01-1024x494.png" alt="" width="1024" height="494" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-01-980x473.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-01-480x232.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Quindi cliccare su <strong>Overview → Tools → SSL Certificates</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-02.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123342 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-02-1024x493.png" alt="" width="1024" height="493" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-02-980x472.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-02-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Dovremmo visualizzare una schermata con tutti i certificati discoverati.</p>
<p>Da questa pagina è possibile:</p>
<ul>
<li>vedere i certificati scoperti</li>
<li>aggiungere voci manualmente come host + porta</li>
<li>mettere in pausa o riattivare il monitoraggio</li>
<li>rimuovere una voce</li>
</ul>
<p>&nbsp;</p>
<h3><strong>AGGIUNTA MANUALE DEI SITI WEB DA MONITORARE</strong></h3>
<p>Questo è il passaggio più utile se vuoi controllare siti web pubblici o nomi DNS specifici.</p>
<p>Nella schermata <strong>SSL Certificates</strong> aggiungere manualmente:</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-03.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123343 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-03-1024x489.png" alt="" width="1024" height="489" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-03-980x468.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-03-480x229.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Host: ad esempio www.tuodominio.it<br />
Port: normalmente 443</p>
<p>Cliccare su <strong>Add Certificate</strong></p>
<p>Per host HTTPS standard è sufficiente così. LibreNMS supporta proprio l’aggiunta manuale di host e porta da UI.</p>
<p>&nbsp;</p>
<h3><strong>ESCLUDERE HOST CHE NON SI VUOL MONITORARE</strong></h3>
<p>Se si vuole evitare check automatici su certi host impostare <strong>ssl_certificates.skip_hosts</strong> con lista di hostname o IP.</p>
<p>L’esclusione vale sia per discovery sia per refresh.</p>
<p>Esempio di comando per esclusione:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo -u librenms lnms config:set ssl_certificates.skip_hosts '["lb01.example.local","10.10.10.5"]'</pre><p>&nbsp;</p>
<h3><strong>ATTIVAZIONE DELL&#8217;ALERT</strong></h3>
<p>LibreNMS indica che esiste una regola di alert già disponibile chiamata <strong>Expiring SSL Certificates</strong> che avvisa quando il certificato scadrà entro 14 giorni.</p>
<p>Aprire la Web UI quindi <strong>Alerts → Alert Rules</strong></p>
<p>Verificare che la regola <strong>Expiring SSL Certificates</strong> sia presente e abilitata.</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-04.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123344 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-04-1024x491.png" alt="" width="1024" height="491" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-04-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-04-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Nel caso la regola non fosse presente aggiungerla cliccando su <strong>Create rule from collection</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-05.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123345 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-05-1024x494.png" alt="" width="1024" height="494" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-05-980x472.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-05-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Nel campo cerca scrivere SSL in modo che compaia la regola <strong>Expiring SSL Certificates</strong> quindi cliccare <strong>Select</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-06.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123346 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-06-1024x495.png" alt="" width="1024" height="495" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-06-980x474.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/mon-ssl-librenms-06-480x232.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Impostare l&#8217;alert come da immagine sovrastante impostando il numero di giorni a proprio piacimento.</p>
<p>Cliccare su <strong>Save Rule</strong></p>
<p>Associare quindi il transport che usi già come per esempio:</p>
<p>Email<br />
Telegram<br />
Teams<br />
Slack<br />
webhook</p>
<p>&nbsp;</p>
<h3><strong>CONSIDERAZIONI FINALI</strong></h3>
<p>Questo metodo è perfetto quando si usa la funzione nativa se si vuole:</p>
<ul>
<li>monitorare la scadenza del certificato</li>
<li>vedere un elenco centralizzato dei certificati</li>
<li>ricevere alert “sta per scadere”</li>
<li>aggiungere manualmente host web esterni o interni su host/porta</li>
<li>Limite importante da sapere</li>
</ul>
<p>La funzione nativa fa bene il monitoraggio della scadenza del certificato presentato dal server, ma se vuoi controlli più “applicativi” del tipo:</p>
<ul>
<li>HTTP 200/301 atteso</li>
<li>contenuto pagina</li>
<li>timeout applicativo</li>
<li>warning/critical personalizzati, ad esempio 30/14 giorni</li>
<li>casi particolari con reverse proxy e virtual host</li>
</ul>
<p>allora conviene usare anche i Services con plugin Nagios.</p>
<p>LibreNMS supporta i Service Checks tramite Nagios plugins e i servizi devono sempre essere associati a un device.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.raffaelechiatto.com/come-monitorare-la-scadenza-dei-certificati-ssl-dei-siti-web-con-librenms/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Come configurare un certificato wildcard Let’s Encrypt in Nginx Proxy Manager con Cloudflare tramite DNS Challenge</title>
		<link>https://www.raffaelechiatto.com/come-configurare-un-certificato-wildcard-lets-encrypt-in-nginx-proxy-manager-con-cloudflare-tramite-dns-challenge/</link>
					<comments>https://www.raffaelechiatto.com/come-configurare-un-certificato-wildcard-lets-encrypt-in-nginx-proxy-manager-con-cloudflare-tramite-dns-challenge/#respond</comments>
		
		<dc:creator><![CDATA[Raffaele Chiatto]]></dc:creator>
		<pubDate>Thu, 14 May 2026 06:31:32 +0000</pubDate>
				<category><![CDATA[Certification Authority]]></category>
		<category><![CDATA[Cloudflare]]></category>
		<category><![CDATA[Nginx Proxy Manager]]></category>
		<category><![CDATA[DNSChallange]]></category>
		<category><![CDATA[LetsEncrypt]]></category>
		<category><![CDATA[NginxProxyManager]]></category>
		<category><![CDATA[NPM]]></category>
		<category><![CDATA[Wildcard]]></category>
		<guid isPermaLink="false">https://www.raffaelechiatto.com/?p=1123285</guid>

					<description><![CDATA[&#160; Quando si gestiscono più sottodomini avere un certificato SSL wildcard è una delle soluzioni più comode per semplificare la configurazione e mantenere tutto protetto con un solo certificato. In questo scenario l’accoppiata tra Nginx Proxy Manager, Let’s Encrypt e Cloudflare rappresenta una soluzione pratica, moderna ed efficace, soprattutto se si vuole automatizzare il rilascio [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-1091058 alignnone" src="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR.png" alt="" width="679" height="89" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR.png 679w, https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR-480x63.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 679px, 100vw" /></p>
<p>&nbsp;</p>
<p>Quando si gestiscono più sottodomini avere un certificato SSL wildcard è una delle soluzioni più comode per semplificare la configurazione e mantenere tutto protetto con un solo certificato.</p>
<p>In questo scenario l’accoppiata tra Nginx Proxy Manager, Let’s Encrypt e Cloudflare rappresenta una soluzione pratica, moderna ed efficace, soprattutto se si vuole automatizzare il rilascio e il rinnovo dei certificati senza impazzire con configurazioni manuali.</p>
<p>In questo articolo vedremo come configurare un certificato wildcard Let’s Encrypt in Nginx Proxy Manager utilizzando Cloudflare tramite DNS Challenge, una procedura particolarmente utile quando i servizi non sono esposti direttamente in pubblico oppure quando si desidera una gestione più pulita e flessibile dei sottodomini.</p>
<p>Ti guiderò passo dopo passo nella configurazione spiegando non solo cosa fare, ma anche perché farlo, così da ottenere un setup affidabile, sicuro e facilmente replicabile.</p>
<p>&nbsp;</p>
<h3><strong>PREREQUISITI</strong></h3>
<ul>
<li>Dominio gestito su Cloudflare</li>
<li>Nginx Proxy Manager funzionante</li>
<li>Accesso admin a Cloudflare</li>
<li>Possibilità di creare un API Token Cloudflare con permessi DNS minimi</li>
</ul>
<p>Per i token Cloudflare, la combinazione raccomandata è:</p>
<p>Zone &#8211; DNS &#8211; Edit</p>
<p>Zone &#8211; Zone &#8211; Read</p>
<p>Cloudflare documenta la creazione dei token, e questa coppia di permessi è anche quella normalmente richiesta dai client ACME che usano Cloudflare.</p>
<p>&nbsp;</p>
<h3><strong>CONFIGURARE IL DOMINIO SU CLOUDFLARE</strong></h3>
<p>Accedere a Cloudlfare</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-01.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123290 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-01-1024x492.png" alt="" width="1024" height="492" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-01-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-01-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Cliccare su <strong>Add</strong> quindi selezionare <strong>Connect a Domain</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-02a.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123321 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-02a-1024x491.png" alt="" width="1024" height="491" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-02a-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-02a-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Inserire il nome del dominio quindi selezionare l&#8217;opzione <strong>Import DNS records automatically. We will scan for common DNS records and import them for you.</strong></p>
<p>Quindi cliccare <strong>Continue</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-03.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123292 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-03-1024x494.png" alt="" width="1024" height="494" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-03-980x473.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-03-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Selezionare il piano. Nel mio caso selezionerò quello <strong>Free</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-04a.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123324 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-04a-1024x495.png" alt="" width="1024" height="495" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-04a-980x473.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-04a-480x232.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>In questa fase verificare che siano stai creati tutti i record DNS presenti sul provider di origine.</p>
<p>Quindi cliccare <strong>Continue to Activation</strong> al fondo della pagina</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-05.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123294 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-05-1024x496.png" alt="" width="1024" height="496" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-05-980x474.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-05-480x232.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>A questo punto sostituire sul provider i <strong>Nameservers</strong> inserendo quelli di Cloudflare e quindi:</p>
<p><strong>annabel.ns.cloudflare.com</strong></p>
<p><strong>nash.ns.cloudflare.com</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-06.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123295 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-06-1024x493.png" alt="" width="1024" height="493" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-06-980x471.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-06-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Trovare e disattivare l’impostazione di sicurezza <strong>DNS (DNSSEC)</strong>, se è attiva. Potremo riattivarla in seguito tramite Cloudflare.</p>
<p>Consentire al tuo server di origine solo gli indirizzi IP di Cloudflare</p>
<p>Quindi cliccare<strong> I updated my nameservers</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-07.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123297 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-07-1024x496.png" alt="" width="1024" height="496" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-07-980x475.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-07-480x233.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>In questa schermata siamo in attesa che il registrar propaghi i nuovi nameserver</p>
<p>E&#8217; in corso la verifica che il tuo dominio punti a Cloudflare.</p>
<p>In genere sono necessarie 1-2 ore, ma potrebbero volerci fino a 24 ore, a seconda del tuo registrar. Lo stato viene controllato periodicamente.</p>
<p>Cliccare <strong>check nameservers now</strong> per verificare lo stato</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-08.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123298 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-08-1024x494.png" alt="" width="1024" height="494" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-08-980x473.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-08-480x232.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Al termine della propagazione dovremmo visualizzare una schermata come quella sovrastante che ci dice che il dominio ora è protetto da Cloudflare.</p>
<p>A questo punto sarà possibile gestire i record DNS da Cloudflare</p>
<p>&nbsp;</p>
<h3><strong>CREAZIONE DEL TOKEN API SU CLOUDLFLARE</strong></h3>
<p>Dalla Dashboard di Cloudlfare</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-09.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123299 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-09-1024x493.png" alt="" width="1024" height="493" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-09-980x472.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-09-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Cliccare su <strong>My Profile → API Tokens → Create Token</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-10.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123300 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-10-1024x491.png" alt="" width="1024" height="491" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-10-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-10-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Utilizzare il template tipo <strong>Edit zone DNS</strong> e poi restringilo al tuo dominio.</p>
<p>Cliccare <strong>Use Template</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-11.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123302 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-11-1024x495.png" alt="" width="1024" height="495" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-11-980x473.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-11-480x232.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Sopra un immagine che mostra le impostazioni consigliate da impostare sul template</p>
<p>Impostazioni consigliate del token:</p>
<p><strong>Permissions</strong></p>
<p>Zone / DNS / Edit</p>
<p>Zone / Zone / Read</p>
<p><strong>Zone Resources</strong></p>
<p>Include / Specific zone / tuodominio.it</p>
<p>Quindi cliccare su <strong>Continue to Summary</strong></p>
<p><strong>ATTENZIONE</strong>: Questo è meglio della vecchia Global API Key che Cloudflare sconsiglia in favore degli API token.</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-12.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123303 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-12-1024x492.png" alt="" width="1024" height="492" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-12-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-12-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Cliccare su <strong>Create Token</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-13.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123304 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-13-1024x491.png" alt="" width="1024" height="491" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-13-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-13-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Quando Cloudflare ti mostra il token copiarlo subito, conservalo in modo sicuro e non condividerlo con nessuno</p>
<p>&nbsp;</p>
<h3><strong>CONFIGURAZIONE DI NGINX PROXY MANAGER</strong></h3>
<p>Aprire Nginx Proxy Manager</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-14.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123306 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-14-1024x506.png" alt="" width="1024" height="506" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-14-980x484.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-14-480x237.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Cliccare su <strong>Certificates</strong> nel menù in alto quindi <strong>Add Certificate</strong> e selezionare <strong>Let’s Encrypt via DNS</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-15a.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123328 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-15a-1024x510.png" alt="" width="1024" height="510" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-15a-980x488.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-15a-480x239.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>A questo punto inserire i nomi di dominio corretti.</p>
<p>Nel campo domini inserire: <strong>*.tuodominio e tuodominio.it</strong></p>
<p>In questo modo il certificato:</p>
<p><strong>*.tuodominio.it</strong> copre app.tuodominio.it, home.tuodominio.it, vpn.tuodominio.it</p>
<p><strong>tuodominio.it</strong> copre il dominio principale</p>
<p><strong>ATTENZIONE</strong>: Ricorda che *.tuodominio.it non copre tuodominio.it</p>
<p>Questa è una caratteristica normale dei wildcard certificate. Il DNS-01 serve proprio a validare questo tipo di richiesta.</p>
<p>Impostare come <strong>Key Type</strong>: RSA 2048</p>
<p>Come <strong>DNS Provider</strong> impostare: Clouflare</p>
<p>Nella sezione <strong>Credential File Content</strong>: dns_cloudflare_api_token=IL_TUO_TOKEN</p>
<p>Nella sezione <strong>Propagation Seconds</strong>: impostare i secondi da attendere per la propagazione. Lasciarlo vuoto per usare la propagazione di default.</p>
<p>Cliccare <strong>Save</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-16.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123308 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-16-1024x514.png" alt="" width="1024" height="514" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-16-980x492.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-16-480x241.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Se è andato tutto a buon fine dovremmo visualizzare una schermata come quella sovrastante con il provider di emissione del certificato e la data di scadenza.</p>
<p>A questo punto NPM prova a:</p>
<ul>
<li>chiedere il certificato a Let’s Encrypt</li>
<li>creare via API su Cloudflare il record TXT _acme-challenge</li>
<li>attendere la propagazione DNS</li>
<li>completare la validazione DNS-01</li>
<li>salvare il certificato e configurarne il rinnovo automatico</li>
</ul>
<p><strong>NOTA BENE:</strong> Let’s Encrypt conferma che il DNS-01 funziona creando TXT record di validazione e che è il metodo richiesto per i wildcard.</p>
<p><strong>ATTENZIONE</strong>: Per capire se il record viene creato davvero:</p>
<p><strong>da fuori</strong>: controlla _acme-challenge con Resolve-DnsName o nslookup<br />
<strong>da dentro</strong>: controlla i log del container NPM<br />
non fidarti solo della UI di Cloudflare, perché il TXT può essere temporaneo e sparire subito</p>
<p>&nbsp;</p>
<h3><strong>ASSEGNAZIONE DEL CERTIFICATO AI PROXY HOST</strong></h3>
<p>Quando il certificato compare in SSL Certificates andare sul Proxy Host e:</p>
<ul>
<li>aprire il proxy host</li>
<li>posizionarsi nella scheda SSL</li>
<li>seleziona il certificato wildcard appena creato</li>
<li>abilitare Force SSL, HTTP/2 Support e HSTS Enabled solo se sai di volerlo davvero</li>
</ul>
<p>Salvare la configurazione.</p>
<p>Da quel momento i sottodomini coperti dal certificato useranno quel wildcard.</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-17a.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123330 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-17a-1024x510.png" alt="" width="1024" height="510" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-17a-980x488.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/04/cert-npm-cloudlfare-17a-480x239.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Se è tutto OK dovremmo visualizzare una schermata come quella sovrastante.</p>
<p>&nbsp;</p>
<h3><strong>CONTROLLO DEL FUNZIONAMENTO DEL CERTIFICATO</strong></h3>
<p>Di seguito una serie di controlli rapidi per verificare che tutto funzioni.</p>
<p>In NPM → SSL Certificates il certificato deve risultare valido</p>
<p>Aprendo <strong>https://app.tuodominio.it</strong> il browser deve mostrare certificato valido</p>
<p>Nel certificato devono comparire i SAN:</p>
<p>*.tuodominio.it e tuodominio.it</p>
<p>&nbsp;</p>
<h3><strong>ERRORI PIU&#8217; COMUNI E COME RISOLVERLI</strong></h3>
<p><strong>1) Permessi token insufficienti</strong></p>
<p>Sintomo:</p>
<ul>
<li>errore tipo 403</li>
<li>impossibilità di leggere la zone o creare il TXT</li>
</ul>
<p>Controllare il token Cloudflare:</p>
<ul>
<li>Zone:DNS:Edit</li>
<li>Zone:Zone:Read</li>
<li>limitato alla zone corretta</li>
</ul>
<p>&nbsp;</p>
<p><strong>2) Hai impostato solo *.tuodominio.it</strong></p>
<p>Risultato:</p>
<ul>
<li>i sottodomini funzionano</li>
<li>https://tuodominio.it non funziona</li>
</ul>
<p>Per coprire anche il dominio base devi aggiungere anche tuodominio.it. Il wildcard da solo non basta.</p>
<p>&nbsp;</p>
<p><strong>3) Il dominio non usa davvero Cloudflare DNS</strong></p>
<p>Sintomo:</p>
<ul>
<li>Cloudflare accetta il token</li>
<li>ma il challenge non si completa</li>
</ul>
<p>Se i nameserver del dominio non puntano davvero a Cloudflare, NPM può non riuscire a pubblicare il TXT dove Let’s Encrypt lo cerca.</p>
<p>&nbsp;</p>
<p><strong>4) Propagazione DNS o pre-check fallito</strong></p>
<p>Sintomo:</p>
<ul>
<li>errori su TXT non trovato</li>
</ul>
<p>Il DNS-01 dipende dalla visibilità pubblica del record TXT. Let’s Encrypt verifica via DNS pubblico, non tramite richieste HTTP al server.</p>
<p>Spesso basta:</p>
<ul>
<li>rifare la richiesta</li>
<li>attendere un po’</li>
<li>controllare che non ci siano problemi di permessi/token</li>
</ul>
<p>&nbsp;</p>
<p><strong>5) Hai usato la Global API Key invece del Token</strong></p>
<p>Può funzionare in alcuni flussi legacy ma Cloudflare raccomanda gli API token al posto della Global API Key.</p>
<p>Buone pratiche:</p>
<ul>
<li>usare un token limitato a una sola zone</li>
<li>non usare la Global API Key</li>
<li>includere sia *.tuodominio.it sia tuodominio.it</li>
<li>non cancellare il certificato dopo averlo associato ai proxy host</li>
<li>controllare ogni tanto che il rinnovo automatico continui a funzionare</li>
</ul>
<p>C’è anche un aspetto di sicurezza: Let’s Encrypt segnala che nel DNS-01 le credenziali API restano sul server quindi vanno trattate con attenzione.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.raffaelechiatto.com/come-configurare-un-certificato-wildcard-lets-encrypt-in-nginx-proxy-manager-con-cloudflare-tramite-dns-challenge/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installazione e Configurazione Base di Unifi OS Server su Ubuntu Server 24.04</title>
		<link>https://www.raffaelechiatto.com/installazione-e-configurazione-base-di-unifi-os-server-su-ubuntu-server-24-04/</link>
					<comments>https://www.raffaelechiatto.com/installazione-e-configurazione-base-di-unifi-os-server-su-ubuntu-server-24-04/#respond</comments>
		
		<dc:creator><![CDATA[Raffaele Chiatto]]></dc:creator>
		<pubDate>Mon, 11 May 2026 06:31:02 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Unifi]]></category>
		<category><![CDATA[Ubiquity]]></category>
		<category><![CDATA[Unifi OS Server]]></category>
		<guid isPermaLink="false">https://www.raffaelechiatto.com/?p=1123185</guid>

					<description><![CDATA[&#160; UniFi OS Server rappresenta una soluzione sempre più interessante per chi desidera centralizzare la gestione della propria infrastruttura di rete in modo semplice, moderno e scalabile. Installarlo su Ubuntu 24.04 permette di sfruttare una piattaforma stabile, aggiornata e adatta sia ad ambienti domestici evoluti sia a contesti professionali di piccole e medie dimensioni. In [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-1091056 alignnone" src="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/INTERMEDIATE-BAR.png" alt="" width="679" height="89" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/INTERMEDIATE-BAR.png 679w, https://www.raffaelechiatto.com/wp-content/uploads/2020/12/INTERMEDIATE-BAR-480x63.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 679px, 100vw" /></p>
<p>&nbsp;</p>
<p>UniFi OS Server rappresenta una soluzione sempre più interessante per chi desidera centralizzare la gestione della propria infrastruttura di rete in modo semplice, moderno e scalabile.</p>
<p>Installarlo su Ubuntu 24.04 permette di sfruttare una piattaforma stabile, aggiornata e adatta sia ad ambienti domestici evoluti sia a contesti professionali di piccole e medie dimensioni.</p>
<p>In questo articolo vedremo come eseguire l’installazione e la configurazione base di UniFi OS Server su Ubuntu 24.04, partendo dai prerequisiti fino ai primi passaggi fondamentali per rendere il sistema operativo e pronto alla gestione dei dispositivi UniFi.</p>
<p>L’obiettivo è fornire una guida pratica e lineare, utile per chi vuole avvicinarsi a questa piattaforma senza perdersi in configurazioni complesse fin dall’inizio.</p>
<p>Al termine della procedura avrai un’istanza funzionante di UniFi OS Server, configurata correttamente e pronta per essere personalizzata in base alle esigenze della tua rete.</p>
<p><strong>ATTENZIONE</strong>: oggi UniFi OS Server è il metodo nuovo e consigliato da Ubiquiti per il self-hosting, e sostituisce il vecchio UniFi Network Server. Su Linux, Ubiquiti richiede Ubuntu 23.04+ e usa Podman + slirp4netns per l’installazione. L’ultima release che risulta disponibile è UniFi OS Server 5.0.6 for Linux (x64).</p>
<p>&nbsp;</p>
<h3><strong>PREREQUISITI</strong></h3>
<p>Ubiquiti indica la seguente configurazione per Linux:</p>
<ul>
<li>Ubuntu 23.04 o superiore</li>
<li>CPU x86-64</li>
<li>almeno 2 GB RAM</li>
<li>almeno 10 GB liberi</li>
<li>podman 4.3.1+ e slirp4netns 1.2+</li>
</ul>
<p>&nbsp;</p>
<h3><strong>AGGIORNAMENTO DEL SISTEMA</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt update
sudo apt full-upgrade -y
sudo reboot</pre><p>Dopo il riavvio rientrare via terminale/SSH.</p>
<p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI PODMAN E SLIRP4NETNS</strong></h3>
<p>Questo è il passaggio ufficiale richiesto da Ubiquiti per Linux.</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt-get update
sudo apt-get install -y podman slirp4netns</pre><p>Controllare le versioni installate con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">podman --version</pre><p>Dovremmo visualizzare un output simile al seguente:</p><pre class="urvanov-syntax-highlighter-plain-tag">podman version 4.9.3</pre><p>Quindi eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">slirp4netns --version</pre><p>Dovremmo visualizzare un output simile al seguente:</p><pre class="urvanov-syntax-highlighter-plain-tag">slirp4netns version 1.2.1
commit: 09e31e92fa3d2a1d3ca261adaeb012c8d75a8194
libslirp: 4.7.0
SLIRP_CONFIG_VERSION_MAX: 4
libseccomp: 2.5.5</pre><p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>DOWNLOAD DELL&#8217;INSTALLAER DI UNIFI OS SERVER</strong></h3>
<p>Ubiquiti indica di prendere il link diretto del file Linux x64 dalla pagina download o dalle release, poi scaricarlo con curl o wget, renderlo eseguibile ed eseguirlo.</p>
<p>Apri la pagina download di UniFi OS Server e copia il link dell&#8217;ultima release Linux (x64) disponbile.</p>
<p><a href="https://ui.com/download/software/unifi-os-server" target="_blank" rel="noopener">https://ui.com/download/software/unifi-os-server</a></p>
<p><strong>NOTA BENE</strong>: al momento della stesura del seguente articolo l&#8217;ultima versione disponibile è la UniFi OS Server 5.0.6 for Linux (x64)</p>
<p>Sul server Ubuntu eseguire i comandi di seguito risporati sostituendo l’URL con quello copiato:</p><pre class="urvanov-syntax-highlighter-plain-tag">cd /tmp
wget "https://fw-download.ubnt.com/data/unifi-os-server/1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64"</pre><p>Controllare il nome del file scaricato con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">ls -lh</pre><p>Dovremmo trovare il seguente file:</p><pre class="urvanov-syntax-highlighter-plain-tag">1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64</pre><p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>RENDERE IL FILE ESEGUIBILE E AVVIARE L&#8217;INSTALLAZIONE</strong></h3>
<p>Eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">chmod +x 1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64</pre><p>Quindi avviare l’installazione con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo ./1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64</pre><p>Alla domanda:</p><pre class="urvanov-syntax-highlighter-plain-tag">You are about to install UOS Server version 5.0.6. Proceed? (y/N):</pre><p>Premere <strong>Y</strong></p>
<p>Se è andato tutto a buon fine dovremmo visualizzare il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">INFO Installing UOS Server 5.0.6...
INFO Checking compatible podman runtime available...
INFO Checking disk space for required directories...
INFO - /home/: Requires 15.00 GB, available 28.17 GB
INFO - /var/lib/uosserver/: Requires 1.00 GB, available 28.17 GB
INFO - /usr/local/bin/: Requires 0.12 GB, available 28.17 GB
INFO - /tmp/: Requires 2.00 GB, available 28.17 GB
INFO - /var/tmp/: Requires 2.00 GB, available 28.17 GB
INFO All disk space requirements met.
INFO Checking ports...
INFO Adding uosserver user and group...
INFO Adding user 'root' to 'uosserver' group...
INFO Creating /var/lib/uosserver dir...
INFO Creating /var/lib/uosserver/logs dir...
INFO Creating /var/lib/uosserver/bin dir...
INFO Creating /home/uosserver/tmp dir...
INFO Setting up /usr/local/bin/uosserver binary...
INFO Setting up /usr/local/bin/uosserver-purge binary...
INFO Setting up /var/lib/uosserver/bin/discovery binary...
INFO Setting up /var/lib/uosserver/bin/pasta binary...
INFO Setting up /var/lib/uosserver/bin/uosserver-service service binary...
INFO Setting up /var/lib/uosserver/bin/updater-service binary...
INFO Initializing podman conf...
INFO Allowing raw socket execution...
INFO Creating file /var/lib/uosserver/server.conf...
INFO Config set UOS_UUID=8ad0470d-bf8d-595f-85a4-6adaac647f51
INFO Config set CONTAINER_VERSION=0.0.54
INFO Config set UOS_SERVER_VERSION=5.0.6
INFO Config set NETWORK_MODE=pasta
INFO Creating systemd services...
INFO Loading container image...
INFO [podman] Getting image source signatures
INFO [podman] Copying blob sha256:b7fe3d1983242adf9765bc16155a1dc9d621b7e54d32060f806fc121a65fd637
INFO [podman] Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
INFO [podman] Copying blob sha256:632a1a8daa7590599cc733470c6fa2cf39735430febf72016f33ed37a943e237
INFO [podman] Copying blob sha256:cf4be161aa1de3cf14fa15d9611898552c9cc01c18563acb37324d19077afbd6
INFO [podman] Copying blob sha256:9dedd62b9228b7f8a7c95677425772d778033ce15f979d2b08ec9e95d71eac10
INFO [podman] Copying blob sha256:0fb3170f3e0f99ca912f8d5768fedfac1b8ce6c99ce530eb38885cf3dd36961e
INFO [podman] Copying blob sha256:f7604bf526f0462afa853691be9d2e087358a1331bfa1a8e7f442c9350ac1fb9
INFO [podman] Copying blob sha256:41c4718d584d57ba2f4060f80b2afc40ddd79869da751ca66435acbf2fd32035
INFO [podman] Copying config sha256:0faf0b7f0e4ebcbbae964ab0876fab00e47c166d67e649daa4143f7c53e62977
INFO [podman] Writing manifest to image destination
INFO [podman] Loaded image: docker.io/library/uosserver:0.0.54
INFO Config set CONTAINER_IMAGE_NAME=docker.io/library/uosserver:0.0.54
INFO Starting container...
INFO 6972ac2043407a0ab6d699d312ad3a4f219e4f0078fa4610d7e866b39f72ab74
INFO run --detach --pids-limit 65536 --systemd=always --cap-add=NET_RAW --cap-add=NET_ADMIN --name uosserver --restart unless-stopped --health-cmd curl --fail http://127.0.0.1/api/ping || exit 1 --health-interval 60s --health-timeout 5s --health-retries 3 --network pasta:--ns-ifname,eth0,--map-host-loopback,203.0.113.113,--dns-forward,203.0.113.113 --add-host host.docker.internal:203.0.113.113 --add-host host.containers.internal:203.0.113.113 --dns 203.0.113.113 -e UOS_UUID=8ad0470d-bf8d-595f-85a4-6adaac647f51 -e UOS_SERVER_VERSION=5.0.6 -e FIRMWARE_PLATFORM=linux-x64 -v uosserver_persistent:/persistent -v uosserver_var_log:/var/log -v uosserver_data:/data -v uosserver_srv:/srv -v uosserver_var_lib_unifi:/var/lib/unifi -v uosserver_var_lib_mongodb:/var/lib/mongodb -v uosserver_etc_rabbitmq_ssl:/etc/rabbitmq/ssl -p 11443:443 -p 5005:5005 -p 9543:9543 -p 6789:6789 -p 8080:8080 -p 8443:8443 -p 8444:8444 -p 3478:3478/udp -p 5514:5514/udp -p 10003:10003/udp -p 11084:11084 -p 5671:5671 -p 8880:8880 -p 8881:8881 -p 8882:8882 docker.io/library/uosserver:0.0.54
INFO Config set CONTAINER_ARG_HASH=6972ac2043407a0ab6d699d312ad3a4f219e4f0078fa4610d7e866b39f72ab747689b15fbc14594ed82584a1393c33c78b2ab638c1cf7c0648f8cfb901c18913
INFO Waiting for container 'uosserver' to start (timeout: 60s)
INFO Container 'uosserver' is running. (elapsed: 0.0s)
INFO Waiting for systemd to be ready (timeout: 60s)
INFO Systemd is ready. (elapsed: 7.8s)
INFO Starting uosserver systemd service...
INFO Waiting for UOS Server to start...
WARN Timeout: Unifi-core did not start within 60 seconds.
WARN
!!! INSTALLATION COMPLETE !!!
To grant permission for a user to run 'uosserver' commands:
-&gt; Add the user to the 'uosserver' group:
usermod -aG uosserver &lt;username&gt;
-&gt; Then log out and log back in for the changes to take effect.
To get started with available commands, run:
uosserver help

WARNING: UOS Server startup timed out after 60 seconds. On low-powered devices, the web interface can take a few minutes to be accessible. Try opening it at: 192.168.1.120:11443</pre><p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>CONTROLLARE CHE IL SERVIZIO SIA ATTIVO</strong></h3>
<p>Ubiquiti indica che il servizio systemd si chiama uosserver.</p>
<p>Verificare lo stato con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl status uosserver --no-pager</pre><p>Se è tutto OK dovremmo un output simile al seguente:</p><pre class="urvanov-syntax-highlighter-plain-tag">● uosserver.service - Unifi OS Service
Loaded: loaded (/etc/systemd/system/uosserver.service; enabled; preset: enabled)
Active: active (running) since Sun 2026-03-22 13:23:30 UTC; 2min 39s ago
Main PID: 3096 (uosserver-servi)
Tasks: 8 (limit: 2262)
Memory: 8.0M (peak: 19.7M swap: 3.2M swap peak: 3.2M)
CPU: 3.866s
CGroup: /system.slice/uosserver.service
├─3096 /var/lib/uosserver/bin/uosserver-service
└─3111 /var/lib/uosserver/bin/discovery</pre><p>Per abilitarlo all’avvio eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl enable uosserver</pre><p>Per riavviare il servizio eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl restart uosserver</pre><p>Per fermarlo/avviarlo manualmente eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl stop uosserver
sudo systemctl start uosserver</pre><p>&nbsp;</p>
<h3><strong>ACCESSO DA INTERFACCIA WEB</strong></h3>
<p>Per il login locale ai self-hosted Network Server, Ubiquiti indica la porta 11443.</p>
<p>Apri da un qualsiasi browser il seguente link:</p>
<p><strong>https://IP_DEL_SERVER:11443</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/inst-unifiosserver-ubuntu-01.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123186 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/inst-unifiosserver-ubuntu-01-1024x691.png" alt="" width="1024" height="691" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/inst-unifiosserver-ubuntu-01-1024x691.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/03/inst-unifiosserver-ubuntu-01-980x661.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/03/inst-unifiosserver-ubuntu-01-480x324.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Accettare l’eventuale avviso del certificato e completare il wizard.</p>
<p>&nbsp;</p>
<h3><strong>RIMOZIONE DI UNIFI OS SERVER</strong></h3>
<p>Di seguito una sequenza completa per rimuovere i residui di UniFi OS Server, compresi servizio, processi, container, binari, utente e gruppo uosserver.</p>
<p>Eseguire tutti i comandi come root oppure con sudo.</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl stop uosserver 2&gt;/dev/null || true
sudo systemctl disable uosserver 2&gt;/dev/null || true
sudo pkill -f uosserver || true
sudo pkill -u uosserver 2&gt;/dev/null || true

podman rm -f $(podman ps -aq) 2&gt;/dev/null || true
podman image prune -a -f 2&gt;/dev/null || true

sudo rm -f /usr/local/bin/uosserver
sudo rm -f /etc/systemd/system/uosserver.service
sudo systemctl daemon-reload

sudo rm -rf /var/log/uosserver
sudo rm -rf /var/lib/uosserver
sudo rm -rf /opt/uosserver
sudo rm -rf /usr/local/share/uosserver
sudo rm -rf /home/uosserver

sudo userdel -r uosserver 2&gt;/dev/null || sudo userdel uosserver 2&gt;/dev/null || true
sudo groupdel uosserver 2&gt;/dev/null || true

sudo cp /etc/passwd /etc/passwd.bak
sudo cp /etc/shadow /etc/shadow.bak
sudo cp /etc/group /etc/group.bak
sudo cp /etc/gshadow /etc/gshadow.bak

sudo sed -i '/^uosserver:/d' /etc/passwd
sudo sed -i '/^uosserver:/d' /etc/shadow
sudo sed -i '/^uosserver:/d' /etc/group
sudo sed -i '/^uosserver:/d' /etc/gshadow

getent passwd uosserver
getent group uosserver
id uosserver
grep '^uosserver:' /etc/passwd /etc/shadow /etc/group /etc/gshadow</pre><p>Al termine dell&#8217;esecuzione dei comandi se è andato tutto a buon fine dovremmo visualizzare il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">nessun output per getent</pre><p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.raffaelechiatto.com/installazione-e-configurazione-base-di-unifi-os-server-su-ubuntu-server-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installazione di AWX su K3S con l’utilizzo di Rancher</title>
		<link>https://www.raffaelechiatto.com/installazione-di-awx-su-k3s-con-lutilizzo-di-rancher/</link>
					<comments>https://www.raffaelechiatto.com/installazione-di-awx-su-k3s-con-lutilizzo-di-rancher/#respond</comments>
		
		<dc:creator><![CDATA[Raffaele Chiatto]]></dc:creator>
		<pubDate>Wed, 06 May 2026 06:37:29 +0000</pubDate>
				<category><![CDATA[Ansible AWX]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Rancher]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[awx]]></category>
		<category><![CDATA[Helm]]></category>
		<category><![CDATA[k3s]]></category>
		<category><![CDATA[rancher]]></category>
		<category><![CDATA[Traefik]]></category>
		<guid isPermaLink="false">https://www.raffaelechiatto.com/?p=1123129</guid>

					<description><![CDATA[&#160; Negli ultimi anni l’automazione dell’infrastruttura è diventata un elemento fondamentale per semplificare la gestione degli ambienti IT, migliorare la coerenza delle configurazioni e ridurre i tempi operativi. In questo contesto AWX la versione open source di Ansible Tower rappresenta una soluzione particolarmente interessante per centralizzare playbook, job template, credenziali e workflow di automazione attraverso [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-1091057 alignnone" src="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/DIFFICULT-BAR.png" alt="" width="679" height="89" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/DIFFICULT-BAR.png 679w, https://www.raffaelechiatto.com/wp-content/uploads/2020/12/DIFFICULT-BAR-480x63.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 679px, 100vw" /></p>
<p>&nbsp;</p>
<p>Negli ultimi anni l’automazione dell’infrastruttura è diventata un elemento fondamentale per semplificare la gestione degli ambienti IT, migliorare la coerenza delle configurazioni e ridurre i tempi operativi.</p>
<p>In questo contesto AWX la versione open source di Ansible Tower rappresenta una soluzione particolarmente interessante per centralizzare playbook, job template, credenziali e workflow di automazione attraverso un’interfaccia web intuitiva.</p>
<p>Allo stesso tempo l’adozione di distribuzioni Kubernetes leggere come K3S ha reso possibile eseguire workload containerizzati anche in ambienti più snelli, di laboratorio o edge, senza rinunciare ai vantaggi dell’orchestrazione.</p>
<p>Se a questo aggiungiamo Rancher, otteniamo un livello ulteriore di semplificazione nella gestione del cluster grazie a una console centralizzata e a strumenti pratici per il deployment e il monitoraggio delle applicazioni.</p>
<p>In questo articolo vedremo come eseguire l’installazione di AWX su K3S utilizzando Rancher analizzando i prerequisiti, i componenti necessari e i passaggi principali per arrivare a una piattaforma di automazione funzionante, moderna e facilmente amministrabile.</p>
<p>L’obiettivo è costruire un ambiente solido e replicabile utile sia per test che per scenari più strutturati.</p>
<p>&nbsp;</p>
<h3><strong>PREREQUISITI</strong></h3>
<p>Un server Ubuntu 24.04 con queste caratterstiche:</p>
<ul>
<li>almeno 4 vCPU / 8 GB RAM come minimo pratico;</li>
<li>meglio 8 vCPU / 16 GB RAM se vuoi usare Rancher + AWX senza sofferenze</li>
</ul>
<p>un FQDN</p>
<p>porte aperte: 22, 80, 443</p>
<p>un utente con privilegi di sudo</p>
<p>Per Rancher su K3s conviene scegliere una versione Kubernetes supportata.</p>
<p>La matrice Rancher corrente indica supporto per K3s da v1.32 a v1.34, quindi in questa guida fisserò una release K3s v1.32.x per stare in zona sicura.</p>
<p>&nbsp;</p>
<h3><strong>AGGIORNAMENTO DI UBUNTU E INSTALLAZIONE DEGLI STRUMENTI BASE</strong></h3>
<p>Aggiornare Ubuntu con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt update &amp;&amp; sudo apt -y upgrade
sudo apt -y install curl wget git vim jq apt-transport-https ca-certificates gnupg lsb-release</pre><p>Controllare l’IP del server con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">hostname -I</pre><p>Supponiamo che l’IP sia 192.168.1.50.</p>
<p>Per il laboratorio puoi usare questi hostnames:</p>
<p><strong>rancher.test.lab &#8211; 192.168.1.50</strong></p>
<p><strong>awx.test.lab &#8211; 192.168.1.50</strong></p>
<p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI K3S</strong></h3>
<p>Rancher documenta l’installazione di K3s con cluster-init anche su singolo nodo, così mantieni una via semplice verso una futura migrazione HA.</p>
<p>K3s installa anche i link a kubectl di default se non già presenti nel PATH.</p>
<p>Installare K3s fissando una release supportata con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.32.6+k3s1" sh -s - server --cluster-init</pre><p>Verificare che tutto sia ok con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl status k3s --no-pager
sudo kubectl get nodes -o wide
sudo kubectl get pods -A</pre><p>Configurare il <strong>kubeconfig</strong> per il tuo utente con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config
export KUBECONFIG=~/.kube/config
echo 'export KUBECONFIG=~/.kube/config' &gt;&gt; ~/.bashrc</pre><p>Verificare i nodi con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get nodes</pre><p>Dovremmo visualizzare un output simile al seguente:</p><pre class="urvanov-syntax-highlighter-plain-tag">NAME STATUS ROLES AGE VERSION
vm-srv-ubu-awx Ready control-plane,etcd,master 76s v1.32.6+k3s1</pre><p>&nbsp;</p>
<h3><strong>CONTROLLO DI TRAEFIK E DELLO STORAGE CLASS</strong></h3>
<p>K3s include di default l’ingress controller. Per Rancher non serve installarne uno extra su K3s.</p>
<p>Verificare che Traefik sia presente con i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get pods -n kube-system | grep traefik
kubectl get svc -n kube-system</pre><p>Verificare lo storage class di default con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get storageclass</pre><p>Su K3s normalmente trovi local-path come default sufficiente per una AWX con database interno in ambiente lab.</p>
<p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI HELM</strong></h3>
<p>Rancher richiede Helm 3.</p>
<p>Eseguire i comandi per installare Helm:</p><pre class="urvanov-syntax-highlighter-plain-tag">curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod +x get_helm.sh
sudo ./get_helm.sh
helm version</pre><p>Dovremmo visualizzare il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">version.BuildInfo{Version:"v3.20.0", GitCommit:"b2e4314fa0f229a1de7b4c981273f61d69ee5a59", GitTreeState:"clean", GoVersion:"go1.25.6"}</pre><p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI CERT-MANAGER</strong></h3>
<p>La documentazione cert-manager raccomanda l’installazione via chart Helm/OCI e con crds.enabled=true.</p>
<p>La release indicata nella documentazione corrente è v1.19.4.</p>
<p>Eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">helm install cert-manager oci://quay.io/jetstack/charts/cert-manager \
--version v1.19.4 \
--namespace cert-manager \
--create-namespace \
--set crds.enabled=true</pre><p>Aspettare che sia pronto quindi eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl rollout status deployment -n cert-manager cert-manager
kubectl rollout status deployment -n cert-manager cert-manager-webhook
kubectl rollout status deployment -n cert-manager cert-manager-cainjector
kubectl get pods -n cert-manager</pre><p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI RANCHER</strong></h3>
<p>Rancher si installa via Helm nel namespace cattle-system esposto tramite Ingress HTTPS.</p>
<p>Il chart supporta opzioni come bootstrapPassword, hostname e ingress.tls.source.</p>
<p>Aggiungere il repository e creare il namespace con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
helm repo update
kubectl create namespace cattle-system</pre><p>Opzione più semplice per lab: certificato generato da Rancher</p>
<p>Usa ingress.tls.source=rancher che è il default del chart Rancher. Il chart supporta anche bootstrapPassword.</p>
<p>Eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">helm upgrade --install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.192.168.1.50.sslip.io \
--set bootstrapPassword='AdminTemp!2026' \
--set replicas=1</pre><p>Dovremmo visualizzare il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">Rancher Server has been installed. Rancher may take several minutes to fully initialize.

Please standby while Certificates are being issued, Containers are started and the Ingress rule comes up.

Check out our docs at https://rancher.com/docs/

## First Time Login

If you provided your own bootstrap password during installation, browse to https://rancher.mypsx.net to get started.
If this is the first time you installed Rancher, get started by running this command and clicking the URL it generates:

```
echo https://rancher.mypsx.net/dashboard/?setup=$(kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}')
```

To get just the bootstrap password on its own, run:

```
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{ "\n" }}'
```

Happy Containering!</pre><p>A questo punto eseguire il rollout con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl rollout status deployment -n cattle-system rancher
kubectl get pods -n cattle-system
kubectl get ingress -n cattle-system</pre><p>Controllare l’URL di bootstrap con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">echo "https://rancher.192.168.1.50.test.lab/dashboard/?setup=$(kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}')"</pre><p>&nbsp;</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-01.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123137 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-01-1024x492.png" alt="" width="1024" height="492" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-01-980x471.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-01-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Aprire l&#8217;URL nel browser. Al primo accesso accettare il certificato self-signed quindi inserire la password</p>
<p>Cliccare su <strong>Login with Local User</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-02.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123138 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-02-1024x487.png" alt="" width="1024" height="487" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-02-980x466.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-02-480x228.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Inserire l’URL del server corretto</p>
<p>Rancher richiede HTTPS e la sua documentazione mostra hostname come parametro fondamentale del chart.</p>
<p>Cliccare <strong>Continue</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-03.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123141 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-03-1024x492.png" alt="" width="1024" height="492" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-03-980x471.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-03-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Se tutto è andato bene dovremmo visualizzare la Dashboard del Rancher</p>
<p>Quando si accede in Rancher la prima cosa che si vede è il cluster locale.</p>
<p>Questo cluster può ospitare anche AWX.</p>
<p>Per un lab va bene usare il local cluster.</p>
<p>In produzione di solito si separa il cluster di management da quello dei workload.</p>
<p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI AWX OPERATOR</strong></h3>
<p>L’AWX Operator si installa nel cluster e gestisce il ciclo di vita di AWX nello stesso namespace.</p>
<p>L’installazione ufficiale base usa Kustomize con una kustomization.yaml che punta al tag dell’operator.</p>
<p>Creare il namespace con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl create namespace awx</pre><p>Creare una cartella di lavoro con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">mkdir -p ~/awx-operator-install
cd ~/awx-operator-install</pre><p>Creare <strong>kustomization.yaml</strong> con il comando:</p>
<p><strong>NOTA BENE</strong>: Consiglio di usare un tag esplicito invece del branch devel. La doc ufficiale mostra proprio questo schema con <strong>github.com/ansible/awx-operator/config/default?ref=&lt;tag&gt;</strong>.</p><pre class="urvanov-syntax-highlighter-plain-tag">cat &gt; kustomization.yaml &lt;&lt;'EOF'
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- github.com/ansible/awx-operator/config/default?ref=2.7.2

images:
- name: quay.io/ansible/awx-operator
newTag: 2.7.2

namespace: awx
EOF</pre><p>Applicare con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl apply -k .</pre><p>Verificare con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get pods -n awx
kubectl get deployments -n awx
kubectl get crd | grep awx</pre><p>Dovremmo vedere il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get pods -n awx
kubectl get deployments -n awx
kubectl get crd | grep awx
NAME READY STATUS RESTARTS AGE
awx-operator-controller-manager-59669d4d4-6wcck 0/2 ErrImagePull 0 20s
NAME READY UP-TO-DATE AVAILABLE AGE
awx-operator-controller-manager 0/1 1 0 20s
awxbackups.awx.ansible.com 2026-03-08T16:54:22Z
awxrestores.awx.ansible.com 2026-03-08T16:54:22Z
awxs.awx.ansible.com 2026-03-08T16:54:22Z
root@vm-srv-ubu-awx:~/awx-operator-install# kubectl get pods -n awx
NAME READY STATUS RESTARTS AGE
awx-operator-controller-manager-59669d4d4-6wcck 1/2 ImagePullBackOff 0 36s
root@vm-srv-ubu-awx:~/awx-operator-install# kubectl get deployments -n awx
NAME READY UP-TO-DATE AVAILABLE AGE
awx-operator-controller-manager 0/1 1 0 44s
root@vm-srv-ubu-awx:~/awx-operator-install# kubectl get crd | grep awx
awxbackups.awx.ansible.com 2026-03-08T16:54:22Z
awxrestores.awx.ansible.com 2026-03-08T16:54:22Z
awxs.awx.ansible.com 2026-03-08T16:54:22Z</pre><p>&nbsp;</p>
<h3><strong>CREAZIONE DI AWX</strong></h3>
<p>L’operator supporta servizi ClusterIP, LoadBalancer e NodePort; per ingress di default non crea nulla finché non imposti ingress_type.</p>
<p>Supporta ingress_type: ingress e campi come ingress_class_name, ingress_hosts, ingress_annotations.</p>
<p>Di seguito riporto una configurazione pulita con:</p>
<ul>
<li>service interno ClusterIP</li>
<li>Ingress gestito da Traefik</li>
<li>hostname dedicato</li>
<li>storage class local-path</li>
<li>admin password predefinita in Secret</li>
<li>Crea la password admin</li>
</ul>
<p>La documentazione AWX chiarisce che <strong>admin_password_secret</strong> deve essere un Secret Kubernetes; se non lo si passa, l’operator genera <strong>&lt;resourcename&gt;-admin-password</strong>.</p>
<p>Eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">cat &gt; awx-admin-secret.yaml &lt;&lt;'EOF'
apiVersion: v1
kind: Secret
metadata:
name: awx-admin-password
namespace: awx
stringData:
password: "AwxAdmin!2026"
EOF</pre><p>Applicare con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl apply -f awx-admin-secret.yaml</pre><p>Creare il manifest di AWX con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">cat &gt; awx.yaml &lt;&lt;'EOF'
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx
namespace: awx
spec:
admin_user: admin
admin_email: admin@example.local
admin_password_secret: awx-admin-password

service_type: ClusterIP

ingress_type: ingress
ingress_class_name: traefik
ingress_annotations: |
kubernetes.io/ingress.class: traefik
ingress_hosts:
- hostname: awx.mypsx.net

projects_persistence: true
projects_storage_class: local-path
projects_storage_size: 5Gi

postgres_storage_class: local-path
postgres_storage_requirements:
requests:
storage: 8Gi

web_resource_requirements:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 1
memory: 2Gi

task_resource_requirements:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 1
memory: 2Gi
EOF</pre><p>Applicare con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl apply -f awx.yaml</pre><p>Controllare l’avanzamento con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get pods -n awx -w</pre><p>Quando i pod sono pronti eseguire i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get awx -n awx
kubectl get svc -n awx
kubectl get ingress -n awx
kubectl get pvc -n awx</pre><p>&nbsp;</p>
<h3><strong>RECUPERARE LA PASSWORD DI AWX</strong></h3>
<p>Se hai usato il Secret che ti ho fatto creare in precedenza la password è già quella impostata.</p>
<p>In ogni caso la doc ufficiale AWX indica che la password è leggibile dal secret &lt;resourcename&gt;-admin-password.</p>
<p>Nel nostro caso eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl get secret awx-admin-password -n awx -o jsonpath="{.data.password}" | base64 --decode ; echo</pre><p>Aprire quindi il seguente link da qun qualsiasi browser:</p>
<p><strong>http://awx.mypsx.net</strong></p>
<p>oppure se il tuo ingress forza HTTPS in base alla configurazione del controller/certificato aprire il seguente link:</p>
<p><strong>https://awx.mypsx.net</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-04.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123142 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-04-1024x489.png" alt="" width="1024" height="489" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-04-980x468.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/03/install-awx-rancher-ks3-04-480x229.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Se è tutto corretto dovremmo visualizzare la pagina di accesso di AWX</p>
<p>&nbsp;</p>
<h3><strong>AWX NON RISPONDE SUBITO: COSA FARE?</strong></h3>
<p>Controlli rapidi da eseguire:</p><pre class="urvanov-syntax-highlighter-plain-tag">kubectl describe awx awx -n awx
kubectl logs -n awx deployment/awx-operator-controller-manager
kubectl get events -n awx --sort-by=.metadata.creationTimestamp
kubectl describe ingress -n awx
kubectl describe pvc -n awx</pre><p>I problemi più comuni sono questi:</p>
<p><strong>hostname non risolto</strong>: verifica ping awx.test.lab</p>
<p><strong>pod postgres in errore</strong>: quasi sempre storage/PVC</p>
<p><strong>Ingress creato ma la pagina non si apre</strong>: verificare che Traefik sia attivo in kube-system</p>
<p><strong>AWX ancora Progressing</strong>: aspettare qualche minuto, il primo deploy scarica molte immagini e ci va tempo</p>
<p>&nbsp;</p>
<h3><strong>AGGIORNAMENTI FUTURI</strong></h3>
<p><strong>K3s</strong>: usa una versione supportata dalla matrice Rancher prima di aggiornare Rancher o Kubernetes.</p>
<p><strong>cert-manager</strong>: aggiornalo con Helm, mantenendo una release supportata.</p>
<p><strong>AWX Operator:</strong> usa tag espliciti e non devel in produzione/lab stabile. La doc base dell’operator è proprio costruita attorno al concetto di tag/versione.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.raffaelechiatto.com/installazione-di-awx-su-k3s-con-lutilizzo-di-rancher/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installazione e Configurazione Completa di un Server AI su Intel N100 con Ollama utilizzando Open-WebUI e Agent RAG</title>
		<link>https://www.raffaelechiatto.com/installazione-e-configurazione-completa-di-un-server-ai-su-intel-n100-con-ollama-utilizzando-open-webui-e-agent-rag/</link>
					<comments>https://www.raffaelechiatto.com/installazione-e-configurazione-completa-di-un-server-ai-su-intel-n100-con-ollama-utilizzando-open-webui-e-agent-rag/#respond</comments>
		
		<dc:creator><![CDATA[Angelo Lauria]]></dc:creator>
		<pubDate>Mon, 04 May 2026 05:56:39 +0000</pubDate>
				<category><![CDATA[Ollama]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[ollama]]></category>
		<category><![CDATA[open-webui]]></category>
		<category><![CDATA[rag]]></category>
		<guid isPermaLink="false">https://www.raffaelechiatto.com/?p=1123057</guid>

					<description><![CDATA[&#160; In questa guida vedremo come installare e configurare un Server AI completo e replicabile basato su Ubuntu 24.04 LTS e hardware Intel N100, ottimizzato per ambienti domestici o piccoli laboratori IT. ARCHITETTURA E PREREQUISITI L’infrastruttura prevede: Ollama per l’esecuzione dei modelli LLM locali Open-WebUI come interfaccia web moderna stile ChatGPT Agent AI (RAG Server) [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-1091058 alignnone" src="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR.png" alt="" width="679" height="89" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR.png 679w, https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR-480x63.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 679px, 100vw" /></p>
<p>&nbsp;</p>
<p>In questa guida vedremo come installare e configurare un Server AI completo e replicabile basato su Ubuntu 24.04 LTS e hardware Intel N100, ottimizzato per ambienti domestici o piccoli laboratori IT.</p>
<h3></h3>
<h3><strong>ARCHITETTURA E PREREQUISITI</strong></h3>
<p>L’infrastruttura prevede:</p>
<p>Ollama per l’esecuzione dei modelli LLM locali<br />
Open-WebUI come interfaccia web moderna stile ChatGPT<br />
Agent AI (RAG Server) per estendere le funzionalità con documenti, embedding e automazioni<br />
Nginx con HTTPS per un accesso sicuro<br />
Ottimizzazioni CPU, RAM (zram), LVM e hardening di base<br />
La guida è completamente replicabile, strutturata passo-passo e pensata per ottenere un sistema:<br />
Performante anche su hardware a basso consumo e Sicuro (zero porte AI esposte)</p>
<p>Pronto per utilizzo personale o laboratorio professionale</p>
<p>Al termine avrai un’infrastruttura AI locale stabile, organizzata e pronta per essere integrata nella tua rete (anche su VLAN dedicata).</p>
<p>Base: Ubuntu 24.04 LTS minimal<br />
Hardware: Intel N100 – 16/32GB RAM – NVMe</p>
<p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DEL SISTEMA BASE</strong></h3>
<p>Aggiornamento sistema</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y</pre><p></p>
<h3></h3>
<h3><strong>OTTIMIZZAZIONE N100</strong></h3>
<p>Governor performance</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt install cpufrequtils -y
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils</pre><p>&nbsp;</p>
<h3><strong>ZRAM</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt install zram-tools -y
sudo nano /etc/default/zramswap</pre><p>Impostare la percentuale della memoria adeguata (es 50%)</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl restart zramswap</pre><p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DOCKER</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp docker</pre><p>&nbsp;</p>
<h3><strong>INSTALLAZIONE OLLAMA</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">curl -fsSL https://ollama.com/install.sh | sh</pre><p>Procedere con l&#8217;Hardening Ollama:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl edit ollama</pre><p>Inserire il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">ini
[Service]
Environment="OLLAMA_NO_CLOUD=true"
Environment="OLLAMA_HOST=127.0.0.1"
Environment="OLLAMA_NUM_PARALLEL=1"
Environment="OLLAMA_MAX_QUEUE=8"
Environment="OLLAMA_KEEP_ALIVE=5m"</pre><p>Poi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo systemctl daemon-reload
sudo systemctl restart ollama</pre><p>Scaricare i modelli consigliati</p><pre class="urvanov-syntax-highlighter-plain-tag">ollama pull phi3
ollama pull mistral
ollama pull deepseek-coder:6.7b-instruct-q4_K_M
ollama pull nomic-embed-text</pre><p>&nbsp;</p>
<h3><strong>INSTALLAZIONE OPEN-WEBUI</strong></h3>
<p>Creare una cartella persistente con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo mkdir -p /data-ai/openwebui
sudo chown -R $USER:$USER /data-ai</pre><p>Avviare il container sicuro con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">docker run -d --name open-webui -p 127.0.0.1:3000:8080 -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -e CORS_ALLOW_ORIGIN=https://ai.local -v /data-ai/openwebui:/app/backend/data --restart always ghcr.io/open-webui/open-webui:main</pre><p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI NGINX PER HTTPS</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">sudo apt install nginx -y
sudo mkdir -p /etc/nginx/ssl</pre><p>Generare un certificato self-signed con i seguenti comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo openssl req -x509 -nodes -days 3650 -newkey rsa:4096 \
-keyout /etc/nginx/ssl/ai.key \
-out /etc/nginx/ssl/ai.crt</pre><p>Procedere con la configurazione del vhost:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo nano /etc/nginx/sites-available/ai</pre><p>Contenuto completo da copiare all&#8217;interno del file di configurazione:</p><pre class="urvanov-syntax-highlighter-plain-tag">nginx
server {
listen 80;
server_name ai.local;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name ai.local;

ssl_certificate /etc/nginx/ssl/ai.crt;
ssl_certificate_key /etc/nginx/ssl/ai.key;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
server_tokens off;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $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;
}
}</pre><p>Attivare il sito con i comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo ln -s /etc/nginx/sites-available/ai /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx</pre><p>&nbsp;</p>
<h3><strong>FIREWALL BASE</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 443/tcp
sudo ufw allow from 192.168.3.0/24 to any port 22
sudo ufw enable</pre><p>&nbsp;</p>
<h3><strong>VERIFICA FINALE</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">ss -tulnp</pre><p>Deve risultare:</p><pre class="urvanov-syntax-highlighter-plain-tag">0.0.0.0:443
0.0.0.0:80
0.0.0.0:22
127.0.0.1:3000
127.0.0.1:11434</pre><p>&nbsp;</p>
<h3><strong>BACKUP CONFIGURAZIONE</strong></h3>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">sudo mkdir -p /data-ai/backups

sudo tar -czf /data-ai/backups/ai_stack_backup_$(date +%F).tar.gz /etc/nginx /etc/systemd/system/ollama.service.d /data-ai /home/$USER/.ollama</pre><p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.raffaelechiatto.com/installazione-e-configurazione-completa-di-un-server-ai-su-intel-n100-con-ollama-utilizzando-open-webui-e-agent-rag/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installazione e Configurazione Base di Nutanix Community Edition (CE) 2.1 su VmWare ESXi 8</title>
		<link>https://www.raffaelechiatto.com/installazione-e-configurazione-base-di-nutanix-community-edition-ce-2-1-su-vmware-esxi-8/</link>
					<comments>https://www.raffaelechiatto.com/installazione-e-configurazione-base-di-nutanix-community-edition-ce-2-1-su-vmware-esxi-8/#respond</comments>
		
		<dc:creator><![CDATA[Raffaele Chiatto]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 06:38:21 +0000</pubDate>
				<category><![CDATA[Nutanix]]></category>
		<category><![CDATA[VmWare]]></category>
		<category><![CDATA[nested]]></category>
		<category><![CDATA[nutanix]]></category>
		<category><![CDATA[virtualizzazione]]></category>
		<category><![CDATA[vmware]]></category>
		<guid isPermaLink="false">https://www.raffaelechiatto.com/?p=1123001</guid>

					<description><![CDATA[&#160; Negli ultimi anni l’infrastruttura iperconvergente (HCI) è diventata uno standard di riferimento per chi desidera ambienti IT più semplici, scalabili e performanti. Tra le soluzioni più interessanti in questo ambito troviamo Nutanix Community Edition (CE) 2.1, la versione gratuita pensata per laboratori, test e ambienti di apprendimento. Installare Nutanix CE su VMware ESXi 8 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-1091058 alignnone" src="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR.png" alt="" width="679" height="89" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR.png 679w, https://www.raffaelechiatto.com/wp-content/uploads/2020/12/ADVANCED-BAR-480x63.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 679px, 100vw" /></p>
<p>&nbsp;</p>
<p>Negli ultimi anni l’infrastruttura iperconvergente (HCI) è diventata uno standard di riferimento per chi desidera ambienti IT più semplici, scalabili e performanti.</p>
<p>Tra le soluzioni più interessanti in questo ambito troviamo Nutanix Community Edition (CE) 2.1, la versione gratuita pensata per laboratori, test e ambienti di apprendimento.</p>
<p>Installare Nutanix CE su VMware ESXi 8 rappresenta un’ottima opportunità per sperimentare concretamente le funzionalità della piattaforma Nutanix senza dover disporre di hardware dedicato.</p>
<p>Grazie alla virtualizzazione nested, è possibile creare un laboratorio completo direttamente sopra ESXi, ideale per amministratori di sistema, consulenti IT e appassionati che vogliono approfondire il funzionamento di AOS, Prism e dei principali componenti dell’ecosistema Nutanix.</p>
<p>In questo articolo vedremo passo dopo passo come installare e configurare correttamente Nutanix Community Edition 2.1 su VMware ESXi 8, partendo dai prerequisiti fino alla prima configurazione base del cluster, con suggerimenti pratici per evitare gli errori più comuni e ottenere un ambiente stabile e funzionante sin dal primo avvio.</p>
<p>&nbsp;</p>
<h3><strong>PREREQUISITI</strong></h3>
<p>I requisiti per Nutanix CE sono:</p>
<p>Minimo 32GB di memoria<br />
Minimo 4 core CPU<br />
Minimo 64GB di Boot Disk<br />
Minimo 200GB di disco Hot Tier<br />
Minimo 500GB di disco cold Tier</p>
<p>Download della ISO Nutanix Community Edition al seguente link:</p>
<p><a href="https://next.nutanix.com/discussion-forum-14/download-community-edition-38417" target="_blank" rel="noopener">Download Nutanix Community Edition</a></p>
<p><strong>ATTENZIONE</strong>: per scaricare la ISO è necessaria la registrazione con una mail aziendale</p>
<p>&nbsp;</p>
<h3><strong>CREAZIONE E CONFIGURAZIONE DELLA VM SU VSPHERE</strong></h3>
<p>Accedere al vCenter o all&#8217;host ESXi singolo quindi selezionare <strong>New Virtual Machine</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-01.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123020 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-01-1024x683.png" alt="" width="1024" height="683" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-01-1024x683.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-01-980x653.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-01-480x320.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Selezionare l&#8217;opzione <strong>Create a new virtual machine</strong> quindi cliccare <strong>Next</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-02.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123021 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-02-1024x680.png" alt="" width="1024" height="680" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-02-1024x680.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-02-980x651.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-02-480x319.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Inserire il nome della VM, scegliere la location quindi cliccare <strong>Next</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-03.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123022 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-03-1024x680.png" alt="" width="1024" height="680" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-03-1024x680.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-03-980x651.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-03-480x319.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Selezionare l&#8217;Host quindi cliccare <strong>Next</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-04.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123023 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-04-1024x679.png" alt="" width="1024" height="679" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-04-1024x679.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-04-980x650.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-04-480x318.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Selezionare il Datastore quindi cliccare <strong>Next</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-05.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123024 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-05-1024x681.png" alt="" width="1024" height="681" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-05-1024x681.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-05-980x652.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-05-480x319.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Selezionare la compatibilità quindi cliccare <strong>Next</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-06.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123025 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-06-1024x680.png" alt="" width="1024" height="680" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-06-1024x680.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-06-980x650.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-06-480x319.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Configurare i seguenti parametri come di seguito:</p>
<p><strong>Guest OS Family</strong>: Linux</p>
<p><strong>Guest OS Version</strong>: CentOS 7 (64-bit)</p>
<p>Cliccare <strong>Next</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123026 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07-1024x681.png" alt="" width="1024" height="681" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07-1024x681.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07-980x652.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07-480x319.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Impostare l&#8217;Hardware della VM come da Prerequisiti quindi agganciare la ISO di Nutanix CE. Cliccare <strong>Next</strong></p>
<p><strong>ATTENZIONE</strong>: dato che è un installazione Nested è indispensabile attivare l&#8217;opzione relativa alla <strong>CPU Expose hardware assisted virtualization to the guest OS</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07a.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123027 size-full" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07a.png" alt="" width="778" height="782" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07a.png 778w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-07a-480x482.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 778px, 100vw" /></a></p>
<p>Selezionare l&#8217;opzione CPU <strong>Expose hardware assisted virtualization to the guest OS</strong> quindi cliccare <strong>OK</strong></p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123028 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08-1024x677.png" alt="" width="1024" height="677" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08-1024x677.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08-980x648.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08-480x317.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Leggere il riepilogo quindi cliccare <strong>Finish</strong> per terminare la creazione della VM</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08a.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123029 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08a-1024x627.png" alt="" width="1024" height="627" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08a-1024x627.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08a-980x600.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-08a-480x294.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Selezionare l&#8217;Host dove abbiamo creato la Vm quindi <strong>vSwitch → Security → Edit</strong></p>
<p>Sul Virtual Switch dove è collegata la VM è necessario abilitare:</p>
<p><strong>Promiscuous Mode → Accept</strong></p>
<p><strong>MAC Address Changes → Accept</strong></p>
<p><strong>Forged Transmits → Accept</strong></p>
<p>Al termine avviare la VM</p>
<p>&nbsp;</p>
<h3><strong>INSTALLAZIONE DI NUTANIX</strong></h3>
<p>Dopo aver avviato la VM attendere la schermata di configurazione</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-09.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123030 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-09-1024x764.png" alt="" width="1024" height="764" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-09-1024x764.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-09-980x731.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-09-480x358.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>In questa fase è indispensabile definire:</p>
<ul>
<li><strong>Disk Selection:</strong> il disco dove andremo ad installare Nutanix</li>
<li><strong>Host IP Address</strong>: AHV (Acropolis Hypervisor) è l’hypervisor di Nutanix. Lo si utilizza per l&#8217;Accesso SSH all’host, per la Gestione di basso livello e per il Troubleshooting tecnico</li>
<li><strong>CVM IP Address</strong>: CVM (Controller Virtual Machine) è una VM speciale che gira sopra AHV. Il CVM si occupa di:</li>
</ul>
<p>Storage distribuito (Nutanix Distributed Storage Fabric)</p>
<ul>
<li>Replica dati</li>
<li>Compressione e deduplicazione</li>
<li>Gestione del cluster</li>
<li>Servizi di storage per tutte le VM</li>
</ul>
<p>Quindi cliccare <strong>Next Page</strong> per proseguire</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-10.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123031 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-10-1024x767.png" alt="" width="1024" height="767" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-10-1024x767.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-10-980x734.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-10-480x359.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Accettare l&#8217;EULA quindi cliccare <strong>Start</strong></p>
<p><strong>ATTENZIONE</strong>: scrollare fino in fondo il testo della licenza altrimenti l&#8217;installazione andrà in errore</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-11.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123032 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-11-1024x723.png" alt="" width="1024" height="723" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-11-1024x723.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-11-980x692.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-11-480x339.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Attendere qualche minuto fino al termine dell&#8217;installazione</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-12.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123033 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-12-1024x745.png" alt="" width="1024" height="745" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-12-1024x745.png 1024w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-12-980x713.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-12-480x349.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Rimuovere la ISO dalla VM quindi premre <strong>Y</strong> per riavviare il server</p>
<p>Poiché non abbiamo specificato i server DNS durante la creazione del cluster, Community Edition configurerà due server DNS di Google.</p>
<p>&nbsp;</p>
<h3><strong>CONFIGURAZIONE DEL CLUSTER</strong></h3>
<p>Accedere in SSH al Controller Virtual Machine (CVM)</p>
<p>Le credenziali di accesso sono:</p>
<p><strong>USER:</strong> nutanix</p>
<p><strong>PASSWORD</strong>: nutanix/4u</p>
<p>Verificare lo stato del cluster con il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">cluster status</pre><p>Dovremmo visualizzare il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">863Z CRITICAL MainThread cluster:3241 Cluster is currently unconfigured. Please create the cluster.</pre><p>Questo messaggio vuol dire che Nutanix CE è installato ma il cluster non è stato ancora creato.</p>
<p>Per creare il cluster eseguire il comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">cluster -s IP_CVM create</pre><p><strong>NOTA BENE</strong>: al posto di IP_CVM inserire l&#8217;IP</p>
<p>A questo punto attendere dai 5 ai 10 minuti fin quando non visualizziamo il seguente output:</p><pre class="urvanov-syntax-highlighter-plain-tag">The state of the cluster: start
Lockdown mode: Disabled

CVM: 192.168.80.30 Up, ZeusLeader
Xmount UP [67112, 67311, 67312, 67364]
IkatProxy UP [66890, 67063, 67064, 67065]
Zeus UP [62547, 62606, 62607, 62608, 62617, 62635]
Scavenger UP [67121, 67358, 67359, 67360]
SysStatCollector UP [72320, 72450, 72451, 72452]
IkatControlPlane UP [72497, 72632, 72633, 72634]
SSLTerminator UP [72543, 72918, 72919]
SecureFileSync UP [73035, 73425, 73426, 73427]
Medusa UP [76451, 76594, 76595, 76608, 76940]
DynamicRingChanger UP [81714, 81831, 81832, 81878]
Pithos UP [81767, 81980, 81981, 81995]
InsightsDB UP [81861, 82101, 82102, 82117]
Athena UP [82039, 82283, 82284, 82285]
Mercury UP [82109, 82410, 82411, 82427]
Mantle UP [82436, 83305, 83306, 83342]
VipMonitor UP [84502, 84503, 84504, 84505, 84512]
Stargate UP [84708, 84993, 84994, 85053, 85054]
InsightsDataTransfer UP [85983, 86901, 86902, 86924, 86925, 86926, 86927, 86928, 86929]
GoErgon UP [86486, 87087, 87088, 87102]
Cerebro UP [86946, 87182, 87183, 87327]
Chronos UP [87097, 87266, 87267, 87320]
Curator UP [87488, 89412, 89413, 89871]
Prism UP [89195, 90404, 90405, 90544, 91212, 91335]
Hera UP [90080, 91028, 91029, 91030]
AlertManager UP [90500, 91141, 91142, 91261]
Arithmos UP [91407, 91715, 91716, 91752]
Catalog UP [91631, 91862, 91863, 91864, 91880]
Acropolis UP [92300, 93155, 93156, 96895]
Castor UP [93282, 94130, 94131, 94170, 94390]
Uhura UP [93378, 94355, 94356, 95233]
NutanixGuestTools UP [94347, 95269, 95270, 95317, 95468]
MinervaCVM UP [102317, 103168, 103169, 103171]
ClusterConfig UP [102778, 103459, 103460, 103461, 103480]
APLOSEngine UP [103370, 103972, 103973, 103975]
APLOS UP [107523, 108515, 108516, 108517]
PlacementSolver UP [108130, 108742, 108743, 108744, 108761]
Lazan UP [108424, 109136, 109137, 109138]
Polaris UP [109259, 110216, 110217, 110416]
Delphi UP [109699, 110725, 110726, 110727, 110748]
Security UP [110843, 111542, 111543, 111545]
Flow UP [111445, 112690, 112691, 112692, 112708]
Anduril UP [112736, 113445, 113446, 113447, 113481]
Narsil UP [113309, 114179, 114180, 114181]
XTrim UP [113492, 114735, 114736, 114738]
ClusterHealth UP [114066, 115634, 116420, 116423, 116431, 116446, 116603, 116604, 116613, 116619, 116620, 116735, 116736, 116743, 116753, 116754, 116755, 116756, 116757, 116766, 116955, 116956, 117043, 117044, 117133, 117134, 117148, 117149]
2026-02-22 11:31:09,341Z INFO MainThread cluster:1745 Running CE cluster post-create script
2026-02-22 11:31:27,377Z INFO MainThread cluster:3465 Success!</pre><p>&nbsp;</p>
<h3><strong>ACCESSO ALLA GUI WEB DI NUTANIX</strong></h3>
<p>Il cluster è accessibile da un qualsiasi browser tramite <strong>https://&lt;cvm_ip&gt;:9440</strong>.</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-13.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123034 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-13-1024x491.png" alt="" width="1024" height="491" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-13-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-13-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Accedere con le seguente credenziali:</p>
<p><strong>USER</strong>: admin</p>
<p><strong>PASSWORD</strong>: nutanix/4u</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-14.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123036 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-14-1024x493.png" alt="" width="1024" height="493" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-14-980x472.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-14-480x231.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Procedere con il cambio password</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-15.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123037 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-15-1024x491.png" alt="" width="1024" height="491" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-15-980x470.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-15-480x230.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Accedere con la nuova password</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-16.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123038 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-16-1024x489.png" alt="" width="1024" height="489" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-16-980x468.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-16-480x229.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Inserire le credenziali creare in fase di registrazione al portale Nutanix</p>
<p><a href="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-17.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-1123039 size-large" src="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-17-1024x482.png" alt="" width="1024" height="482" srcset="https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-17-980x461.png 980w, https://www.raffaelechiatto.com/wp-content/uploads/2026/02/install-nutanix-vmware-17-480x226.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></a></p>
<p>Se abbiamo fatto correttamante dovremmo visualizzare la Dashboard di Nutanix come mostrato nell&#8217;immagine sovrastante</p>
<p>&nbsp;</p>
<h3><strong>CONCLUSIONI</strong></h3>
<p>L’installazione e la configurazione base di Nutanix Community Edition (CE) 2.1 su VMware ESXi 8 rappresentano un’ottima opportunità per approfondire in modo pratico il funzionamento dell’ecosistema Nutanix senza la necessità di disporre di hardware dedicato.</p>
<p>Attraverso pochi passaggi mirati è possibile creare un ambiente di laboratorio funzionale ideale per test, formazione e sperimentazione.</p>
<p>Abbiamo visto come preparare correttamente la macchina virtuale su ESXi configurare le risorse in modo adeguato e completare la fase di bootstrap del cluster.</p>
<p>Una corretta pianificazione iniziale soprattutto in termini di CPU, RAM e storage è fondamentale per garantire stabilità e performance accettabili, anche in un contesto nested.</p>
<p>Nutanix CE 2.1 consente di esplorare funzionalità chiave come AHV, Prism e la gestione dello storage distribuito, offrendo un’esperienza molto vicina a quella di un ambiente enterprise.</p>
<p>Sebbene non sia pensata per ambienti di produzione rimane uno strumento estremamente potente per chi desidera acquisire competenze concrete sull’infrastruttura iperconvergente.</p>
<p>Il passo successivo? Approfondire funzionalità avanzate come la creazione di macchine virtuali su AHV, la gestione delle reti virtuali, snapshot, replica e integrare il laboratorio con altre tecnologie per simulare scenari reali.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.raffaelechiatto.com/installazione-e-configurazione-base-di-nutanix-community-edition-ce-2-1-su-vmware-esxi-8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>