Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C capsuledb
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gem
  • capsuledb
  • Wiki
  • Home

Home · Changes

Page history
bneron created page: home authored Jul 20, 2017 by Bertrand  NÉRON's avatar Bertrand NÉRON
Hide whitespace changes
Inline Side-by-side
home.md 0 → 100644
View page @ adb11750
# Admin guide
## architecture générale
### overview
* Le projet txssdb est hebergé sur couchdb.web.pasteur.fr (machine virtuelle CentOS release 6.6 (Final))
* Le home du projet est /opt/macsydb/txssdb
* Le projet a été réalisé via une couchapp.
* Le projet utilise donc couchdb comme serveur de base de données et comme serveur d'application web.
couchdbKit (module python) est necessaire au parser pour remplir/mettre à jour les données
et couchapp pour gérer l'application web
* tous ces modules python ont été installés dans un virtualenv (pyhton2.6)
<pre>couchdb:/opt/macsydb/txssdb$virtualenv virtualenv
source virtualenv/bin/activate
pip install couchapp
</pre>
les sources txssdb sont dans un repos git a l'adresse suivante:
https://gitlab.pasteur.fr/gem/txssdb/
un apache est en frontal et sert de reverse proxy a couchDB
### arboresence du projet
<pre>
/opt/macsydb (home des bases macsydb)
|-> txssdb (home du projet txssdb)
|-> virtualenv
|-> txssdb lien vers la version courante de txssdb-xx
|-> txssdb-xx
|-> data ( data contient les données fournies par sophie abby un fichier d'info sur les replicons, un fichier d'info sur les systemes de secretion )
|-> src (l'application)
|-> parser (contient le script de peuplement/update des données dans la base couchdb)
|-> couchapp (contient la couchapp txssdb )
</pre>
### config
TODO
#### couchdb
/opt/couchdb/etc/couchdb/local.ini
l'authentification basic authent a été désactivée car une basic authent a été mise en place dans apache
authentication_handlers = {couch_httpd_auth, null_authentication_handler}
#### apache
un virtualhost a été configuré dans l'apache central de couchdb.web.pasteur.fr (user group couchdb.couchdb)
/etc/httpd/conf.d/txssdb.conf
ce virtualhost est en frontal et sert de reverse proxy a couchdb qui est bindé sur localhost:5984
seul les requettes http HEAD et GET sont autorisées pour prévenir toute modification de la base couchdb depuis l'exterieur
une réécriture d'url permet de rediriger
http://macsydb.web.pasteur.fr -> /opt/front/index.html
qui est une page statique de présentation des différentes bases
### logs
TODO
#### apache
pour le moment avec tous les logs apache des différentes base sont mélangés
<pre>
/var/log/httpd/macsydb_error_log
/var/log/httpd/macsydb_access_log
</pre>
#### couchdb
<pre>/opt/couchdb/var/log/couchdb/couch.log</pre>
malheureusement seul 5 semaines de logs sont gardés
## démarrage de capsuledb
<pre>sudo /etc/init.d/httpd start|stop|reload
sudo /etc/init.d/couchdb start|stop</pre>
## init du projet
### création de la base couchdb
établir un tunnel ssh avec couchdb.web.pasteur.fr
<pre>
ssh couchdb.web.pasteur.fr -L 12345:localhost:5984
</pre>
dans un navigateur: http://localhost:12345/_utils/
se logger en tant qu'admin créer la base capsuledb
### création du repertoire du projet
à l'avenir il risque d'y avoir plusieurs base semblables
elles serons regroupes dans le repertoire macsydb
chaque base aura son sous repertoire avec son virtualenv
<pre>cd /opt
mkdir macsydb
cd macsydb
mkdir txssdb
cd capsuledb
virtualenv virtualenv
source /opt/macsydb/capsuledb/capsule-env/bin/acitvate
</pre>
capsuledb est versionné sous git
création d'une archive et copie de cette archive sur le serveur couchdb.web.pasteur.fr
*Attention* l'archive ne contient pas le repertoire racine, il faut donc le creer
sur couchdb.web.pasteur.fr avant d'extraire l'archive
sur une machine perso
<pre>
git clone https://projets.pasteur.fr/git/txssdb
git archive --format=tar.gz --output=txssdb-1.0.tar.gz 1.0
scp txssdb-1.0.tar.gz couchdb.web.pasteur.fr:/opt/macsysdb/txssdb/txssdb/
</pre>
### initialisation de la couchapp
sur couchdb.web.pasteur.fr
<pre>
cd /opt/macsydb/capsuledb/capsuledb
tar -xzf capsuledb-1.0.tar.gz
source /opt/macsydb/capsuledb/capsule-env/bin/activate
pip install -r capsuledb/requirements.txt
cd src/couchapp/
couchap init capsuledb
</pre>
configuration de la couchapp par defaut
éditer le fichier .couchapprc
<pre>
{ "env": { "default": { "db": "http://localhost:5984/capsuledb" } } }
</pre>
remplir la base avec l'application
<pre>
couchapp push
</pre>
remplir la base avec les données
<pre>
cd parser
./parser.py -S http://localhost:5984 -d capsuledb -r ../../data/info_replicon.dat -s ../../data/info_syst.dat -f</pre>
le script va demander un login/mot de passe. Il faut fournir ceux d'un des admins de la base secreton (voir fichier de conf couchapp local.ini)
## peuplement de la base/mise à jour des données
activer virtualenv : <pre>source /opt/macsydb/capsuledb/capsule-env/bin/acitvate
cd ../../parser
./parser.py -S http://localhost:5984 -d txssdb -r ../../data/info_replicon.dat -s ../../data/info_syst.dat -f</pre>
## mise à jour de l'application web
activer virtualenv : <pre>source /opt/macsydb/capsuledb/capsule-env/bin/acitvate
cd /opt/macsydb/capsuledb
cp capsuledb-x.x .
rm capsuledb
ln -s capsuledb-x.x capsuledb
cd txssdb/src/couchapp/capsuledb/
couchapp push</pre>
pour sortir de virtualenv : <pre>deactivate</pre>
Clone repository
  • Home