Server Setup · 2 min read · Oct 19, 2025

Esecuzione di HTML::Mason con nginx e FastCGI

Esecuzione di HTML::Mason con nginx e FastCGI

Questo articolo è una guida passo passo per installare il modulo HTML::Mason da utilizzare con il server web ngingx e FastCGI. È stato testato su Debian (lenny), ma dovrebbe essere molto simile su Ubuntu e altre distribuzioni basate su Debian.

Installazione di un server minimale

Prima di tutto installeremo un server minimale con nginx e FastCGI. Ho creato script di base per farlo funzionare. In seguito possiamo personalizzare quegli script.

Installare nginx

Ora installiamo nginx e facciamolo funzionare. Si presume che non ci sia alcun altro server web attivo nell’host. Tutto sarà installato per impostazione predefinita.

apt-get install nginx

Vediamo se funziona telnettando alla porta 80.

/etc/init.d/nginx start  
telnet locahost 80  
Escape character is '^]'  
GET /  
  
  
Benvenuto in ngingx!<title>  
...</code></pre></div><h4 class="text-lg font-bold py-2">Installare FastCGI</h4><div class="code-ui group"><pre class=""><code class="">apt-get install libcgi-fast-perl libio-all-perl</code></pre></div><h4 class="text-lg font-bold py-2">Installare HTML::Mason</h4><p class="">HTML::Mason è supposto aver bisogno di apache2 per funzionare, quindi lo scaricherà e lo installerà. Ci libereremo di esso più tardi.</p><div class="code-ui group"><pre class=""><code class="">apt-get install libhtml-mason-perl  
apt-get --purge remove apache2-mpm-worker apache2-utils  
apt-get --purge autoremove</code></pre></div><p class="">Speriamo che ora abbiamo HTML::Mason installato e nessuna traccia di apache. Assicurati che nginx stia ancora funzionando controllando se risponde ancora sulla porta 80.</p><h4 class="text-lg font-bold py-2">Configurare FastCGI</h4><p class="">Abbiamo bisogno di un server FastCGI in esecuzione affinché possa eseguire il codice HTML::Mason. Questo script scaricherà tutti i file di configurazione e di inizializzazione. Dobbiamo eseguirlo come root. Ti preghiamo di dare un’occhiata prima di eseguirlo. Scarica e copia alcuni file da github. Potrebbe essere pericoloso per il tuo server.</p><div class="code-ui group"><pre class=""><code class="">wget http://github.com/frankiejol/mason-fcgi/raw/master/download.sh  
bash ./download.sh</code></pre></div><p class="">È molto importante cambiare l’opzione server_name in /etc/nginx/sites-available/mason con il vero nome del server. Localhost non funzionerà. Quindi modifica la variabile %SITES in /var/www/mason/mason_fcgi.pl.</p><h4 class="text-lg font-bold py-2">Esecuzione del codice Mason</h4><p class="">Infine, creiamo una semplice pagina Mason.</p><div class="code-ui group"><pre class=""><code class="">mkdir /var/www/site1  
echo '<% 2 + 2 %>' > /var/www/site1/index.html</code></pre></div><p class="">Poi avviamo il servizio. Un 4 dovrebbe apparire se hai collegato il sito con il tuo browser.</p><div class="code-ui group"><pre class=""><code class="">/etc/init.d/nginx restart  
/etc/init.d/fcgi start</code></pre></div><h3 class="text-xl font-bold py-2" id="h2-2">Personalizzare il server</h3><p class="">In questo momento abbiamo un server Mason alimentato da nginx+FastCGI. Tutti i file di configurazione e gli script possono essere trovati nel mio repository github.</p><h4 class="text-lg font-bold py-2">nginx</h4><p class="">La configurazione di nginx si trova in /etc/nginx/sites-available/mason. La posizione può essere modificata per soddisfare le tue esigenze. Nota che ci sono due righe di riscrittura perché Mason non può gestire correttamente le directory. Quindi, quando la richiesta sembra una directory, viene aggiunto un suffisso index.html.</p><h4 class="text-lg font-bold py-2">FastCGI</h4><p class="">Lo script di avvio di FastCGI è /var/www/mason/mason_fcgi.pl. Può essere fornito un insieme di argomenti.</p><div class="code-ui group"><pre class=""><code class="">/var/www/mason/mason_fcgi.pl --help  
mason_fcgi.pl [--help] [--pid=/var/run/fcgi/fcgi.pid] [--log=/var/log/nginx/fcgi/fcgi.log] [--debug] [--socket=/var/run/fcgi/mason_fcgi.sock] [--basedir=/var/www] [--workspace=/var/www/mason/workspace] [--error-uri=/errors/503.html] [--listen-queue=100] [--default-host=debian.localdomain]</code></pre></div><p class="">C’è una sezione per aggiungere il caricamento di moduli Perl e variabili globali. Questo è il codice predefinito:</p><div class="code-ui group"><pre class=""><code class="">{
    package HTML::Mason::Commands;
    # use My::Own::Module;
    # use Data::Dumper;
    # qualsiasi cosa tu voglia disponibile ai componenti                                
    use vars(qw($DBH %stash));
}</code></pre></div><h4 class="text-lg font-bold py-2">Esecuzione di più siti FastCGI</h4><p class="">Il demone FastCGI viene eseguito da /etc/init.d/fcgi. Questo script carica la configurazione da /etc/default/fcgi. Se hai bisogno di più server FastCGI per siti diversi. Basta copiare lo script di inizializzazione con un altro nome e chiamare il file di configurazione allo stesso modo. Lo script di inizializzazione caricherà un file in /etc/default con lo stesso nome di base di se stesso.</p><h3 class="text-xl font-bold py-2" id="h2-3">Link</h3><ul class="my-6 list-disc space-y-2 pl-6 md:pl-8 [&_li]:marker:text-slate-400"><li class="">nginx</li><li class="">HTML::Mason</li><li class="">file mason-fcgi</li></ul>
</div>
      </div>

      <div class="mt-10">
        <div class="flex flex-wrap items-center gap-3">
  <span class="text-sm text-slate-600 dark:text-slate-300">Share:</span>
  <a href="https://twitter.com/intent/tweet?text=Esecuzione%20di%20HTML::Mason%20con%20nginx%20e%20FastCGI&url=https://techrealizes.com/it/p/running-html-mason-with-nginx-and-fastcgi-93832990" target="_blank" rel="noopener" class="rounded-xl border border-slate-300 px-3 py-1.5 text-sm hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800">
    X/Twitter
  </a>
  <a href="https://www.linkedin.com/sharing/share-offsite/?url=https://techrealizes.com/it/p/running-html-mason-with-nginx-and-fastcgi-93832990" target="_blank" rel="noopener" class="rounded-xl border border-slate-300 px-3 py-1.5 text-sm hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800">
    LinkedIn
  </a>
  <button type="button" onclick="navigator.clipboard.writeText('https://techrealizes.com/it/p/running-html-mason-with-nginx-and-fastcgi-93832990')" class="rounded-xl border border-slate-300 px-3 py-1.5 text-sm hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800">
