{"title":"Come usare Django con Apache e mod_wsgi","version":"5.1","locale":"it","docname":"howto/deployment/wsgi/modwsgi","url":"/it/5.1/howto/deployment/wsgi/modwsgi/","canonical":"https://djangodocs.dev/it/5.1/howto/deployment/wsgi/modwsgi/","summary":"Fare il deploy di Django con Apache e mod_wsgi è un modo provato e testato di portare Django in produzione. mod_wsgi è un modulo Apache che può fare hosting di ogni…","html":"<h1>Come usare Django con Apache e <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#how-to-use-django-with-apache-and-mod-wsgi\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Fare il deploy di Django con <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a> e <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/\">mod_wsgi</a> è un modo provato e testato di portare Django in produzione.</p>\n<p>mod_wsgi è un modulo Apache che può fare hosting di ogni applicazione Python <a class=\"reference external\" href=\"https://wsgi.readthedocs.io/en/latest/\">WSGI</a>, incluso Django. Django funzionerà con ogni versione di Apache che supporta mod_wsgi.</p>\n<p>La <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/installation.html\">documentazione ufficiale di mod_wsgi</a> è la fonte di dettagli su come usare mod_wsgi. Probabilmente vorrai iniziare con la  <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/\">documentazione di installazione e configurazione</a>.</p>\n<section id=\"basic-configuration\">\n<h2>Configurazione di base<a class=\"heading-anchor\" href=\"#basic-configuration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Una volta che hai installato ed attivato mod_wsgi, modifica il tuo file <a class=\"reference external\" href=\"https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout\">httpd.conf</a> del server Apache ed aggiungi quanto segue.</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span>/<span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span>\n<span class=\"nb\">WSGIPythonHome</span><span class=\"w\"> </span><span class=\"sx\">/path/to/venv</span>\n<span class=\"nb\">WSGIPythonPath</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/mysite</span><span class=\"nt\">&gt;</span>\n<span class=\"nt\">&lt;Files</span><span class=\"w\"> </span><span class=\"s\">wsgi.py</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Files&gt;</span>\n<span class=\"nt\">&lt;/Directory&gt;</span>\n</code></pre></div>\n<p>Il primo dato nella riga <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIScriptAlias</span></code> è il percorso dell’URL di base in cui vuoi servire la tua applicazione (<code class=\"docutils literal notranslate\"><span class=\"pre\">/</span></code> indica l’URL di root) e il secondo è la posizione di un «file WSGI» – vedi sotto – sul tuo sistema, di solito all’interno del pacchetto del tuo progetto (<code class=\"docutils literal notranslate\"><span class=\"pre\">mysite</span></code> in questo esempio). Questo dice ad Apache di servire qualsiasi richiesta sotto la URL specificata utilizzando l’applicazione WSGI definita in quel file.</p>\n<p>Se installi le dipendenze Python del tuo progetto in un <a class=\"reference external\" href=\"https://docs.python.org/3/library/venv.html#module-venv\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">virtual</span> <span class=\"pre\">environment</span></code></a>, aggiungi il percorsi usando <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonHome</span></code>. Vedi <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html\">mod_wsgi virtual environment guide</a> per avere più dettagli.</p>\n<p>La linea <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonPath</span></code> assicura che il tuo package di progetto sia disponibile per l’importazione sul percorso di Python; in altre parole, che <code class=\"docutils literal notranslate\"><span class=\"pre\">import</span> <span class=\"pre\">mysite</span></code> funzioni.</p>\n<p>Il pezzo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;Directory&gt;</span></code> assicura che Apache possa accedere al tuo file <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>.</p>\n<p>Successivamente, avremo bisogno di assicurarci che questo <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code> con un application object esista. Nella versione Django 1.4, <a class=\"reference internal\" href=\"/it/5.1/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">startproject</span></code></a> ne creerà uno per te; altrimenti, ne devi creare uno. Vedi la <a class=\"reference internal\" href=\"/it/5.1/howto/deployment/wsgi/\"><span class=\"doc\">WSGI overview documentation</span></a>  per conoscere il contenuto standard che dovresti mettere in questo file e che altro potresti aggiungere.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Avvertimento</p>\n<p>Se più siti Django girano su un singolo processo mod_wsgi, tutti useranno le impostazioni di quello che parte per primo. Questo può essere risolto cambiando:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"o\">.</span><span class=\"n\">setdefault</span><span class=\"p\">(</span><span class=\"s2\">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;{{ project_name }}.settings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>nel <code class=\"docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>, in:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"p\">[</span><span class=\"s2\">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;{{ project_name }}.settings&quot;</span>\n</code></pre></div>\n<p>o <a class=\"reference internal\" href=\"#daemon-mode\"><span class=\"std std-ref\">usando la modalità demone di mod_wsgi</span></a> ed assicurandosi che ogni sito giri nel proprio processo demone.</p>\n</aside>\n<aside class=\"admonition-fixing-unicodeencodeerror-for-file-uploads admonition\">\n<p class=\"admonition-title\">Correggere <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> per il caricamento di file</p>\n<p>If you get a <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> when uploading or writing files with\nfile names or content that contains non-ASCII characters, make sure Apache\nis configured to support UTF-8 encoding:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nb\">export</span><span class=\"w\"> </span><span class=\"nv\">LANG</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n<span class=\"nb\">export</span><span class=\"w\"> </span><span class=\"nv\">LC_ALL</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n</code></pre></div>\n<p>Una locazione comune dove mettere questa configurazione è <code class=\"docutils literal notranslate\"><span class=\"pre\">/etc/apache2/envvars</span></code>.</p>\n<p>Alternatively, if you are <a class=\"reference internal\" href=\"#daemon-mode\"><span class=\"std std-ref\">using mod_wsgi daemon mode</span></a>\nyou can add <code class=\"docutils literal notranslate\"><span class=\"pre\">lang</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">locale</span></code> options to the <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code>\ndirective:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Text code\"><code>WSGIDaemonProcess example.com lang=&#39;en_US.UTF-8&#39; locale=&#39;en_US.UTF-8&#39;\n</code></pre></div>\n<p>Vedi la sezione <a class=\"reference internal\" href=\"/it/5.1/ref/unicode/#unicode-files\"><span class=\"std std-ref\">Files</span></a> nella guida di riferimento Unicode per dettagli.</p>\n</aside>\n</section>\n<section id=\"using-mod-wsgi-daemon-mode\">\n<span id=\"daemon-mode\"></span><h2>Usare la modalità demone di <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#using-mod-wsgi-daemon-mode\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>«La modalità demone» è la modalità raccomandata per far girare mod_wsgi (su piattaforme non Windows). Per creare il gruppo del processo demone richiesto e delegare l’istanza di Django per girarvi, dovrai aggiungere le direttive <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIProcessGroup</span></code> appropriate. Un ulteriore cambiamento alla configurazione qui sopra se usi la modalità demone è che non puoi usare <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonPath</span></code>; invece dovresti usare l’opzione <code class=\"docutils literal notranslate\"><span class=\"pre\">python-path</span></code> per <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code>, per esempio:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIDaemonProcess</span><span class=\"w\"> </span>example.com<span class=\"w\"> </span>python-home=/path/to/venv<span class=\"w\"> </span>python-path=/path/to/mysite.com\n<span class=\"nb\">WSGIProcessGroup</span><span class=\"w\"> </span>example.com\n</code></pre></div>\n<p>Se vuoi servire il tuo progetto in una sottodirectory (<code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/mysite</span></code> in questo esempio), puoi aggiungere <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIScriptAlias</span></code> alla configurazione qui sopra:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span><span class=\"sx\">/mysite</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span><span class=\"w\"> </span>process-group=example.com\n</code></pre></div>\n<p>Vedi la documentazione ufficiale mod_wsgi per <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html#delegation-to-daemon-process\">dettagli su come approntare la modalità demone</a>.</p>\n</section>\n<section id=\"serving-files\">\n<span id=\"id1\"></span><h2>Distribuire files<a class=\"heading-anchor\" href=\"#serving-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django non distribuisce files direttamente; lascia questo lavoro a qualsiasi web server di tua scelta.</p>\n<p>Raccomandiamo di usare un web server separato – per esempio, uno che non sta facendo girare Django – per servire i contenuti multimediali. Ecco alcune buone scelte:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://nginx.org/en/\">Nginx</a></p></li>\n<li><p>Una versione ridotta di <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a></p></li>\n</ul>\n<p>Se, comunque, non hai altra alternativa che servire i file multimediali sullo stesso <code class=\"docutils literal notranslate\"><span class=\"pre\">VirtualHost</span></code> di Apache di Django, puoi impostare Apache per servire alcune URL come media statici ed altre usando l’interfaccia mod_wsgi per Django.</p>\n<p>Questo esempio appronta Django sulla root del sito ma serve <code class=\"docutils literal notranslate\"><span class=\"pre\">robots.txt</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">favicon.ico</span></code>, e tutto ciò che si trova nello spazio delle URL <code class=\"docutils literal notranslate\"><span class=\"pre\">/static/</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">/media/</span></code> come file statico. Tutte le altre URL saranno servite usando mod_wsgi:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/robots.txt</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/robots.txt</span>\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/favicon.ico</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/favicon.ico</span>\n\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/media/</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/media/</span>\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/static/</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/static</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Directory&gt;</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/media</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Directory&gt;</span>\n\n<span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span>/<span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/mysite</span><span class=\"nt\">&gt;</span>\n<span class=\"nt\">&lt;Files</span><span class=\"w\"> </span><span class=\"s\">wsgi.py</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Files&gt;</span>\n<span class=\"nt\">&lt;/Directory&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"serving-the-admin-files\">\n<span id=\"id3\"></span><h2>Distribuire i files admin<a class=\"heading-anchor\" href=\"#serving-the-admin-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Quando  <a class=\"reference internal\" href=\"/it/5.1/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code></a> viene settata in <a class=\"reference internal\" href=\"/it/5.1/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>, il server di sviluppo di Django servirà automaticamente i file statici dell’app admin ( e di qualsiasi altra app ). Questo comunque non succede quando usi qualsiasi altra configurazione server. Sei responsabile della configurazione di Apache, o di qualsiasi server tu stia usando, per servire i file di admin.</p>\n<p>The admin files live in (<a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/static/admin\">django/contrib/admin/static/admin</a>) of the\nDjango distribution.</p>\n<p>Noi consigliamo <strong>fortemente</strong> l’uso di <a class=\"reference internal\" href=\"/it/5.1/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code></a>  per gestire i file di admin ( insieme a un web server come sottolineato nella sezione precedente; questo significa utilizzare il <a class=\"reference internal\" href=\"/it/5.1/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> management command per raccogliere tutti i file statici dentro <a class=\"reference internal\" href=\"/it/5.1/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a>, e poi configurare il tuo web server in modo da servire  <a class=\"reference internal\" href=\"/it/5.1/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a>  su <a class=\"reference internal\" href=\"/it/5.1/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a>), ma ecco altri tre approcci:</p>\n<ol class=\"arabic simple\">\n<li><p>Crea un link simbolico ai file statici di admin dalla document root (può richiedere <code class=\"docutils literal notranslate\"><span class=\"pre\">+FollowSymLinks</span></code> nella configurazione di Apache).</p></li>\n<li><p>Utilizza una direttiva <code class=\"docutils literal notranslate\"><span class=\"pre\">Alias</span></code>, come mostrato qui sopra, per fare un alias della URL appropriata (probabilmente <a class=\"reference internal\" href=\"/it/5.1/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> + <code class=\"docutils literal notranslate\"><span class=\"pre\">admin/</span></code>) alla vera locazione dei file di admin.</p></li>\n<li><p>Copia i file statici di admin in modo che siano presenti nella cartella principale di Apache.</p></li>\n</ol>\n</section>\n<section id=\"authenticating-against-django-s-user-database-from-apache\">\n<h2>Autenticare da Apache verso il database utenti di Django<a class=\"heading-anchor\" href=\"#authenticating-against-django-s-user-database-from-apache\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django fornisce un handler per permettere ad Apache di autenticare gli utenti direttamente sul backend di autenticazione Django. Vedi la  <a class=\"reference internal\" href=\"/it/5.1/howto/deployment/wsgi/apache-auth/\"><span class=\"doc\">la documentazione di autenticazione mod_wsgi</span></a>.</p>\n</section>","rootId":"how-to-use-django-with-apache-and-mod-wsgi","toc":[{"title":"Configurazione di base","anchor":"basic-configuration","children":[]},{"title":"Usare la modalità demone di mod_wsgi","anchor":"using-mod-wsgi-daemon-mode","children":[]},{"title":"Distribuire files","anchor":"serving-files","children":[]},{"title":"Distribuire i files admin","anchor":"serving-the-admin-files","children":[]},{"title":"Autenticare da Apache verso il database utenti di Django","anchor":"authenticating-against-django-s-user-database-from-apache","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"How-to guides","url":"/it/5.1/howto/"},{"docname":"howto/deployment/index","title":"Come distribuire Django","url":"/it/5.1/howto/deployment/"},{"docname":"howto/deployment/wsgi/index","title":"Come distribuire con WSGI.","url":"/it/5.1/howto/deployment/wsgi/"}],"prev":{"docname":"howto/deployment/wsgi/uwsgi","title":"Come usare Django con uWSGI","url":"/it/5.1/howto/deployment/wsgi/uwsgi/"},"next":{"docname":"howto/deployment/wsgi/apache-auth","title":"Come autenticare da Apache verso il database utenti di Django","url":"/it/5.1/howto/deployment/wsgi/apache-auth/"},"formats":{"html":"/it/5.1/howto/deployment/wsgi/modwsgi/","markdown":"/it/5.1/howto/deployment/wsgi/modwsgi.md","json":"/it/5.1/howto/deployment/wsgi/modwsgi.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/howto/deployment/wsgi/modwsgi.txt","official":"https://docs.djangoproject.com/it/5.1/howto/deployment/wsgi/modwsgi/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}