Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:install_khaganat_web [2018/08/06 13:34] – ↷ Liens modifiés en raison d'un déplacement. zatalyz | fr:install_khaganat_web [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
Pour plus de détails sur le projet, voir la page [[fr: | Pour plus de détails sur le projet, voir la page [[fr: | ||
- | Cet article détaille comment installer et paramétrer le site web. | + | Cet article détaille comment installer et paramétrer le site web (la version " |
- | ===== Dépendances | + | ===== 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 [[fr: | + | 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 [[fr: |
+ | 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:// | ||
+ | cd khaganat-web | ||
+ | |||
+ | Puis modifier les variables d' | ||
+ | nano .env | ||
+ | |||
+ | Adaptez le fichier avec les paramètres suivants. Les deux variables KHAGANAT_SECRET_KEY, | ||
+ | < | ||
+ | # KHAGANAT_SECRET_KEY (required)='' | ||
+ | KHAGANAT_SECRET_KEY='' | ||
+ | # KHAGANAT_DEBUG='' | ||
+ | KHAGANAT_DEBUG=' | ||
+ | # KHAGANAT_HOSTNAMES='' | ||
+ | KHAGANAT_HOSTNAMES='' | ||
+ | # KHAGANAT_LANGUAGE_CODE='' | ||
+ | # KHAGANAT_TIME_ZONE='' | ||
+ | # KHAGANAT_STATIC_URL='' | ||
+ | # KHAGANAT_STATIC_ROOT='' | ||
+ | # KHAGANAT_STATIC_DIRS='' | ||
+ | # KHAGANAT_LOGS_MIN_DAYS='' | ||
+ | # KHAGANAT_LOGS_MAX_DAYS='' | ||
+ | # KHAGANAT_LOGIN_REDIRECT_URL='' | ||
+ | # KHAGANAT_REGISTER_REQUIRE_VALIDATION='' | ||
+ | # KHAGANAT_EMAIL_HOST='' | ||
+ | # KHAGANAT_EMAIL_PORT='' | ||
+ | # KHAGANAT_EMAIL_HOST_USER='' | ||
+ | # KHAGANAT_EMAIL_HOST_PASSWORD='' | ||
+ | # KHAGANAT_EMAIL_USE_STARTTLS='' | ||
+ | # KHAGANAT_EMAIL_USE_TLS='' | ||
+ | # KHAGANAT_EMAIL_SUBJECT_PREFIX='' | ||
+ | # KHAGANAT_DEFAULT_FROM_EMAIL='' | ||
+ | # KHAGANAT_FORCE_HTTPS='' | ||
+ | # KHAGANAT_HTTPS_HEADER_NAME='' | ||
+ | # KHAGANAT_HTTPS_HEADER_VALUE='' | ||
+ | # KHAGANAT_NSFW_TAGS='' | ||
+ | # KHAGANAT_NSFW_NAME='' | ||
+ | </ | ||
+ | |||
+ | |||
+ | Ensuite, mettez l' | ||
+ | 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 '' | ||
+ | < | ||
+ | pipenv run ./manage.py compilemessages | ||
+ | pipenv run ./manage.py createsuperuser | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Collecter les static ou non ==== | ||
+ | |||
+ | Le script collectstatic concerne les véritables déploiements, | ||
+ | |||
+ | Lancez ensuite la commande suivante : | ||
+ | pipenv run ./manage.py collectstatic --clear --noinput | ||
+ | |||
+ | ==== Le serveur web ==== | ||
+ | |||
+ | Avant d' | ||
+ | <WRAP center round todo 60%> | ||
+ | Ce qui suit est à travailler/ | ||
+ | </ | ||
+ | |||
+ | Dans le cas d'un déploiement en mode développement (pas de la production !) on va utiliser un utilitaire fourni avec Django, appelé " | ||
+ | pipenv run ./manage.py runserver 0:8000 | ||
+ | * 0 permet qu'on y accède même si ce n'est pas sur le réseau local (par défaut, c'est localhost) | ||
+ | * 8000 est le port utilisé, qu'on peut changer | ||
+ | * Pensez à lancer le runserver dans un shell à part, c'est un serveur donc il ne s' | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | <WRAP center round info 90%> | ||
+ | Si comme nous, vous êtes derrière un proxy, il faudra modifier sur la config du proxy afin que cela point vers le port de votre VM. | ||
+ | |||
+ | Sur la VM du proxy, config apache (''/ | ||
+ | < | ||
+ | ProxyPass / http:// | ||
+ | ProxyPassReverse / http:// | ||
+ | ProxyRequests off | ||
+ | ProxyPreserveHost on | ||
+ | <Proxy *> | ||
+ | Options FollowSymLinks MultiViews | ||
+ | AllowOverride All | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | [...]</ | ||
+ | Et sur la VM où Django est installé : | ||
+ | < | ||
+ | ProxyRequests off | ||
+ | ProxyPreserveHost on | ||
+ | |||
+ | | ||
+ | < | ||
+ | ProxyPassReverse http:// | ||
+ | Require all granted | ||
+ | </ | ||
+ | |||
+ | [...]</ | ||
+ | |||
+ | Ensuite la commande suivante fonctionnera : | ||
+ | pipenv run ./manage.py runserver 0:8000 | ||
+ | </ | ||
+ | Je déconseille de pointer ailleurs qu'à la racine, à moins de savoir changer les comportements de Django. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Le readme se base sur nginx. Il faudrait adapter à Debian, à notre installation avec proxy/ | ||
+ | |||
+ | Paquets à installer sous Debian. | ||
+ | sudo apt install nginx-extras uwsgi uwsgi-plugin-python3 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Premier lancement ==== | ||
+ | |||
+ | Au premier lancement, il n'y a pas de page créé sur la racine du site, ce qui fait peur (pleins d' | ||
+ | |||
+ | Il suffit de se rendre à l' | ||
+ | |||
+ | |||
+ | ==== Récupérer le détail de Khaganat ==== | ||
+ | <WRAP center round todo 60%> | ||
+ | Pour le moment, ce n'est pas sur un dépôt public. | ||
+ | |||
+ | Suffit de copier la base de donnée : | ||
+ | scp cipra.khaganat.net:/ | ||
+ | </ | ||
+ | |||
+ | ==== Yakalfr lié : faire le css ==== | ||
+ | [[taf> | ||
+ | |||
+ | ===== Astuces et trucs utiles ===== | ||
+ | ==== Exporter la navbar ==== | ||
+ | Pour exporter la navbar, afin de l' | ||
+ | < | ||
+ | cd / | ||
+ | pipenv run ./manage.py navbar_export --lang fr --docuwiki | ||
+ | </ | ||
+ | |||
+ | Le résultat sera dans '' | ||
+ | |||
+ | pour lister toutes les option d' | ||
+ | pipenv run ./manage.py navbar_export -h | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
{{tag> | {{tag> |