Copy link
</button>
</div>
      </div>

      <div class="mt-6">
        <div class="flex flex-wrap gap-2">
          <a href="/it/tag/server-setup" class="rounded-full bg-slate-100 px-3 py-1 text-xs font-medium text-slate-700 ring-1 ring-inset ring-slate-200 dark:bg-slate-800 dark:text-slate-300 dark:ring-slate-700">
            #Server Setup
          </a>
        </div>
      </div>

      <div class="mt-12">
        <section class="rounded-2xl border border-slate-200 bg-gradient-to-br from-slate-50 to-white p-6 dark:border-slate-800 dark:from-slate-900 dark:to-slate-950">
  <div class="flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center">
    <div>
      <h3 class="text-lg font-semibold">Ricevi i nuovi post nella tua casella di posta.</h3>
      <p class="text-sm text-slate-600 dark:text-slate-300">
        Nessuno spam. Disiscriviti in qualsiasi momento.
      </p>
    </div>
    <form class="flex w-full max-w-md items-center gap-2">
      <input type="email" required placeholder="you@example.com" class="w-full flex-1 rounded-xl border border-slate-300 bg-white px-3 py-2 outline-none dark:border-slate-700 dark:bg-slate-900">
      <button class="rounded-xl bg-slate-900 px-4 py-2 text-sm font-medium text-white hover:bg-slate-800 dark:bg-white dark:text-slate-900">
        Iscriviti
      </button>
    </form>
  </div>
