Skip to content

Installation d'un serveur Cassandre et AAAforREST sur CentOS 7 & CouchDB 2.3.1

Christophe Lejeune edited this page Apr 17, 2019 · 4 revisions

Ces notes d'installation ne concernent que les administrateurs systême souhaitant installer Cassandre dans leur institution. Ne suivez pas ces notes si vous souhaitez simplement utiliser Cassandre; connectez-vous simplement à un serveur existant. Si vous ne savez pas où en trouvez un, n'hésitez pas à contacter Christophe Lejeune ou Aurélien Bénel, qui vous indiqueront comment accéder à un serveur proche de vous.

  • Mettre à jour le serveur
yum update 
  • Installer les Extra Package for Enterprise Linux
yum -y install epel-release 
  • Renseigner le lien vers le dépôt de rpm de CouchDB
nano /etc/yum.repos.d/apache-couchdb.repo 

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1
yum install couchdb 
  • Remplacer 127.0.0.1 par 0.0.0.0 dans default.ini
nano /opt/couchdb/etc/default.ini 

[chttpd] 
port = 5984 
;bind_address = 127.0.0.1 
bind_address = 0.0.0.0 
  • Installer Cassandre Il n'est pas nécessaire de disposer de Couchapp sur le serveur. Pour ma part, j'ai utilisé Couchapp à partir d'un client. Pour le proxy, j'ai simplement copié app.js dans un répertoire séparé, à l'intérieur duquel je l'ai lancé.
  • Par défaut, le proxy (app.js) écoute le port 80. Je l'ai laissé ainsi dans un premier temps (pour tester que cela fonctionne) puis, une fois que j'ai installé AAAforREST (qui écoute le port 80 à sa place), je lui ai indiqué d'écouter un autre port.
  • Installer une version viable de NodeJS
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -- 
yum install nodejs 
npm install express 
npm install express-http-proxy 
npm install async 
node app.js 
  • Installer forever
npm -g install forever 
forever start app.js 
  • Préparer CouchDB à fonctionner avec AAAforREST, via Fauxton, grâce au boutton "Add Options" (en haut à droite).
Section Option Value
couch_httpd_auth proxy_use_secret true
secret secretkeyforcouchdbauthtoken
chttpd authentication_handlers {chttpd_auth, cookie_authentication_handler}, {chttpd_auth, proxy_authentication_handler}, {chttpd_auth, default_authentication_handler}
  • Créer un mot de passe administrateur dans CouchDB (via Fauxton). Ceci permettra de quitter l'admin party. Tant que l'on ne crée par de compte adminitrateur, tous les utilisateurs ont des droits d'administration. La gestion des accès de AAAforREST n'opère donc pas.
  • Installer AAAforRest (sources récupérées sur un client avec Couchapp puis copiées via SSH sur le serveur)
cd AAAforREST 
npm install 
mkdir log 
touch log/misc.log 
cp conf/config.sample.json conf/config.json 
  • Configurer AAAforREST
    • port : 80
    • sites > port : numéro de port écouté par le Proxy de Cassandre
    • path : supprimer ce paramètre
    • auhentication : coordonnées de annuaires LDAP consultés
    • forwardedLoginSecret : clé partagée avec Couchdb (correspondant à secretkeyforcouchdbauthtoken ci-dessus)

Clone this wiki locally