# Hoe zet ik mijn Django-project online?

https://www.seturack.com/nl/kennisbank/artikel/how-do-i-deploy-my-django-project

1. Open in het paneel **Mijn servers** en klik op je server.
2. Wacht op het tabblad **Overzicht** tot de rij **App** "Django is klaar" meldt. De pagina ververst zichzelf.
3. Open de link in de rij **Beheeradres** en vul de gegevens uit de rijen **Login** en **Wachtwoord** in.

## Aan het project werken

[Verbind via SSH](https://www.seturack.com/nl/kennisbank/artikel/how-to-connect-with-ssh) en voer uit:

`su - app`

`cd ~/proje`

`set -a; . /etc/seturack-django.env; set +a`

De laatste regel laadt de productie-instellingen. Daarna werken `venv/bin/python manage.py migrate` en `venv/bin/python manage.py collectstatic`. Voeg pakketten toe met `venv/bin/pip install`. Voer `systemctl restart uygulama` als root uit wanneer je code verandert.

## Bestanden

- Productie-instellingen: `~/proje/proje/uretim.py`
- Geheime waarden: `/etc/seturack-django.env`
- De databasenaam en de databasegebruiker zijn allebei `django`, op host `127.0.0.1`. PostgreSQL staat niet open naar buiten.

## Je eigen domein

1. Laat het A-record van je domein naar het IP-adres van je server wijzen.
2. Vervang als root de oude naam overal: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. `OLD_NAME` is het deel na `https://` in het adres dat het paneel toont.
3. Voer `systemctl reload caddy` uit.

Caddy haalt het certificaat zelf op en vernieuwt het zelf.

Schrijf je domein ook in `DJANGO_ALAN` en `DJANGO_ADRES` in `/etc/seturack-django.env`. Naar buiten zijn alleen **80**, **443** en **22** (voor SSH) open.

**Nog geen server?** [Bestel een server met Django geïnstalleerd](https://www.seturack.com/nl/django-vps): jij kiest de grootte en betaalt voor wat je kiest.