</section>
      </div>
    </div>

    <aside class="lg:col-span-4">
      <div class="lg:sticky lg:top-20">
        <div class="mb-6 rounded-2xl border border-slate-200 bg-white p-4 dark:border-slate-800 dark:bg-slate-900">
          <div class="mb-2 text-sm font-semibold">In questa pagina</div>
          <ul class="space-y-2 text-sm">

              <li>
                <a href="#h2-0" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   Esecuzione di HTML::Mason con nginx e FastCGI
                </a>
              </li>

              <li>
                <a href="#h2-1" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   Installazione di un server minimale
                </a>
              </li>

              <li>
                <a href="#h2-2" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   Personalizzare il server
                </a>
              </li>

              <li>
                <a href="#h2-3" class="text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white">
                   Link
                </a>
              </li>

          </ul>
        </div>
        <div>
          <h3 class="mb-3 text-sm font-semibold">Correlato</h3>
          <div class="grid grid-cols-1 gap-4">

              <a href="/it/p/linux-c-programming-tutorial-part-7-arrays-94220576" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/8756669e-5f11-4dbd-9c13-47ec7432dae3.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Programmazione C · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Linux C Programming Tutorial Parte 7: Array
                  </div>
                </div>
              </a>

              <a href="/it/p/logitech-mx-mechanical-mini-review-the-type-for-writers-93237314" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/9ca1697f-cadf-4e4c-9cb7-c4e153445240.jpg" alt="recensione logitech mx mechanical mini" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Recensione Tastiera · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Logitech MX Mechanical Mini Recensione: Il tipo per scrittori
                  </div>
                </div>
              </a>

              <a href="/it/p/microsoft-security-essentials-gives-false-positives-that-bitcoin-blockchain-infected-by-stoned-virus-94222075" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/0bdcdeb0-9887-4110-af71-2d1e425c5d0a.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Sicurezza Bitcoin · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Microsoft Security Essentials segnala falsi positivi che la blockchain di Bitcoin è infettata dal virus 'Stoned'
                  </div>
                </div>
              </a>

              <a href="/it/p/google-unveils-slurry-of-new-security-features-in-android-5-0-lollipop-94325355" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/ab534329-e080-4d33-ade7-8dd2490beefb.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Sicurezza Android · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Google svela una serie di nuove funzionalità di sicurezza in Android 5.0 Lollipop
                  </div>
                </div>
              </a>

              <a href="/it/p/setting-up-an-android-app-build-environment-with-eclipse-android-sdk-phonegap-debian-squeeze-94271797" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/ae3d5143-2876-4cc3-b5aa-19e15ea52407.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Sviluppo Android · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Impostare un ambiente di build per app Android con Eclipse, Android SDK, PhoneGap (Debian Squeeze)
                  </div>
                </div>
              </a>

              <a href="/it/p/sony-announces-xperia-10-ii-xperia-l4-and-xperia-pro-smartphones-93418471" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/66b03667-d75e-441e-bce0-86b391409a27.jpg" alt="sony annuncia xperia 10 ii, xperia l4 e xperia pro smartphone - sony xperia pro" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Smartphone · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Sony annuncia gli smartphone Xperia 10 II, Xperia L4 e Xperia Pro
                  </div>
                </div>
              </a>

              <a href="/it/p/face-off-nokia-7-plus-vs-xiaomi-redmi-note-5-pro-comeback-kid-meets-the-new-king-93328755" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Confronto smartphone · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    [Face Off] Nokia 7 Plus vs Xiaomi Redmi Note 5 Pro: Il ritorno del bambino prodigio incontra il nuovo re
                  </div>
                </div>
              </a>

              <a href="/it/p/the-perfect-setup-debian-woody-3-0-94643535" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/8a3fe69a-7ca2-4536-a19c-7bb5df2a4246.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Configurazione Server · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    La Configurazione Perfetta - Debian Woody (3.0)
                  </div>
                </div>
              </a>

              <a href="/it/p/phoenix-browser-for-pc-download-windows-11-10-7-94170189" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/5d2162fe-a352-4ec0-a017-2ef3c3ff0aed.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Browser Download · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Download Phoenix Browser Per PC (Windows 11/10/7)
                  </div>
                </div>
              </a>

              <a href="/it/p/the-perfect-setup-ubuntu-feisty-fawn-ubuntu-7-04-page-4-94643734" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Installazione software · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    La Configurazione Perfetta - Ubuntu Feisty Fawn (Ubuntu 7.04) - Pagina 4
                  </div>
                </div>
              </a>

              <a href="/it/p/asus-marshmallow-keyboard-kw100-and-mouse-md100-review-great-tab-pals-to-point-click-and-type-93237311" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/932e911a-8d8d-4ca0-8b5d-1821d416313e.jpg" alt="recensione tastiera e mouse asus marshmallow" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Recensioni · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Recensione della Tastiera Asus Marshmallow KW100 e del Mouse MD100: Ottimi compagni per puntare, cliccare e digitare
                  </div>
                </div>
              </a>

              <a href="/it/p/switch-emulator-skyline-shuts-down-over-nintendos-latest-dmca-order-94427592" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/50e5eaa3-f5d2-40b6-98b8-e30b3d560df2.jpeg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Emulatori · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    L'emulatore Skyline per Switch chiude a causa dell'ultima ordinanza DMCA di Nintendo
                  </div>
                </div>
              </a>

              <a href="/it/p/assp-with-embedded-clamav-integrated-into-postfix-with-virtual-users-and-domains-94168386" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Email Setup · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    ASSP Con ClamAV Integrato In Postfix Con Utenti E Domini Virtuali
                  </div>
                </div>
              </a>

              <a href="/it/p/hits-and-misses-at-mwc-2017-what-rocked-what-sank-93327858" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/878d8198-363c-4daf-a9f8-f2403469dd25.jpg" alt="successi e fallimenti al mwc 2017: cosa ha colpito, cosa è affondato! - mwc barcellona" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Tecnologia · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Successi e Fallimenti al MWC 2017: Cosa Ha Colpito, Cosa È Affondato!
                  </div>
                </div>
              </a>

              <a href="/it/p/virtualization-with-xenserver-5-5-0-94323139" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/81326419-3e3c-46e7-8904-666592b05bdd.png" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Virtualizzazione · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Virtualizzazione con XenServer 5.5.0
                  </div>
                </div>
              </a>

              <a href="/it/p/russian-hackers-are-trying-to-steal-covid-19-vaccine-research-us-uk-canada-officials-94020201" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/d358fd41-8b0c-46ac-abaa-c3564f5f4372.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Cybersecurity · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    I hacker russi stanno cercando di rubare la ricerca sul vaccino COVID-19: funzionari di Stati Uniti, Regno Unito e Canada
                  </div>
                </div>
              </a>

              <a href="/it/p/the-perfect-server-debian-lenny-debian-5-0-with-bind-dovecot-ispconfig-3-94533937" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/bdbc7eec-2d79-45c8-af52-81fe7fd35cc9.png" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Server Setup · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Il Server Perfetto - Debian Lenny (Debian 5.0) Con BIND & Dovecot [ISPConfig 3]
                  </div>
                </div>
              </a>

              <a href="/it/p/maintaining-remote-web-sites-with-sitecopy-on-ubuntu-16-04-94534889" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Siti web · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Mantenere siti web remoti con sitecopy su Ubuntu 16.04
                  </div>
                </div>
              </a>

              <a href="/it/p/random-bluetooth-disconnection-in-windows-10-11-fixed-93236764" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/96d46d9d-51eb-4aa5-a170-b9926f8bcbd3.jpg" alt="disconnessione bluetooth casuale in windows 10 11" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Bluetooth problemi · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Disconnessione Bluetooth casuale in Windows 10/11 [RISOLTO]
                  </div>
                </div>
              </a>

              <a href="/it/p/installing-apache2-with-php5-and-mysql-support-on-ubuntu-11-10-lamp-94068951" class="group overflow-hidden rounded-2xl border border-slate-200 bg-white hover:bg-slate-50 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-800/40">

                <img src="/files/27e20a4f-88d6-4c41-a204-42a016efee9a.jpg" alt="" class="h-32 w-full object-cover" loading="lazy">
                <div class="p-3">
                  <div class="mb-1 text-xs text-slate-500">
                    Installazione LAMP · Feb 14, 2026
                  </div>
                  <div class="line-clamp-2 text-sm font-medium group-hover:underline">
                    Installazione di Apache2 con supporto PHP5 e MySQL su Ubuntu 11.10 (LAMP)
                  </div>
                </div>
              </a>

          </div>
        </div>
      </div>
    </aside>
  </article>
