Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Concernant l’emplacement du projet, je conseille de le mettre dans /usr/local/django_projects

Bloc de code
(django_podpod3)pod@pod:~$ sudo mkdir /usr/local/django_projects

Vous pouvez faire un lien symbolique dans votre home pour arriver plus vite dans le répertoire django_projects :

Bloc de code
(django_podpod3)pod@pod:~$ ln -s /usr/local/django_projects django_projects

Placez-vous dans le répertoire django_projects

Bloc de code
(django_podpod3)pod@pod:~$ cd django_projects

Donnez les droits à l'utilisateur pod de lire et d‘écrire dans le répertoire :

Bloc de code
(django_podpod3) pod@pod:~/django_projects$ sudo chown pod:pod /usr/local/django_projects

...

Avertissement
iconfalse
titleRemarque

Si vous devez utiliser un proxy, vous pouvez le spécifier avec cette commande :

(django_podpod3) pod@pod:~/django_projects$ git config --global http.proxy http://PROXY:PORT

La récupération des sources de la V3 se fait via cette commande : git clone https://github.com/EsupPortail/Esup-Pod.git podv3

Bloc de code
(django_podpod3) 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.

Bloc de code
(django_podpod3) pod@pod:~/django_projects$ cd podv3/

...

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

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv3$ pip3 install -r requirements.txt 

...

De même, si vous devez utiliser un proxy :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv3$ pip3 install --proxy="PROXY:PORT" -r requirements.txt

...

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)

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv3$ sudo apt-get install ffmpeg
(django_podpod3) pod@pod:~/django_projects/podv3$ sudo apt-get install ffmpegthumbnailer
(django_podpod3) pod@pod:~/django_projects/podv3$ sudo apt-get install imagemagick

...

Pour installer le cache Redis

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv3$ sudo apt-get install redis-server

En théorie le service démarre automatiquement. Si vous avez installé Redis sur la même machine que Pod, rien à faire de plus. Pour vérifier si le service est bien démarré :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv3$ sudo service redis-server status

...

Pour utiliser Elasticsearch, il faut avoir java 11 sur sa machine.

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv2$ sudo apt-get install openjdk-11-jre

...

Voici :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv2$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
OK
(django_podpod3) pod@pod:~/django_projects/podv2$ sudo apt-get install apt-transport-https

Pour Elasticsearch 6 :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv2$ echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list deb https://artifacts.elastic.co/packages/6.x/apt stable main
(django_podpod3) pod@pod:~/django_projects/podv2$ sudo apt-get update && sudo apt-get install elasticsearch

Pour Elasticsearch 7 :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv2$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
(django_podpod3) pod@pod:~/django_projects/podv2$ sudo apt-get update && sudo apt-get install elasticsearch

Ensuite il faut paramétrer l’instance :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv2$ sudo vim /etc/elasticsearch/elasticsearch.yml

...

Pour utiliser la recherche dans Pod, nous allons avoir besoin également du plugin ICU :

Bloc de code
(django_podpod3) pod@pod:~/django_projects/podv3$ cd /usr/share/elasticsearch/
(django_podpod3) pod@pod:/usr/share/elasticsearch$ sudo bin/elasticsearch-plugin install analysis-icu
-> Downloading analysis-icu from elastic
[=================================================] 100%   
-> Installed analysis-icu
(django_podpod3) pod@pod:/usr/share/elasticsearch$ sudo /etc/init.d/elasticsearch restart
[ ok ] Restarting elasticsearch (via systemctl): elasticsearch.service.

...

Nous pouvons enfin vérifier le bon fonctionnement de l'ensemble (l’erreur affichée lors de la deletion est normale puisque l'indice n'existe pas, mais nous devons supprimer avant de créer un index dans ES) :

Bloc de code
(django_podpod3) pod@pod:/usr/share/elasticsearch$ cd ~/django_projects/podv3
(django_pod3) pod@pod:~/django_projects/podv3$ python manage.py create_pod_index
DELETE http://127.0.0.1:9200/pod [status:404 request:0.140s]
An error occured during index video deletion: 404-index_not_found_exception : no such index
Successfully create index Video
(django_podpod3) pod@pod:~/django_projects/podv3$ curl -XGET "127.0.0.1:9200/pod/_search"
{"took":35,"timed_out":false,"_shards":{"total":2,"successful":2,"skipped":0,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

...