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.