Tuto pour le déploiement des sites Django

De WikiBR

Comment déployer un site Django sur le serveur kevarzh ?

Tout d'abord il faut se munir de ces identifiants frankiz. Ensuite vous ouvrez votre terminal et vous vous connectez sur le serveur avec la commande ssh.

  • Il faut donc taper : ssh prenom.nom@129.104.201.52

Une fois que vous avez tapé votre code, vous arrivez sur le serveur dans un dossier à votre nom. Il y a un fichier README.txt qui devrait donner un certain nombre d'informations sur le fonctionnement de kevarzh ou encore sur certaines modifs à faire sur le code de votre site. Vous pouvez vous diriger sur le serveur par les commandes habituelles. Votre dossier personnel se trouve dans /hosting/user/prenom.nom. Pour accéder aux sites binets il faut aller dans hosting/www/nom_binet. (Tout cela est indiqué dans README).

Une fois dans ce dossier il y a peut-être plusieurs dossiers qui correspondent aux différentes versions du site de votre binet. Vous créez un dossier au nom de votre version de site. C'est donc dans ce dossier que vous allez pouvoir copier le code de votre site.

  • Pour copier le code : scp -r /code_site prenom.nom@129.104.201.52:/hosting/wwww/nom_binet/version_site

Attention ! L'espace réservé à chaque binet est limité dans il faut se méfier quand on fait une copie, notamment a l'environnement virtuel. D'abord il pèse lourd, en plus il faudra que vous le remplaciez de toute façon. Autant ne pas le copier dès le départ...

Une fois que vous avez fait ça, vous pouvez essayer de recréer l'environnement virtuel.

  • Pour cela : virtualenv -p /usr/bin/python3 venv

Il est important que vous nommiez le dossier venv.

Ensuite vous allez pouvoir passer aux modifications du code pour déployer le site. Il y a une bonne checklist à vérifier qui nous est proposée par le site django : [1]. La, pas besoin de se casser la tête il suffit de suivre la liste, des liens sont là pour expliquer en détails ce que l'on fait à chaque fois. Les points essentiels à ne surtout pas sauter sont : DEBUG, SECRET_KEY, ALLOWED_HOST, STATIC_ROOT,STATIC_URL, MEDIA_ROOT et MEDIA_URL. C'est à chaque fois des modifications dans le fichier settings.py.

Pour la partie media et static, les codes à indiquer sont dans le README.txt. Si vous avez compris ces codes vous voyez qu'il faut créer un dossier assets dans lequel on mettre les fichiers static et les media. Pour les fichiers static on utilise la commande collectstatic. Dans le README il est aussi fait mention de lignes à ajouter pour recevoir des emails quand il y a de erreurs.

A chaque fois pour tester vos changements sur le code il faut enregistrer la modification.

  • Avec le code : touch /var/run/please/restart

Il faut attendre 1 ou deux minutes que le système enregistre la modification, quand c'est fait il affiche un message dans le terminale. Pour checker les changements il suffit de taper l'url du site pour constater en direct les changements. Si jamais il y a un souci il y a deux emplacements pour les logs : /var/log/uwsgi/nom_binet ou /hosting/log/nom_binet.

Une fois que vous avez tout fait et que votre site fonctionne c'est que tout est bien dans le meilleur des mondes.

Si jamais vous voulez lancer une commande depuis le serveur (par exemple des commandes git) n'oubliez pas de mettre proxychains devant votre commande.