...
| Avertissement |
|---|
Les commandes suivantes ont été lancées sur une distribution Debian 11.4 |
Environnement
Creation de l'utilisateur Pod
user@pod:~$ sudo adduser pod
user@pod:~$ adduser pod sudo
user@pod:~$ su pod
Installation de paquets
pod@pod:~$ sudo apt-get install git curl Création de l'environnement virtuel
pod@pod:~$ sudo python3 -V
pod@pod:~$ sudo python -V
pod@pod:~$ sudo apt-get install -y python3-pip
pod@pod:~$ pip3 search virtualenvwrapper
pod@pod:~$ sudo pip3 install virtualenvwrapper
...
pod@pod:~$ mkvirtualenv --system-site-packages --python=/usr/bin/python3 django_podRécupération des sources
Concernant l'emplacement du projet, je conseille de le mettre dans /usr/local/django_projects
...
(django_pod) pod@pod:~/django_projects$ git clone https://github.com/EsupPortail/Esup-Pod.git podv3
Clonage dans 'podv3'...
remote: Counting objects: 4578, done.
remote: Compressing objects: 100% (378/378), done.
remote: Total 4578 (delta 460), reused 564 (delta 348), pack-reused 3847
Réception d'objets: 100% (4578/4578), 4.40 MiB | 3.88 MiB/s, fait.
Résolution des deltas: 100% (3076/3076), fait.
(django_pod) pod@pod:~/django_projects$ cd podv3/
Applications tierces
Installation de toutes les librairies python :
Il faut vérifier que l'on se trouve bien dans l'environnement virtuel (présence de "(django_pod)" au début l'invite de commande. Sinon, il faut lancer la commande $> workon django_pod
...
(django_pod) pod@pod:~/django_projects/podv3$ pip3 install --proxy="PROXY:PORT" -r requirements.txt
FFMPEG
Pour l'encodage des vidéos et la creation des vignettes, il faut installer ffmpeg, ffmpegthumbnailer et imagemagick (ne pas installer sur le serveur frontal si vous déportez l'encodage)
(django_pod) pod@pod:~/django_projects/podv3$ sudo apt-get install ffmpeg
(django_pod) pod@pod:~/django_projects/podv3$ sudo apt-get install ffmpegthumbnailer
(django_pod) pod@pod:~/django_projects/podv3$ sudo apt-get install imagemagick
Redis
Pour installer le cache Redis
...
Si vous utiisez Redis sur une autre machine, n'oubliez pas de modifier le bind dans le fichier de configuration /etc/redis/redis.conf
Elasticsearch
Installation de Java
Pour utiliser Elasticsearch, il faut avoir java11 sur sa machine
...
(django_pod) pod@pod:~/django_projects/podv3$ cd /usr/share/elasticsearch/
(django_pod) pod@pod:/usr/share/elasticsearch$ sudo bin/elasticsearch-plugin install analysis-icu
-> Downloading analysis-icu from elastic
[=================================================] 100%
-> Installed analysis-icu
(django_pod) pod@pod:/usr/share/elasticsearch$ sudo /etc/init.d/elasticsearch restart
[ ok ] Restarting elasticsearch (via systemctl): elasticsearch.service.
Creation de l'index Pod
Nous pouvons enfin vérifier le bon fonctionnement de l'ensemble (l'erreur affichée lors de la deletion est normal puisque l'indice n'existe pas mais nous devons supprimer avant de créer un index dans ES):
...
Python console ES_URL = ['http://elastic.domaine.fr:9200/']Installation de Redis
Voir la doc officielle https://redis.io/docs/getting-started/
...
| Bloc de code | ||
|---|---|---|
| ||
$ redis-cli ping PONG |
Installation des dépendances
Pour installer les dépendances, il faut en premier installer nodejs, npm et yarm
...
(django_pod) pod@pod:~/django_projects/podv3$ python manage.py collectstatic --no-input --clearMise en route
Base de données SQLite intégrée
Lancer le script présent à la racine afin de créer les fichiers de migration, puis de les lancer afin de créer la base de données SQLite intégré
| Bloc de code | ||
|---|---|---|
| ||
(django_pod) pod@Pod:~/django_projects/podv3$ make createDB |
Fichier de configuration settings_local.py
Vous devez créer un fichier de configuration local dans le dossier pod/custom.
...
Configuration de la plateforme
SuperUtilisateur
Il faut créer un premier utilisateur qui aura tous les pouvoirs sur votre instance.
(django_pod) pod@Pod:~/django_projects/podv3$ python manage.py createsuperuser
Tests
Enfin afin de vérifier que votre instance est opérationnelle, il faut lancer les tests unitaires :
(django_pod) pod@Pod:~/django_projects/podv3$ python manage.py test --settings=pod.main.test_settings
Serveur de développement
Le serveur de développement permet de tester vos futurs modifications facilement.
...
--> exemple : (django_pod) pod@pod:~/django_projects/podv3$ python manage.py runserver pod.univ.fr:8080
- Attention -
...
Quand le site est lancé, il faut se rendre dans la partie administration puis dans site pour renseigner le nom de domaine de votre instance de Pod (par défaut 'example.com').
Avant la mise en production, il faut vérifier le fonctionnement de la plateforme dont l'ajout d'une vidéo, son encodage et sa suppression.
Attention, pour ajouter une vidéo, il doit y avoir au moins un type de vidéo disponible. Si vous avez correctement peuplé votre base de données avec le fichier initial_data.json vous devez au moins avoir other/autres.
il faut vérifier l'authentification CAS, le moteur de recherche etc.
...