Het installeren van een Django-applicatie op een Debian 10-server is een veelgevraagd onderwerp, zowel voor ervaren ontwikkelaars als voor beginners die hun weg vinden in de wereld van webontwikkeling. Deze complete gids biedt een stap-voor-stap handleiding voor het installeren van een Django-applicatie op Debian 10 met Apache en WSGI.

Django is een van de meest populaire webframeworks voor het bouwen van moderne, schaalbare webtoepassingen. Debian 10, bekend om zijn stabiliteit en beveiliging, biedt een solide basis voor hosting. Gecombineerd met Apache, een van de meest gebruikte webservers, en WSGI voor het maken van de brug tussen Python-toepassingen en webservers, krijgt u een robuuste en betrouwbare stack voor uw webprojecten.

Of u nu een ervaren Django-ontwikkelaar bent die op zoek is naar een betrouwbare manier om uw applicatie te hosten, of een beginner die net begint met Django en op zoek is naar een duidelijke en beknopte gids, deze tutorial zal u door het hele proces leiden.

Lees verder voor gedetailleerde instructies, inclusief de configuratie van virtual hosts, directory-permissies, en meer. Leer hoe u uw Django-applicatie op een Debian 10-systeem met Apache en WSGI kunt installeren en configureren, en krijg uw project vandaag nog online!


Stap 1: Voorbereiding van het systeem

Zorg ervoor dat uw Debian 10-systeem up-to-date is:

sudo apt update
sudo apt upgrade

Stap 2: Installatie van Apache en benodigde modules

Installeer Apache en de mod_wsgi-module:

sudo apt install apache2
sudo apt install libapache2-mod-wsgi-py3
sudo a2enmod wsgi

Stap 3: Installatie van Python 3.7

Controleer uw huidige Python-versie:

python3 --version

Indien nodig, installeer Python 3.7:

sudo apt install python3.7

Stap 4: Aanmaken en instellen van een virtuele omgeving

Installeer pakketten voor een virtuele omgeving en maak deze aan:

sudo apt install python3-venv
python3 -m venv /var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/myenv

Stap 5: Installatie van Django

Activeer de virtuele omgeving en installeer Django:

source /var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/myenv/bin/activate
pip3 install django

Stap 6: Virtual Host Configuratie (vhost)

1. Directory Permissions

Configureer de toegangsrechten:

<Directory /var/www/djangoapplicatie.nl>
 <IfVersion < 2.3 >
   Order allow,deny
   Allow from all
 </IfVersion>
 <IfVersion >= 2.3>
   Require all granted
 </IfVersion>
</Directory>

2. Virtual Host Block

Definieer het begin van het configuratieblok:

<VirtualHost *:80>
...
</VirtualHost>

3. DocumentRoot, ServerName, en ServerAlias

Stel paden, domeinnaam, en aliassen in:

DocumentRoot /var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/src
ServerName djangoapplicatie.nl
ServerAlias www.djangoapplicatie.nl

4. ErrorLog en CustomLog

Definieer loglocaties:

ErrorLog ${APACHE_LOG_DIR}/djangoapplicatie.nl.error.log
CustomLog ${APACHE_LOG_DIR}/djangoapplicatie.nl.access.log combined

5. Static en Media Aliassen

Maak statische en media-bestanden toegankelijk.

6. WSGI Configuration

Verbind de Django-applicatie met Apache via WSGI:

WSGIDaemonProcess pythoneditortool python-path=/var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/src python-home=/var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/myenv
WSGIProcessGroup pythoneditortool
WSGIScriptAlias / /var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/src/wsgi.py

7. PHP-FPM en Suexec Configuratie

Configureer PHP-scripts en gebruikersrechten.

8. DAV Configuration

Stel WebDAV in.

Bestand opslaan en Apache herstarten

Sla op, schakel in, en herstart Apache:

sudo a2ensite djangoapplicatie.nl.conf
sudo systemctl restart apache2

Voorbeeld gehele vhost file

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/src
    ServerName djangoapplicatie.nl
    ServerAlias www.djangoapplicatie.nl

    <Directory /var/www/djangoapplicatie.nl>
        <IfVersion < 2.3 >
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.3>
            Require all granted
        </IfVersion>
    </Directory>

    Alias /static/ /var/www/djangoapplicatie.nl/static/
    Alias /media/ /var/www/djangoapplicatie.nl/media/

    <Directory /var/www/djangoapplicatie.nl/static>
        Require all granted
    </Directory>

    <Directory /var/www/djangoapplicatie.nl/media>
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/djangoapplicatie.nl.error.log
    CustomLog ${APACHE_LOG_DIR}/djangoapplicatie.nl.access.log combined

    WSGIDaemonProcess pythoneditortool python-path=/var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/src python-home=/var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/myenv
    WSGIProcessGroup pythoneditortool
    WSGIScriptAlias / /var/www/djangoapplicatie.nl/web/srv/webapps/pythoneditortool/src/wsgi.py

    # Suexec en PHP-FPM (indien nodig)
    # ...

    # DAV Configuration (indien nodig)
    # ...
</VirtualHost>

Stap 7: Controleer uw installatie

Open uw domein om te controleren of alles werkt.

Conclusie

Het opzetten van een Django-applicatie met Apache op Debian 10 vereist enkele stappen, zoals het installeren van Apache, Python, en de benodigde modules, het instellen van een virtuele omgeving, en het configureren van een virtual host in Apache. Uw configuratiebestand dient als een uitstekend voorbeeld voor de juiste instellingen. Als alles correct is geconfigureerd, zou uw Django-applicatie nu bereikbaar moeten zijn via uw domein.


Meer informatie: Django Applicatie From Scratch Opzetten

Als u net begint met Django en een applicatie helemaal vanaf het begin wilt bouwen, kunt u profiteren van de uitgebreide en gedetailleerde documentatie die door het Django-project zelf wordt aangeboden.

De officiële Django-documentatie biedt een tutorialreeks die u begeleidt bij het maken van een Django-applicatie vanaf nul. Van het installeren van Django tot het definiëren van modellen, het maken van views en het aanpassen van sjablonen, deze handleidingen bieden gedetailleerde uitleg en codevoorbeelden om u te helpen uw eerste Django-applicatie succesvol te bouwen.

De tutorial is geschikt voor ontwikkelaars van alle niveaus en is een uitstekende bron om u vertrouwd te maken met de belangrijkste concepten en werkwijzen binnen Django. Of u nu een complete beginner bent of uw kennis wilt opfrissen, de handleiding biedt praktische instructies en beste praktijken rechtstreeks van de experts achter Django zelf.

Begin nu met de officiële Django Tutorial