</section>
    </main>

    <footer class="border-t border-slate-200 bg-slate-50 py-10 text-sm dark:border-slate-800 dark:bg-slate-900">
      <div class="mx-auto grid max-w-7xl grid-cols-1 gap-6 px-4 sm:px-6 md:grid-cols-3 lg:px-8">
        <div>
          <img src="/logo.svg" alt="Tecnologie senza fronzoli" width="280" height="40">
          <p class="my-2 text-slate-600 dark:text-slate-400">
            Esecuzione di HTML::Mason con nginx e FastCGI
          </p>
        </div>
        <div class="grid grid-cols-1 gap-6">
          <div>
            <div class="mb-2 font-semibold">Azienda</div>
            <ul class="space-y-2 text-slate-600 dark:text-slate-400">
              <li>
                <a href="#" class="hover:text-slate-900 dark:hover:text-white">
                  Informazioni su
                </a>
              </li>
              <li>
                <a href="#" class="hover:text-slate-900 dark:hover:text-white">
                  Contatto
                </a>
              </li>
              <li>
                <a href="#" class="hover:text-slate-900 dark:hover:text-white">
                  Privacy
                </a>
              </li>
            </ul>
          </div>
        </div>
        <div class="md:text-right">
          <div class="font-semibold">Ricevi aggiornamenti</div>
          <form class="mt-2 flex w-full items-center gap-2 md:justify-end">
            <input type="email" placeholder="you@example.com" class="w-full max-w-xs rounded-xl border border-slate-300 bg-white px-3 py-2 outline-none dark:border-slate-700 dark:bg-slate-900">
            <button class="rounded-xl bg-slate-900 px-3 py-2 text-white shadow-sm hover:bg-slate-800 dark:bg-white dark:text-slate-900">
              Iscriviti
            </button>
          </form>
          <p class="mt-3 text-slate-500">© 2026. All rights reserved.</p>
        </div>
      </div>
    </footer>
  </body>
</html>