Project

General

Profile

NetDRMS Installation » History » Version 4

Version 3 (Herve Ballans, 30/06/2015 16:18) → Version 4/369 (Herve Ballans, 30/06/2015 17:01)

{{>toc}}

h1. NetDRMS Installation

h2. Requirements

h3. Adding user production

<pre>
# adduser production
# addgroup ias
# adduser production ias
</pre>

h3. Configuring production environment

TBD

h3. sshagent to JSOC

TBD

h3. Mise en place de Privilèges pour le SUMS_MANAGER

Veuillez modifier le fichier /etc/sudoers afin que le user 'production' puisse exécuter le programme sum_chown que nous placerons plus loin dans le répertoire :usr/local/bin.
Cela se fait en ajoutant au fichier la ligne suivante :
production host=NOPASSWD:/usr/local/bin/sum_chmown

h3. Mise en place du fichier de mot de passe pour la base postgres

Veuillez créer le fichier .pgpass contenant les informations nécessaires au user 'production" afin qu'il se connecte sans mot de passe, en tant que 'production' ou 'postgres' aux 2 bases que l'on créera plus loin ias_sdo et ias_sdo_sums.

.pgpass content :
<pre>
sol-sdo1:5432:ias_sdo:production:
sol-sdo1:5434:ias_sdo_sums:production:
sol-sdo1:5432:ias_sdo:postgres:
sol-sdo1:5434:ias_sdo_sums:postgres
</pre>

h3. Install missing libraries

• libreadline-dev (but already installed with postgresql)
• libssl-dev
• libpam0g-dev
• libperl-dev

<pre>
# apt-get install $library_name
</pre>
where
_$library_name_ is the name of library

Then :
<pre>
# ldconfig
</pre>

h3. Reconfigure locale

<pre>
# dpkg-reconfigure locales
</pre>

select fr_FR.UTF8 UTF8 and unselect en_US.UTF-8

localedef -i en_US -f UTF-8 en_US.UTF-8

(see here : [[http://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian]])

h3. Install missing packages

<pre>
# apt-get install gfortran swig
</pre>

h3. Installation of cfitsio library

Vesrion 3.37 (currently on sdo : 3.24)
<pre>
# wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3370.tar.gz
</pre>

Dés-archivage et décompression
<pre>
# tar -xzvf cfitsio3370.tar.gz
</pre>

Placez vous dans le répertoire /home/production/cftisio

su - root and :
<pre>
# ./configure --prefix=/usr/local
# make
# make install
</pre>

h2. Installation of postgresql

See the section : [[Test_Environment_-_Virtual_Machine_description#Manual-install-of-postgresql]]

h2. NetDRMS databases

on /DATABASES

(Note : section 2.4 dans doc netdrms first install)

<pre>
# mkdir data
# mkdir data_sums
# chown postgres:postgres data
# chown postgres:postgres data_sums
</pre>

h3. Initialisation des 2 serveurs data et data_sums

En tant qu'utilisateur postgres
<pre>
# su - postgres

$ initdb --locale=C -D data -A md5 -W
(no password)

Success. You can now start the database server using:

postgres -D data
or
pg_ctl -D data -l logfile start

$ initdb --locale=C -D data_sums -A md5 -W
(no password)

Success. You can now start the database server using:

postgres -D data_sums
or
pg_ctl -D data_sums -l logfile start

</pre>

Edition des fichiers postgresql.conf pour configurer les bons ports d'écoute :
listen_addresses = '*'
data -> port 5432
data_sums -> port 5434

Edition des fichiers data*/pg_hba.conf : remplacer md5 par trust
<pre>
#"local"
local all all trust
#"IPv4"
host all all trust
</pre>

Démarrage des 2 bases :

<pre>
# su - postgres
$ cd /DATABASES
$ pg_ctl -D data -l PG_LOGS/data start
$ pg_ctl -D data_sums -l PG_LOGS/data_sums start
</pre>

createdb --locale C -E LATIN1 -T template0 ias_sdo
createdb --locale C -E LATIN1 -T template0 -p 5434 ias_sdo_sums

h2. Installation de l'outil NetDRMS

On se base sur la doc dipsonible ici :

Les sources sont dans :
/usr/local/netdrms_8.8/ /usr/local/netdrms_8.7/

(Pour comparaison avec le serveur en production, on copie également le dossier netdrms_2.4 de sdo)

on créé un lien symbolique netdrms_current qui pointe sur la dernière release
ln -s netdrms_8.8/ netdrms_current

netdrms_8.7

Comparaison du fichier config.local.template avec le fichier config.local de la version 2.4

Création d'un alias netdrms dans /root/.bashrc
<pre>
alis netdrms='cd /usr/local/netdrms_current'
</pre>

h3. Modification du fichier /usr/local/netdrms_current/configure

<pre>
# The system configuration for configure script
set PERLBIN = "/usr/bin/perl"
set PYBIN = "/usr/bin/python"
</pre>

h3. Modification du fichier /usr/local/netdrms_current/build/jsoc_machine.csh

ligne 28 :

<pre>
case "x86_64":
echo linux_x86_64
</pre>

h3. Copier /usr/local/netdrms_2.4_release/base/drms/apps/serverdefs.h dans /usr/local/netdrms_current/base/drms/apps

h3. Modification du fichier /usr/local/netdrms_current/configure

au lieu de $? en csh on va mettre plutot $status

ligne 110 :

<pre>
if ($status==0)
</pre>

et ligne 123 122 :

<pre>
if ($status==0)
</pre>

Lancement :
<pre>
./configure
</pre>



h3. Installation des libraries libtar-dev, libcurl3-dev et libecpg-dev

<pre>
apt-get install libtar libtar-dev
</pre>

<pre>
apt-get install libcurl3-dev
</pre>

<pre>
apt-get install libecpg-dev
</pre>

h3. #H4ck 2 Malade #PabloR0cks#

Modification du fichier /usr/include/stdint.h

ligne 56 : long int remplacé par long long int

"Allo Linus ?!?.."

h3. Compilation

<pre>
# make
# make sums
</pre>

h2. TO BE DONE FURTHER

h3. Modification du fichir config.local pour la souscription au jsoc

<pre>
# NetDRMS users can request subdirectories from the Stanford proj directories
# (e.g., JSOC/proj/util). These users will need to contact Stanford and obtain
# the source subdirectories desired. They will then place these subdirectories
# in the JSOC/proj directory of their NetDRMS release. To properly build
# targets in these subdirectories, using the JSOC make system, the user needs
# to add entries to this configuration file - one entry for each subdirectory
# that contains source code to be compiled. Each entry is a space-separated pair
# of strings: the string "PROJDIR" followed by a subdirectory (of the proj
# directory). For example:
#
# PROJDIR util/apps
# PROJDIR util/libs
#
# NOTE: It is not sufficient to list only a parent directory, like util. Source code
# in child directories will not automatically be compiled.
</pre>