{"title":"Πως να χρησιμοποιήσετε το Django με τον Apache και το mod_wsgi","version":"2.0","locale":"el","docname":"howto/deployment/wsgi/modwsgi","url":"/el/2.0/howto/deployment/wsgi/modwsgi/","canonical":"https://djangodocs.dev/el/2.0/howto/deployment/wsgi/modwsgi/","summary":"Το να ανεβάσετε το Django site σας (deploying) στην παραγωγή (production) χρησιμοποιώντας τον Apache Web server και το mod_wsgi είναι μια δοκιμασμένη και πετυχημένη…","html":"<h1>Πως να χρησιμοποιήσετε το Django με τον Apache και το <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>Το να ανεβάσετε το Django site σας (deploying) στην παραγωγή (production) χρησιμοποιώντας τον <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a> Web server και το <a class=\"reference external\" href=\"http://www.modwsgi.org/\">mod_wsgi</a> είναι μια δοκιμασμένη και πετυχημένη μέθοδος.</p>\n<p>Το mod_wsgi είναι ένα Apache module το οποίο μπορεί να φιλοξενήσει κάθε Python <a class=\"reference external\" href=\"http://www.wsgi.org\">WSGI</a> εφαρμογή, συμπεριλαμβανομένου και του Django. Το Django θα δουλέψει με κάθε έκδοση του Apache που υποστηρίζει το mod_wsgi.</p>\n<p>The <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/\">official mod_wsgi documentation</a> is your source for all the details about\nhow to use mod_wsgi. You’ll probably want to start with the <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/installation.html\">installation and\nconfiguration documentation</a>.</p>\n<section id=\"basic-configuration\">\n<h2>Βασική παραμετροποίηση<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>Αφού εγκαταστήσετε και ενεργοποιήσετε το mod_wsgi, επεξεργαστείτε το αρχείο <a class=\"reference external\" href=\"https://wiki.apache.org/httpd/DistrosDefaultLayout\">httpd.conf</a> του Apache Web server και προσθέστε τα ακόλουθα. Αν χρησιμοποιείτε κάποια έκδοση του Apache παλαιότερη της 2.4, αντικαταστήστε το <code class=\"docutils literal notranslate\"><span class=\"pre\">Require</span> <span class=\"pre\">all</span> <span class=\"pre\">granted</span></code> με το <code class=\"docutils literal notranslate\"><span class=\"pre\">Allow</span> <span class=\"pre\">from</span> <span class=\"pre\">all</span></code> και επίσης προσθέστε τη γραμμή <code class=\"docutils literal notranslate\"><span class=\"pre\">Order</span> <span class=\"pre\">deny,allow</span></code> από πάνω.</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>Η πρώτη παράμετρος στη γραμμή του <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIScriptAlias</span></code> είναι το βασικό URL path που θέλετε να εξυπηρετηθεί η εφαρμογή σας (η κάθετος, <code class=\"docutils literal notranslate\"><span class=\"pre\">/</span></code>, υποδεικνύει το root url) και η δεύτερη είναι η τοποθεσία που βρίσκεται το «WSGI file» – δείτε παρακάτω – στο σύστημα σας, συνήθως μέσα στο φάκελο του project σας (<code class=\"docutils literal notranslate\"><span class=\"pre\">mysite</span></code>, σε αυτό το παράδειγμα). Αυτό λέει στον Apache να εξυπηρετήσει κάθε request κάτω από αυτό το url (αν κατέχετε το url με το όνομα πχ www.mysite.com τότε θα εξυπηρετηθούν όλα τα urls που ξεκινούν με αυτό το όνομα) χρησιμοποιώντας την WSGI εφαρμογή η οποία ορίζεται σε αυτό το αρχείο (<code class=\"docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>).</p>\n<p>Αν εγκαταστήσετε τα Python dependencies του project σας μέσα σε ένα <a class=\"reference external\" href=\"https://virtualenv.pypa.io/\">virtualenv</a>, τότε προσθέστε το μονοπάτι (path) του virtualenv χρησιμοποιώντας το <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonHome</span></code>. Δείτε περισσότερα στον οδηγό <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html\">mod_wsgi virtualenv guide</a> για περισσότερες πληροφορίες.</p>\n<p>Η γραμμή <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonPath</span></code> βεβαιώνει ότι το project σας θα είναι διαθέσιμο για να γίνει import στο Python path. Με άλλα λόγια, ότι το <code class=\"docutils literal notranslate\"><span class=\"pre\">import</span> <span class=\"pre\">mysite</span></code> δουλεύει.</p>\n<p>Το κομμάτι του <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;Directory&gt;</span></code> απλώς βεβαιώνει ότι ο Apache μπορεί να έχει πρόσβαση στο αρχείο σας <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>.</p>\n<p>Επόμενο βήμα είναι να σιγουρευτούμε ότι υπάρχει το αρχείο <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code> με το WSGI application object. Από την έκδοση του Django 1.4 και μετά, η εντολή <a class=\"reference internal\" href=\"/el/2.0/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">startproject</span></code></a> θα δημιουργήσει ένα τέτοιο αρχείο. Αν όχι, θα χρειαστεί να το δημιουργήσετε εσείς. Δείτε στο <a class=\"reference internal\" href=\"/el/2.0/howto/deployment/wsgi/\"><span class=\"doc\">εγχειρίδιο του WSGI</span></a> για τα προεπιλεγμένα περιεχόμενα που μπορείτε να βάλτε σε αυτό το αρχείο καθώς και άλλα πράγματα που μπορείτε να προσθέσετε.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Προειδοποίηση</p>\n<p>Αν μια mod_wsgi process τρέχει πολλά Django sites, τότε όλα τα sites θα χρησιμοποιήσουν τις ρυθμίσεις του Django της εφαρμογής που θα τύχει να τρέξει πρώτη. Αυτό το πρόβλημα μπορεί να λυθεί αλλάζοντας το:</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>μέσα στο αρχείο <code class=\"docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>, με το:</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>ή <a class=\"reference internal\" href=\"#daemon-mode\"><span class=\"std std-ref\">χρησιμοποιώντας το mod_wsgi daemon mode</span></a> και βεβαιώνοντας ότι κάθε site τρέχει σε ένα δικό του daemon process.</p>\n</aside>\n<aside class=\"admonition-fixing-unicodeencodeerror-for-file-uploads admonition\">\n<p class=\"admonition-title\">Διορθώνοντας το σφάλμα <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> για uploads αρχείων</p>\n<p>Αν λαμβάνετε το σφάλμα <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> όταν ανεβάζετε αρχεία που τα ονόματα τους περιέχουν χαρακτήρες που δεν ανήκουν στον ASCII κώδικα (όπως είναι οι ελληνικοί χαρακτήρες), σιγουρευτείτε ότι ο Apache είναι ρυθμισμένος να δέχεται ονόματα αρχείων με χαρακτήρες που δεν είναι ASCII:</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\">export</span> <span class=\"n\">LANG</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n<span class=\"n\">export</span> <span class=\"n\">LC_ALL</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n</code></pre></div>\n<p>Ένα συνηθισμένο μέρος για να βάλετε τα άνωθεν είναι το <code class=\"docutils literal notranslate\"><span class=\"pre\">/etc/apache2/envvars</span></code>.</p>\n<p>Δείτε στην ενότητα <a class=\"reference internal\" href=\"/el/2.0/ref/unicode/#unicode-files\"><span class=\"std std-ref\">Αρχεία</span></a> του Unicode οδηγού για λεπτομέρειες.</p>\n</aside>\n</section>\n<section id=\"using-mod-wsgi-daemon-mode\">\n<span id=\"daemon-mode\"></span><h2>Χρησιμοποιώντας το <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code> daemon mode<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>Η λειτουργία daemon («daemon mode») είναι η προτεινόμενη λειτουργία για να τρέχετε το mod_wsgi (σε πλατφόρμες εκτός Windows). Για να δημιουργήσετε το απαραίτητο daemon process group και να εξουσιοδοτήσετε το Django instance να το τρέξει, θα πρέπει να προσθέσετε τα κατάλληλα directives <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code> και <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIProcessGroup</span></code>. Αν χρησιμοποιείτε την παραπάνω ρύθμιση με το daemon mode δεν θα μπορείτε να χρησιμοποιήσετε το <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonPath</span></code>. Αντ’ αυτού θα πρέπει να χρησιμοποιήσετε την επιλογή <code class=\"docutils literal notranslate\"><span class=\"pre\">python-path</span></code> μέσα στο <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code>. Για παράδειγμα:</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>Αν θέλετε να εξυπηρετήσετε το project σας σε κάποιον υποφάκελο (πχ στη διεύθυνση <code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/mysite</span></code>), μπορείτε να προσθέσετε το <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIScriptAlias</span></code> στην παραπάνω παραμετροποίηση:</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>Δείτε το επίσημο εγχειρίδιο του mod_wsgi για περισσότερες λεπτομέρειες στην παραμετροποίηση του <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html#delegation-to-daemon-process\">daemon mode</a>.</p>\n</section>\n<section id=\"serving-files\">\n<span id=\"id1\"></span><h2>Εξυπηρετώντας αρχεία<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 δεν εξυπηρετεί το ίδιο, αρχεία. Αυτό το αφήνει στον Web server τον οποίο θα διαλέξετε εσείς.</p>\n<p>Προτείνουμε να διαλέξετε έναν διαφορετικό Web server – πχ κάποιον ο οποίος δεν τρέχει ήδη Django – για να εξυπηρετήσετε τα media files. Παρακάτω φαίνονται μερικές καλές επιλογές:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://nginx.org/en/\">Nginx</a></p></li>\n<li><p><a class=\"reference external\" href=\"https://httpd.apache.org/\">Μια stripped-down έκδοση του Apache</a></p></li>\n</ul>\n<p>Αν, παρόλ’ αυτά, δεν έχετε άλλη επιλογή παρά να εξυπηρετήσετε τα media files στον ίδιο Apache <code class=\"docutils literal notranslate\"><span class=\"pre\">VirtualHost</span></code> που τρέχει και το Django, μπορείτε να ρυθμίσετε τον Apache να εξυπηρετήσει μερικά URLs ως static media και άλλα χρησιμοποιώντας το mod_wsgi interface στο Django.</p>\n<p>Αυτό το παράδειγμα ρυθμίζει το Django στο site root, αλλά εξυπηρετεί τα αρχεία <code class=\"docutils literal notranslate\"><span class=\"pre\">robots.txt</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">favicon.ico</span></code> και οτιδήποτε μέσα στα URLs <code class=\"docutils literal notranslate\"><span class=\"pre\">/static/</span></code> και <code class=\"docutils literal notranslate\"><span class=\"pre\">/media/</span></code> ως ένα static file (πχ JavaScript, CSS, fonts αρχείο κλπ). Όλα τα άλλα URLs θα εξυπηρετηθούν χρησιμοποιώντας το 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<p>Αν χρησιμοποιείτε κάποια παλαιότερη έκδοση του Apache από 2.4, αντικαταστήστε το <code class=\"docutils literal notranslate\"><span class=\"pre\">Require</span> <span class=\"pre\">all</span> <span class=\"pre\">granted</span></code> με το <code class=\"docutils literal notranslate\"><span class=\"pre\">Allow</span> <span class=\"pre\">from</span> <span class=\"pre\">all</span></code> και, επίσης, προσθέστε τη γραμμή <code class=\"docutils literal notranslate\"><span class=\"pre\">Order</span> <span class=\"pre\">deny,allow</span></code> από πάνω.</p>\n</section>\n<section id=\"serving-the-admin-files\">\n<span id=\"id3\"></span><h2>Εξυπηρετώντας τα αρχεία του 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>Όταν η εφαρμογή <a class=\"reference internal\" href=\"/el/2.0/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> είναι μέσα στα <a class=\"reference internal\" href=\"/el/2.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>, ο Django development server αυτόματα εξυπηρετεί τα static files της εφαρμογής admin (και κάθε άλλης εγκατεστημένης εφαρμογής). Αυτό, ωστόσο, δεν ισχύει ότι χρησιμοποιείτε κάποια άλλη διάταξη server. Είστε υπεύθυνοι για να ρυθμίσετε τον Apache ή οποιονδήποτε άλλο Web server χρησιμοποιείτε, για να εξυπηρετήσετε τα αρχεία για το site του admin.</p>\n<p>Τα αρχεία του admin βρίσκονται στην τοποθεσία <code class=\"file docutils literal notranslate\"><span class=\"pre\">django/contrib/admin/static/admin</span></code> της Django διανομής.</p>\n<p>Συνιστούμε <strong>θερμά</strong> να χρησιμοποιείτε την εφαρμογή <a class=\"reference internal\" href=\"/el/2.0/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> για να διαχειριστείτε τα αρχεία του admin (μαζί με κάποιον Web server όπως περιγράφηκε στην προηγούμενη ενότητα. Αυτό σημαίνει ότι χρησιμοποιείτε την διαχειριστική εντολή <a class=\"reference internal\" href=\"/el/2.0/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> για να συγκεντρώσετε τα static files στο φάκελο in <a class=\"reference internal\" href=\"/el/2.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> και κατόπιν να ρυθμίσετε τον Web server σας να εξυπηρετεί το φάκελο <a class=\"reference internal\" href=\"/el/2.0/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> στη διεύθυνση <a class=\"reference internal\" href=\"/el/2.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a>), αλλά αν δεν το κάνετε, παρακάτω φαίνονται τρεις διαφορετικές προσεγγίσεις του θέματος:</p>\n<ol class=\"arabic simple\">\n<li><p>Δημιουργήστε ένα symbolic link στα static files του admin από το document root σας (αυτό ίσως απαιτήσει να χρησιμοποιήσετε το <code class=\"docutils literal notranslate\"><span class=\"pre\">+FollowSymLinks</span></code> στη ρύθμιση του Apache).</p></li>\n<li><p>Χρησιμοποιήστε ένα directive <code class=\"docutils literal notranslate\"><span class=\"pre\">Alias</span></code>, όπως περιγράφηκε παραπάνω, για να κάνετε alias το κατάλληλο URL (πιθανόν το <a class=\"reference internal\" href=\"/el/2.0/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>) με την ακριβή τοποθεσία των αρχείων του admin.</p></li>\n<li><p>Αντιγράψτε τα static files του admin ούτως ώστε να υπάρχουν μέσα στο document root του Apache σας.</p></li>\n</ol>\n</section>\n<section id=\"authenticating-against-django-s-user-database-from-apache\">\n<h2>Πιστοποίηση της βάσης δεδομένων ενός Django χρήστη μέσω Apache<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 παρέχει έναν handler που επιτρέπει στον Apache να πιστοποιεί τους χρήστες απ’ ευθείας μέσω το σύστημα πιστοποίησης του Django. Δείτε περισσότερα στο εγχειρίδιο της <a class=\"reference internal\" href=\"/el/2.0/howto/deployment/wsgi/apache-auth/\"><span class=\"doc\">πιστοποίησης του mod_wsgi</span></a>.</p>\n</section>","rootId":"how-to-use-django-with-apache-and-mod-wsgi","toc":[{"title":"Βασική παραμετροποίηση","anchor":"basic-configuration","children":[]},{"title":"Χρησιμοποιώντας το mod_wsgi daemon mode","anchor":"using-mod-wsgi-daemon-mode","children":[]},{"title":"Εξυπηρετώντας αρχεία","anchor":"serving-files","children":[]},{"title":"Εξυπηρετώντας τα αρχεία του admin","anchor":"serving-the-admin-files","children":[]},{"title":"Πιστοποίηση της βάσης δεδομένων ενός Django χρήστη μέσω Apache","anchor":"authenticating-against-django-s-user-database-from-apache","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Οδηγοί «Πως-να»","url":"/el/2.0/howto/"},{"docname":"howto/deployment/index","title":"Ανεβάζοντας το Django site σας για το ευρύ κοινό (deploying)","url":"/el/2.0/howto/deployment/"},{"docname":"howto/deployment/wsgi/index","title":"Πως να ανεβάσετε το site σας χρησιμοποιώντας το WSGI","url":"/el/2.0/howto/deployment/wsgi/"}],"prev":{"docname":"howto/deployment/wsgi/index","title":"Πως να ανεβάσετε το site σας χρησιμοποιώντας το WSGI","url":"/el/2.0/howto/deployment/wsgi/"},"next":{"docname":"howto/deployment/wsgi/apache-auth","title":"Πιστοποίηση της βάσης δεδομένων ενός Django χρήστη μέσω Apache","url":"/el/2.0/howto/deployment/wsgi/apache-auth/"},"formats":{"html":"/el/2.0/howto/deployment/wsgi/modwsgi/","markdown":"/el/2.0/howto/deployment/wsgi/modwsgi.md","json":"/el/2.0/howto/deployment/wsgi/modwsgi.json"},"source":"https://github.com/django/django/blob/stable/2.0.x/docs/howto/deployment/wsgi/modwsgi.txt","official":"https://docs.djangoproject.com/el/2.0/howto/deployment/wsgi/modwsgi/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}