Logo Khaganat
Traductions de cette page?:

Cette page est noté comme étant en brouillon. Votre participation pour l'améliorer est requise !

Ceci est une ancienne révision du document !


Installer Django et le site web Khaganat

Le projet Khaganat souhaite utiliser le Framework Django pour ses pages web.

Au 16 juin 2018, nous avons déjà un site en test, http://cipra.khaganat.net, sur lequel nous créons la structure du site.

À terme, ce site remplacera l'actuel.

Et sinon, là c'est du brouillon, pour m'en sortir quand je vais tenter d'installer le bouzin.

Pour plus de détails sur le projet, voir la page Khaganat web.

Cet article détaille comment installer et paramétrer le site web.

Installation

Django se base sur python. Votre serveur doit donc avoir les paquets python 3 et pipenv (ce qui va simplifier la suite). En cas de souci, voir Python (et Debian). Les informations les plus à jour seront dans le README du projet.

Sur debian, installez aussi gettext :

sudo apt install gettext

Configurer pipenv pour utiliser python 3 par défaut :

pipenv --three

Commencez par cloner le projet :

git clone https://git.khaganat.net/Tycho/khaganat-web.git khaganat-web
cd khaganat-web

Puis modifier les variables d'environnement :

nano .env

Adaptez le fichier suivant. Les deux variables KHAGANAT_SECRET_KEY, KHAGANAT_HOSTNAMES et KHAGANAT_STATIC_ROOT doivent impérativement être remplies :

# KHAGANAT_SECRET_KEY (required)='' Django's secret key, keep it secret (tip='' generate one using openssl rand -base64 42).
KHAGANAT_SECRET_KEY=''
# KHAGANAT_DEBUG='' Debug mode, default is false.
KHAGANAT_DEBUG='true'
# KHAGANAT_HOSTNAMES='' Allowed hostnames, coma separated.
KHAGANAT_HOSTNAMES=''
# KHAGANAT_LANGUAGE_CODE='' Language code, default is fr.
# KHAGANAT_TIME_ZONE='' Time zone, default is Europe/Paris.
# KHAGANAT_STATIC_URL='' URL for static files, default is /static/.
# KHAGANAT_STATIC_ROOT='' Absolute path to the directory where static files should be collected.
# KHAGANAT_STATIC_DIRS='' CSV list of additional locations where static files may be found, default is empty.
# KHAGANAT_LOGS_MIN_DAYS='' Numbers of days before logs are hidden, default is 7.
# KHAGANAT_LOGS_MAX_DAYS='' Number of days before logs are published, default is 0.
# KHAGANAT_LOGIN_REDIRECT_URL='' URL to redirect after user login. Will be reversed, default is index.
# KHAGANAT_REGISTER_REQUIRE_VALIDATION='' require email validation upon registration, default is true.
# KHAGANAT_EMAIL_HOST='' The host to use for sending email, default is localhost.
# KHAGANAT_EMAIL_PORT='' Port to use for the SMTP server, default is 25.
# KHAGANAT_EMAIL_HOST_USER='' Username to use for the SMTP server, default is empty (no authentication).
# KHAGANAT_EMAIL_HOST_PASSWORD='' Password to use for the SMTP server, default is empty.
# KHAGANAT_EMAIL_USE_STARTTLS='' Whether to use STARTTLS to connect to the SMTP server, default is False.
# KHAGANAT_EMAIL_USE_TLS='' Whether to use a TLS connection to the SMTP server, default is False.
# KHAGANAT_EMAIL_SUBJECT_PREFIX='' Subject-line prefix for email, default is empty.
# KHAGANAT_DEFAULT_FROM_EMAIL='' Default email address to use, default is no-reply@localhost.
# KHAGANAT_FORCE_HTTPS='' If True, enable the use of KHAGANAT_HTTPS_HEADER_NAME and KHAGANAT_HTTPS_HEADER_VALUE to set the SECURE_PROXY_SSL_HEADER configuration option. Default is False.
# KHAGANAT_HTTPS_HEADER_NAME='' Header name for SECURE_PROXY_SSL_HEADER, default is HTTP_X_FORWARDED_PROTO.
# KHAGANAT_HTTPS_HEADER_VALUE='' Header value for SECURE_PROXY_SSL_HEADER, default is https.
# KHAGANAT_NSFW_TAGS='' Coma-separated list of words that triggers the content warning in logs, default is \#nsfw.
# KHAGANAT_NSFW_NAME='' Name of the cookie holding the NSFW allowance, default is nsfw_allowed.

Ensuite, mettez l'environnement pipenv à jour dans ce dossier :

pipenv --three update

Puis lancer la construction du site. Si vous copiez la base de donnée d'une autre installation (par exemple de la version test vers la prod), oubliez les lignes migrate et createsuperuser :

pipenv run ./manage.py migrate
pipenv run ./manage.py compilemessages
pipenv run ./manage.py createsuperuser

Le script collectstatic concerne les véritables déploiements, ce n'est pas nécessaire si vous utilisez runserver.

Avant d'aller plus loin il faut paramétrer apache ou nginx ; le readme se base sur nginx donc on va adapter à Debian :

sudo apt install nginx-extras uwsgi uwsgi-plugin-python3

Démarrer le service

pipenv run ./manage.py runserver

Pensez à lancer le runserver dans un shell à part, c'est un serveur donc il ne s'arrêtera pas de tourner tant que qu'on le n'aura pas quité ou fait planter.

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/install_khaganat_web.1534169586.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact