User Tools

Site Tools


tranb-300

This is an old revision of the document!


TranB-300

Serveur du cours de Seth qui était géré par Simon. Il est hébergé sur miyamoto.ulb.ac.be.

Coté serveur

#C'est la machine 400
root@Miyamoto:~# vzlist
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
       295         70 running   164.15.6.95     devphilo.ulb.ac.be
       297        149 running   164.15.6.82     edo.ulb.ac.be
       400         88 running   164.15.6.130    tranb300.ulb.ac.be
 
#Pour la redémarrer 
root@Miyamoto:~# vzctl restart 400
Restarting container
Stopping container ...
Container was stopped
Container is unmounted
Starting container...
Container is mounted
Adding IP address(es): 164.15.6.130 10.0.6.130/24
Setting CPU units: 1000
Container start in progress...
 
#modifier le mot-de-passe root
root@Miyamoto:~# vzctl exec 400 passwd root
Enter new UNIX password: xxxxxxx
Retype new UNIX password: xxxxxxx
passwd: password updated successfully

Se connecter à la machine

Pour se connecter avec l'utilisateur seth :

#Connexion ssh depuis un terminal
R3-MAC1:Desktop supportsic$ ssh seth@tranb300.ulb.ac.be
seth@tranb300.ulb.ac.be s password: 
 
#ensuite devenir administrateur
seth@tranb300:~$ sudo su -
 
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
 
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
 
[sudo] password for seth: 
 
root@tranb300:~#

J'ai créé un utilisateur seth, mot-de-passe : Ge8Ja901

STRUCTURE

Tout est dans /var/www, à savoir :

  • les scripts Python, avec les anciens pour référence
  • le .zip avec l'instance Omeka augmentée (i.e. un zip contenant la nouvelle version d'Omeka + les plugins ex: omeka-2018.zip
  • le fichier “mots de passe” (datas.db)

SCRIPTS

Différents scripts permettant d'installer plusieurs instances d'Omeka. Simon a pris ces scripts du projet omeka-build-deploy ici : https://github.com/faustusdotbe/omeka-bulk-deploy.

Evidemment nous avons du les modifier pour les nouvelles versions d'Omeka.
Les scripts ( dans /var/wwww/ ):

  • new_deploy-2018, C'est le script à lancer pour installer les instances en masse. La commande à lancer est :
root@tranb300:~# python new_deploy-2018.py --xvfb 25 

Il est aussi possible d'ajouter –prompt comme argument, ce qui permet de nommer les instances de manière différente que “groupexxx”.
Le script va demander (une fois) le mot de passe de la base de données. Ce dernier est A3uSqnzd . (Ne pas partager ce mail, donc :-) ) et ensuite installera les instances.
Le script va stocker les mots de passe et usernames dans le fichier datas.db Attention, ce sont les mots de passe créés à l'installation – si les étudiants changent de mot de passe, vous n'aurez plus accès à l'interface admin.

  • get_mail.py, qui va vous demander de préciser un nom d'instance et vous retournera le mot de passe (celui qui se trouve dans datas.db, càd celui créé à l'installation)
  • get_passwds_2018, qui va vous donner les mots de passe de tout le monde en format csv (;)






En pratique

Pour faire toutes les actions ci-dessous il faut d'abord Se connecter à la machine et aller dans le répertoire /var/www/ :

#Pour aller dans /var/www
root@tranb300:~# cd /var/www
root@tranb300:/var/www#

Créer x instances

Pour cela on utilise le script new_deploy-2018

root@tranb300:/var/www# python new_deploy-2018.py --xvfb 25
Host database password:

Le mot-de-passse : A3uSqnzd

Ensuite :

Host database password: 
Starting deployment of instance #972
    Passwords generated
    Starting to create db and user
    DB and user created
    DB password saved
    Starting to extract zip file
    Zip file extracted
    Configuring db.ini file
    Changing permissions on archive folder
    Setting language to french
    Starting install form processing
omekagroupe972
    Install form processed
    Omeka datas saved
    Install folder deleted
Instance #972 is deployed.
 
 
#Et ainsi de suite
#...

<note important> En cas de message d'erreur ou pour éviter un message d'erreur

Il vaut mieux créer maximum 25 instances à la fois. Chaque instance crée un serveur X virtuel pour lancer un navigateur. Le serveur sera vite surchargé. L'idéal c'est de faire 25-50 instances maximum puis redémarer la machine</note>

Redémarrer le serveur

Si lors des TP, le serveur est surchargé. Une solution efficace est de le redémarrer :

root@tranb300:/var/www# shutdown -r now

Obtenir la liste des instances et mots de passe

root@tranb300:/var/www# python get_passwds_2018.py
Il y a 951 instances d'omeka
URL                                | Logins   | Passwords
http://tranb300.ulb.ac.be/lcontzen;lcontzen;wSMyQIr9;
http://tranb300.ulb.ac.be/svhoolan;svhoolan;3Z2yA4ta;
http://tranb300.ulb.ac.be/rpanisi;rpanisi;Dj6yeNWc;

On peut copier/coller la fin (les nouvelles instances crées)

http://tranb300.ulb.ac.be/groupe935;groupe935;PLGw9Edq;
http://tranb300.ulb.ac.be/groupe936;groupe936;e7jjrtxU;
http://tranb300.ulb.ac.be/groupe937;groupe937;wpV8XDyv;
http://tranb300.ulb.ac.be/groupe938;groupe938;DRDuMGZE;
http://tranb300.ulb.ac.be/groupe939;groupe939;bzXsNXEQ;
http://tranb300.ulb.ac.be/groupe940;groupe940;x8Z69dMI;
http://tranb300.ulb.ac.be/groupe941;groupe941;3LKoRYAW;
http://tranb300.ulb.ac.be/groupe942;groupe942;aqefqecK;
http://tranb300.ulb.ac.be/groupe943;groupe943;M5SGVnsc;
http://tranb300.ulb.ac.be/groupe944;groupe944;yhf3MJ4d;
http://tranb300.ulb.ac.be/groupe945;groupe945;2jwE9LPo;
http://tranb300.ulb.ac.be/groupe946;groupe946;JH6IZ84y;
http://tranb300.ulb.ac.be/groupe947;groupe947;jjBqP8rY;
http://tranb300.ulb.ac.be/groupe948;groupe948;cdv2Eg5D;
http://tranb300.ulb.ac.be/groupe949;groupe949;nELQaUkY;
http://tranb300.ulb.ac.be/groupe950;groupe950;7zhLqssp;
http://tranb300.ulb.ac.be/groupe951;groupe951;IapXmSyn;

Par exemple dans un éditeur de texte et sauvegarder le fichier en .csv Ensuite on peut importer ce fichier dans Exell comme fichier .csv avec le ; comme séparateur.

Bloquer/Débloquer les admins des instances

Lorsque la date de fin du TP arrive, il faut pouvoir empêcher les étudiants de continuer à modifier leur instance Omeka.
Pour ce faire il existe 2 scripts permettant l'un de désactiver et l'autre de réactiver les interfaces admin.

  • Pour désactiver les admin :
    root@tranb300:/var/www# ./scripts/disable.admin.sh 
  • Pour réactiver les admin :
    root@tranb300:/var/www#./scripts/enable.admin.sh 

Personnaliser la page de cloture

Dans /var/www/scripts il y a 2 pages :

  • index.php.admin : la vrai page d'admin original
  • index.php.cloture : la page qu'on peut personnaliser avec le message de cloture


2018

Je cree une instance test_omeka_2018 avec tout les plugins pour Seth.

  • mot-de-passe : AKirEytucBene3A


Demandes supplémentaires :

  • Demande d'interface en français. (configuré par défaut).
Voici les infos d’installation pour 100 instances… 

Begin forwarded message:

From: Olivier Thirion <olivierthirion@gmail.com>
Subject: Re: Omeka
Date: 13 August 2018 at 11:33:51 GMT+2
To: Seth van Hooland <svhoolan@ulb.ac.be>
Cc: Laurence Maroye <Laurence.Maroye@ulb.ac.be>

Bonjour Seth, 

Comme convenu, le point sur ce dont nous avons besoin : 
- Omeka "classic" 2.6.1 
- Les plugins Exhibit Builder et SimplePage (préinstallés avec Omeka). Les plugin CollectionTree et Docs Viewer (à ajouter).
- Quelques thèmes en plus des 3 thèmes préinstallés (Berlin, Seasons, ThanksRoy) pour permettre davantage de personnalisation aux étudiants : BigPicture, Emiglio, Rythm, TheDaily.
- Idéalement, les changements de mots de passe et les ajouts de nouveaux plugins/thèmes doivent être bloqués (mais on peut faire sans)
- Idéalement augmenter un peu le poids maximum des documents uploadés jusqu'à 5-10 Mo (réglage au niveau du serveur)
- Enfin, il faut pouvoir empêcher les étudiants d'accéder au back-office de leurs instances à une date déterminée pour qu'il ne puissent plus ajouter de nouveaux items ni faire de modifications. 

L'an passé, il a fallu demander aux étudiants d'ajouter eux-même la valeur "/usr/bin/" dans le champs "Imagemagick directory path" (Settings\General). Ce qui a causé quelques difficultés (ils laissaient des espaces en trop). 
Peut-on adapter le script d'installation pour que cette valeur soit directement ajoutée dans le champ "path_to_convert" de la table "omeka_options" lors de la création de la base de données ? (si le chemin d'accès n'a pas changé)

Le script d'installation devrait être capable de déployer les instances qui seront accessible sur des URL de type "http://tranb300.ulb.ac.be/groupe8NN" (groupe800, groupe801, groupe802, etc.). 
L'installation complète de chaque instance devrait être effectuée par le script pour que les étudiants n'aient plus que l'activation des plugins à réaliser. Chaque groupe recevrait un nom d'utilisateur ("groupe78NN") et un mot de passe.

Voilà, je pense que tout y est. Bonne semaine,

Olivier

2017

Email original passage de bâton

Hello à tous,

Voici le "passage de bâton" quant aux instances Omeka !

Serveur: http://tranb300.ulb.ac.be 
Sur le serveur, les données se trouvent dans /var/www ( = le dossier apache où se trouvent les instances)

Je viens de déployer deux instances (Omeka 2.5.1) avec le nouveau plugin CollectionTree pour Olivier et Laura, info ci-dessous.


STRUCTURE: 

Tout est dans /var/www, à savoir
les scripts Python, avec les anciens pour référence
le .zip avec l'instance Omeka augmentée (i.e. un zip contenant la nouvelle version d'Omeka + le plugin CollectionTree), à savoir omeka-2.5.1-reloaded.zip
le fichier "mots de passe"
c'est tout
Les anciennes instances sont dans /var/www/201x-20x+1, eg http://tranb300.ulb.ac.be/2016-2017/

SCRIPTS:

  new_deploy-2.5.1.py, C'est le script à lancer pour installer les instances en masse. La commande à lancer est :

sudo python new_deploy-2.5.1.py --xvfb NOMBRE_D'INSTANCES_EN_CHIFFRES 

Il est aussi possible d'ajouter --promptcomme argument, ce qui permet de nommer les instances de manière différente que "groupexxx".
Le script va demander (une fois) le mot de passe de la base de données. Ce dernier est A3uSqnzd . (Ne pas partager ce mail, donc :-) ) et ensuite installera les instances.
Le script va stocker les mots de passe et usernames dans le fichier datas.db .
Attention, ce sont les mots de passe créés à l'installation -- si les étudiants changent de mot de passe, vous n'aurez plus accès à l'interface admin. 

  get_mail.py, qui va vous demander de préciser un nom d'instance et vous retournera le mot de passe (celui qui se trouve dans datas.db, càd celui créé à l'installation)

  get_pass.py, qui va vous donner les mots de passe de tout le monde (même remarque qu'au-dessus)

MISC:

<code>
Lorsque la deadline pour le travail est passée, il faut couper l'accès aux instances. Le quick-and-dirty trick que je fais est de remplacer le fichier /var/www/GROUPEXYZ/admin/index.php par un bête index.php qui dit "Deadline passée", et redémarrer Apache. Redémarrer Apache tue les sessions des utilisateurs, et, lorsqu'ils veulent se reconnecter sur leur page admin, ben la page admin n'est plus là. L'instance est toujours là, tout fonctionne, mais la porte d'entrée a été remplacée :-)

Si l'année prochaine vous voulez une version d'Omeka plus à jour, ou d'autres plugins, il faut récupérer le .zip sur leur site et l'unzipper. Également, il faut télécharger les plugins que vous désirez et les unzipper. Ensuite, mettre les plugins unzippés dans omeka-versionXYZ/plugins/ , rezipper le dossier omeka, et l'uploader sur le serveur. Adapter le script (new_deploy) pour les nouveaux noms de fichier et ça devrait tourner.


That's all :-)
tranb-300.1537886064.txt.gz · Last modified: 2024/04/04 10:18 (external edit)