Project

General

Profile

NetDRMS Installation » History » Version 46

Pablo Alingery, 18/09/2015 14:41

1 1 Herve Ballans
{{>toc}}
2 1 Herve Ballans
3 1 Herve Ballans
h1. NetDRMS Installation
4 1 Herve Ballans
5 1 Herve Ballans
h2. Requirements
6 1 Herve Ballans
7 1 Herve Ballans
h3. Adding user production
8 1 Herve Ballans
9 1 Herve Ballans
<pre>
10 1 Herve Ballans
# adduser production
11 1 Herve Ballans
# addgroup ias
12 1 Herve Ballans
# adduser production ias
13 1 Herve Ballans
</pre>
14 1 Herve Ballans
15 1 Herve Ballans
h3. Configuring production environment
16 1 Herve Ballans
17 1 Herve Ballans
TBD
18 1 Herve Ballans
19 1 Herve Ballans
h3. sshagent to JSOC
20 1 Herve Ballans
21 1 Herve Ballans
TBD
22 1 Herve Ballans
23 1 Herve Ballans
h3. Mise en place de Privilèges pour le SUMS_MANAGER
24 1 Herve Ballans
25 1 Herve Ballans
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.
26 1 Herve Ballans
Cela se fait en ajoutant au fichier la ligne suivante :
27 1 Herve Ballans
	production host=NOPASSWD:/usr/local/bin/sum_chmown
28 1 Herve Ballans
29 1 Herve Ballans
h3. Mise en place du fichier de mot de passe pour la base postgres 
30 1 Herve Ballans
31 1 Herve Ballans
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.
32 1 Herve Ballans
33 1 Herve Ballans
34 1 Herve Ballans
.pgpass content :
35 1 Herve Ballans
<pre>
36 1 Herve Ballans
	sol-sdo1:5432:ias_sdo:production: 
37 1 Herve Ballans
	sol-sdo1:5434:ias_sdo_sums:production: 
38 1 Herve Ballans
	sol-sdo1:5432:ias_sdo:postgres: 
39 1 Herve Ballans
	sol-sdo1:5434:ias_sdo_sums:postgres
40 19 Pablo Alingery
</pre>
41 1 Herve Ballans
42 1 Herve Ballans
h3. Install missing libraries
43 1 Herve Ballans
44 1 Herve Ballans
	• libreadline-dev (but already installed with postgresql)
45 1 Herve Ballans
	• libssl-dev 
46 1 Herve Ballans
	• libpam0g-dev 
47 1 Herve Ballans
	• libperl-dev 
48 1 Herve Ballans
49 1 Herve Ballans
<pre>
50 1 Herve Ballans
# apt-get install $library_name
51 1 Herve Ballans
</pre> 
52 1 Herve Ballans
where
53 1 Herve Ballans
	_$library_name_ is the name of library
54 1 Herve Ballans
55 19 Pablo Alingery
Then to update path on libraries, please type :
56 1 Herve Ballans
<pre>
57 1 Herve Ballans
# ldconfig
58 19 Pablo Alingery
</pre>
59 1 Herve Ballans
60 1 Herve Ballans
h3. Reconfigure locale
61 1 Herve Ballans
62 1 Herve Ballans
<pre>
63 1 Herve Ballans
# dpkg-reconfigure locales
64 1 Herve Ballans
</pre>
65 1 Herve Ballans
66 1 Herve Ballans
select fr_FR.UTF8 UTF8 and unselect en_US.UTF-8
67 1 Herve Ballans
68 1 Herve Ballans
localedef -i en_US -f UTF-8 en_US.UTF-8
69 1 Herve Ballans
70 1 Herve Ballans
(see here : [[http://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian]])
71 1 Herve Ballans
72 1 Herve Ballans
h3. Install missing packages
73 1 Herve Ballans
74 1 Herve Ballans
<pre>
75 1 Herve Ballans
# apt-get install gfortran swig
76 1 Herve Ballans
</pre>
77 1 Herve Ballans
78 1 Herve Ballans
h3. Installation of cfitsio library
79 1 Herve Ballans
80 1 Herve Ballans
Vesrion 3.37 (currently on sdo : 3.24)
81 1 Herve Ballans
<pre>
82 1 Herve Ballans
# wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3370.tar.gz
83 1 Herve Ballans
</pre>
84 1 Herve Ballans
85 1 Herve Ballans
Dés-archivage et décompression
86 1 Herve Ballans
<pre>
87 1 Herve Ballans
# tar -xzvf cfitsio3370.tar.gz
88 1 Herve Ballans
</pre> 
89 1 Herve Ballans
90 1 Herve Ballans
Placez vous dans le répertoire /home/production/cftisio
91 1 Herve Ballans
92 1 Herve Ballans
su - root and :
93 1 Herve Ballans
<pre>
94 1 Herve Ballans
# ./configure --prefix=/usr/local
95 1 Herve Ballans
# make 
96 1 Herve Ballans
# make install
97 1 Herve Ballans
</pre> 
98 1 Herve Ballans
99 1 Herve Ballans
h2. Installation of postgresql
100 1 Herve Ballans
101 1 Herve Ballans
See the section : [[Test_Environment_-_Virtual_Machine_description#Manual-install-of-postgresql]]
102 1 Herve Ballans
103 1 Herve Ballans
h2. NetDRMS databases
104 1 Herve Ballans
105 1 Herve Ballans
on /DATABASES
106 1 Herve Ballans
107 1 Herve Ballans
(Note  : section 2.4 dans doc netdrms first install)
108 1 Herve Ballans
109 1 Herve Ballans
<pre>
110 1 Herve Ballans
# mkdir data
111 1 Herve Ballans
# mkdir data_sums
112 7 Pablo Alingery
# mkdir data_monitor
113 1 Herve Ballans
# chown postgres:postgres data
114 1 Herve Ballans
# chown postgres:postgres data_sums
115 7 Pablo Alingery
# chown postgres:postgres data_monitor
116 1 Herve Ballans
</pre>
117 1 Herve Ballans
118 1 Herve Ballans
h3. Initialisation des 2 serveurs data et data_sums
119 1 Herve Ballans
120 1 Herve Ballans
En tant qu'utilisateur postgres
121 1 Herve Ballans
<pre>
122 1 Herve Ballans
# su - postgres
123 1 Herve Ballans
124 1 Herve Ballans
$ initdb --locale=C -D data -A md5 -W
125 1 Herve Ballans
(no password)
126 1 Herve Ballans
127 2 Herve Ballans
Success. You can now start the database server using:
128 2 Herve Ballans
129 2 Herve Ballans
    postgres -D data
130 2 Herve Ballans
or
131 2 Herve Ballans
    pg_ctl -D data -l logfile start
132 2 Herve Ballans
133 2 Herve Ballans
134 1 Herve Ballans
$ initdb --locale=C -D data_sums -A md5 -W
135 1 Herve Ballans
(no password)
136 2 Herve Ballans
137 2 Herve Ballans
Success. You can now start the database server using:
138 2 Herve Ballans
139 2 Herve Ballans
    postgres -D data_sums
140 2 Herve Ballans
or
141 2 Herve Ballans
    pg_ctl -D data_sums -l logfile start
142 2 Herve Ballans
143 8 Pablo Alingery
$ initdb --locale=C -D data_monitor -A md5 -W
144 8 Pablo Alingery
(no password)
145 8 Pablo Alingery
146 8 Pablo Alingery
Success. You can now start the database server using:
147 8 Pablo Alingery
148 8 Pablo Alingery
    postgres -D data_monitor
149 8 Pablo Alingery
or
150 8 Pablo Alingery
    pg_ctl -D data_monitor -l logfile start
151 8 Pablo Alingery
152 2 Herve Ballans
153 1 Herve Ballans
</pre>
154 2 Herve Ballans
155 2 Herve Ballans
156 1 Herve Ballans
157 1 Herve Ballans
Edition des fichiers postgresql.conf pour configurer les bons ports d'écoute :
158 1 Herve Ballans
listen_addresses = '*'
159 1 Herve Ballans
data -> port 5432
160 1 Herve Ballans
data_sums -> port 5434
161 10 Pablo Alingery
data_monitor -> port 5436
162 1 Herve Ballans
163 10 Pablo Alingery
164 1 Herve Ballans
Edition des fichiers data*/pg_hba.conf : remplacer md5 par trust
165 1 Herve Ballans
<pre>
166 1 Herve Ballans
#"local"
167 1 Herve Ballans
local   all             all                                     trust
168 1 Herve Ballans
#"IPv4"
169 1 Herve Ballans
host   all             all                                     trust
170 1 Herve Ballans
</pre>
171 1 Herve Ballans
172 10 Pablo Alingery
Démarrage des 3 bases :
173 1 Herve Ballans
174 1 Herve Ballans
<pre>
175 1 Herve Ballans
# su - postgres
176 1 Herve Ballans
$ cd /DATABASES
177 21 Pablo Alingery
$ pg_ctl -D data -l ./PG_LOGS/data.log start
178 21 Pablo Alingery
$ pg_ctl -D data_sums -l ./PG_LOGS/data_sums.log start
179 21 Pablo Alingery
$ pg_ctl -D data_monitor -l ./PG_LOGS/data_monitor.log start
180 20 Pablo Alingery
181 20 Pablo Alingery
note :
182 20 Pablo Alingery
PG_LOGS is the directory for logs 
183 10 Pablo Alingery
184 1 Herve Ballans
</pre>
185 1 Herve Ballans
186 1 Herve Ballans
	createdb --locale C -E LATIN1 -T template0 ias_sdo
187 1 Herve Ballans
	createdb --locale C -E LATIN1 -T template0 -p 5434 ias_sdo_sums
188 12 Pablo Alingery
        createdb --locale C -E LATIN1 -T template0 -p 5436 ias_sdo_monitor
189 1 Herve Ballans
190 1 Herve Ballans
h2. Installation de l'outil NetDRMS
191 1 Herve Ballans
192 23 Pablo Alingery
On se base sur la doc dipsonible ici : [[http://inf-redmine.ias.u-psud.fr/redmine/attachments/download/114/Netdrms_First_Install.odt]]
193 1 Herve Ballans
194 1 Herve Ballans
195 22 Pablo Alingery
Les sources sont dans : http://jsoc.stanford.edu/netdrms/dist/
196 24 Pablo Alingery
/usr/local/netdrms_8.10/
197 1 Herve Ballans
198 1 Herve Ballans
(Pour comparaison avec le serveur en production, on copie également le dossier netdrms_2.4 de sdo)
199 1 Herve Ballans
200 1 Herve Ballans
on créé un lien symbolique netdrms_current qui pointe sur la dernière release
201 25 Pablo Alingery
ln -s netdrms_8.10/ netdrms_current 
202 1 Herve Ballans
203 27 Pablo Alingery
Edition fichier config.local
204 27 Pablo Alingery
<pre>
205 27 Pablo Alingery
cp config.local.template config.local
206 27 Pablo Alingery
</pre>
207 1 Herve Ballans
208 29 Pablo Alingery
209 32 Herve Ballans
Creation de 2 répertoires : 
210 29 Pablo Alingery
<pre>
211 1 Herve Ballans
mkdir /usr/local/netdrms_8.10/logs/SUM
212 32 Herve Ballans
mkdir /usr/local/netdrms_8.10/logs/slony
213 28 Pablo Alingery
</pre>
214 27 Pablo Alingery
215 1 Herve Ballans
Voir le contenu du le fichier [[config.local]] à jour
216 1 Herve Ballans
217 1 Herve Ballans
Création d'un alias netdrms dans /root/.bashrc
218 1 Herve Ballans
<pre>
219 27 Pablo Alingery
alias netdrms='cd /usr/local/netdrms_current'
220 1 Herve Ballans
</pre>
221 1 Herve Ballans
222 31 Pablo Alingery
223 31 Pablo Alingery
Lancement configure
224 31 Pablo Alingery
<pre>
225 31 Pablo Alingery
./configure
226 31 Pablo Alingery
</pre>
227 31 Pablo Alingery
228 40 Pablo Alingery
h3. Modification du fichier /usr/local/netdrms_current/configure (Not Applied in NetDrms_8.10)
229 1 Herve Ballans
230 1 Herve Ballans
<pre>
231 1 Herve Ballans
# The system configuration for configure script
232 1 Herve Ballans
set PERLBIN = "/usr/bin/perl"
233 1 Herve Ballans
set PYBIN = "/usr/bin/python"
234 1 Herve Ballans
</pre>
235 1 Herve Ballans
236 34 Herve Ballans
h3. Compilation problem due to uncorrect variable types
237 34 Herve Ballans
238 35 Herve Ballans
Art (art.amezcua@stanford.edu) purpose us a workaround and send us 2 files with correct declaration :
239 34 Herve Ballans
240 42 Herve Ballans
SUMLIB_RmDo.pgc (diff with original file : [[diff_SUMLIB_RmDo.pgc]])
241 42 Herve Ballans
SUMLIB_RmDoX.pgc (diff with original file : [[diff_SUMLIB_RmDoX.pgc]])
242 34 Herve Ballans
243 36 Herve Ballans
<pre>
244 36 Herve Ballans
# wget http://jsoc.stanford.edu/~arta/SUMLIB_RmDo.pgc
245 36 Herve Ballans
# wget http://jsoc.stanford.edu/~arta/SUMLIB_RmDoX.pgc
246 36 Herve Ballans
</pre>
247 36 Herve Ballans
248 34 Herve Ballans
Overwriting the existing files in the right place (base/sums/libs/pg), the command 'make' works well.
249 34 Herve Ballans
250 34 Herve Ballans
But there is still problem with 'make sums'
251 36 Herve Ballans
252 36 Herve Ballans
h3. Workaround to solve make sums problem
253 36 Herve Ballans
254 38 Herve Ballans
Modify [[sum_rpc.h]] in order to match the type of some variables
255 34 Herve Ballans
256 1 Herve Ballans
h3. Modification du fichier /usr/local/netdrms_current/build/jsoc_machine.csh
257 1 Herve Ballans
258 1 Herve Ballans
ligne 28 :
259 1 Herve Ballans
260 1 Herve Ballans
<pre>
261 1 Herve Ballans
  case "x86_64":
262 1 Herve Ballans
      echo linux_x86_64
263 16 Herve Ballans
      breaksw
264 1 Herve Ballans
</pre>
265 1 Herve Ballans
266 43 Pablo Alingery
h3. Copier /usr/local/netdrms_2.4_release/base/drms/apps/serverdefs.h dans /usr/local/netdrms_current/base/drms/apps (not applied in NetDrms_8.10)
267 1 Herve Ballans
268 44 Pablo Alingery
h3. Modification du fichier /usr/local/netdrms_current/configure (not applied in NetDrms_8.10)
269 1 Herve Ballans
270 1 Herve Ballans
au lieu de $? en csh on va mettre plutot $status
271 1 Herve Ballans
272 1 Herve Ballans
ligne 110 :
273 1 Herve Ballans
274 1 Herve Ballans
<pre>
275 1 Herve Ballans
  if ($status==0) 
276 1 Herve Ballans
</pre>
277 1 Herve Ballans
278 4 Herve Ballans
et ligne 123 :
279 1 Herve Ballans
280 1 Herve Ballans
<pre>
281 1 Herve Ballans
  if ($status==0) 
282 1 Herve Ballans
</pre>
283 1 Herve Ballans
284 4 Herve Ballans
Lancement :
285 4 Herve Ballans
<pre>
286 4 Herve Ballans
./configure
287 1 Herve Ballans
</pre>
288 1 Herve Ballans
289 1 Herve Ballans
h3. Installation des libraries libtar-dev, libcurl3-dev et libecpg-dev
290 1 Herve Ballans
291 1 Herve Ballans
<pre>
292 4 Herve Ballans
apt-get install libtar libtar-dev
293 1 Herve Ballans
</pre>
294 1 Herve Ballans
295 1 Herve Ballans
<pre>
296 1 Herve Ballans
apt-get install libcurl3-dev
297 1 Herve Ballans
</pre>
298 1 Herve Ballans
299 1 Herve Ballans
<pre>
300 1 Herve Ballans
apt-get install libecpg-dev
301 1 Herve Ballans
</pre>
302 1 Herve Ballans
303 45 Pablo Alingery
h3. #H4ck 2 Malade #PabloR0cks# (Not Applied in NetDrm_8.10)
304 1 Herve Ballans
305 1 Herve Ballans
Modification du fichier /usr/include/stdint.h
306 1 Herve Ballans
307 17 Herve Ballans
ligne 55 : long int remplacé par long long int
308 17 Herve Ballans
309 17 Herve Ballans
<pre>
310 17 Herve Ballans
#if __WORDSIZE == 64
311 17 Herve Ballans
typedef unsigned long int       uint64_t; --> ici long long int
312 17 Herve Ballans
#else
313 17 Herve Ballans
__extension__
314 17 Herve Ballans
typedef unsigned long long int  uint64_t;
315 17 Herve Ballans
#endif
316 17 Herve Ballans
</pre>
317 1 Herve Ballans
318 1 Herve Ballans
"Allo Linus ?!?.."
319 1 Herve Ballans
320 1 Herve Ballans
h3. Compilation
321 1 Herve Ballans
322 1 Herve Ballans
<pre>
323 1 Herve Ballans
# make
324 1 Herve Ballans
# make sums
325 1 Herve Ballans
</pre>
326 1 Herve Ballans
327 1 Herve Ballans
NB : lib64 does not exist on debian 8. so ln -s /usr/lib lib64
328 6 Pablo Alingery
329 46 Pablo Alingery
h2. make sums KO  (Not applied in NetDrms_8.10)
330 1 Herve Ballans
331 6 Pablo Alingery
Solution found : Take old lib libcrypto instead libssl
332 6 Pablo Alingery
333 16 Herve Ballans
dans le fichier base/sums/apps/Rules.mk ligne 51 
334 6 Pablo Alingery
replace -lssl by -lcrypto LD flag
335 6 Pablo Alingery
336 14 Herve Ballans
h2. Installation de Jetty
337 14 Herve Ballans
338 14 Herve Ballans
Téléchargement du paquet jetty_install_kit_v1.4.2
339 14 Herve Ballans
340 14 Herve Ballans
<pre>
341 14 Herve Ballans
# cd /usr/local
342 14 Herve Ballans
# wget http://vso.tuc.noao.edu/VSO/slony_proxy/jetty_install_kit_v1.4.2.tar.gz
343 14 Herve Ballans
# tar xzvf jetty_install_kit_v1.4.2.tar.gz
344 14 Herve Ballans
# cd jetty_install_kit_v1.4.2
345 14 Herve Ballans
# ./install_jetty.sh
346 14 Herve Ballans
</pre>
347 14 Herve Ballans
348 14 Herve Ballans
Paramètres à modifier :
349 14 Herve Ballans
JETTY_GROUP= ias
350 14 Herve Ballans
JMD_INSTALL_DIR=/usr/local/jmd
351 14 Herve Ballans
JMD_SUPPORTING_SCRIPTS= /usr/local/jmd/vso/scripts
352 14 Herve Ballans
/usr/local/jmd/databases/derby
353 14 Herve Ballans
354 15 Pablo Alingery
Cherche la commande ij
355 14 Herve Ballans
rajouter son chemin dans le path
356 14 Herve Ballans
vi ~/.bashrc
357 14 Herve Ballans
358 1 Herve Ballans
359 15 Pablo Alingery
<pre>
360 15 Pablo Alingery
# set PATH so it includes user's private bin if it exists
361 15 Pablo Alingery
if [ -d "$HOME/bin" ] ; then
362 15 Pablo Alingery
    PATH="$HOME/bin:$PATH"
363 15 Pablo Alingery
fi
364 1 Herve Ballans
365 15 Pablo Alingery
# Added by Elie for netdrms
366 15 Pablo Alingery
#Modif Pablo 07/06/2010
367 15 Pablo Alingery
PATH="$HOME/netdrms_current/bin/linux_x86_64:$PATH"
368 15 Pablo Alingery
PATH="$HOME/netdrms_current/scripts:$PATH"
369 15 Pablo Alingery
PATH="/usr/local/jmd/jetty/bin:$PATH"
370 15 Pablo Alingery
PATH="/usr/local/jmd/vso/scripts:$PATH"
371 15 Pablo Alingery
PATH="/usr/local/pgsql/bin:$PATH"
372 15 Pablo Alingery
PATH="/usr/local/netdrms/scripts:$PATH"
373 15 Pablo Alingery
#2014-12-17 Avec Herve et Pablo on pense que la ligne suivante est intutile as it is f.. install in /usr/local/lib
374 15 Pablo Alingery
PATH="/home/production/cfitsio:$PATH"
375 15 Pablo Alingery
#Done
376 1 Herve Ballans
377 15 Pablo Alingery
DERBY_HOME=/usr/local/jmd/derby
378 15 Pablo Alingery
export DERBY_HOME
379 1 Herve Ballans
380 15 Pablo Alingery
export CVSROOT=:pserver:anonymous@solarch.tuc.noao.edu:2401/vtarc1/vso/cvsroot
381 15 Pablo Alingery
382 15 Pablo Alingery
 #Added by Elie for jetty
383 15 Pablo Alingery
PATH="/usr/local/jmd/derby/bin:$PATH"
384 15 Pablo Alingery
385 15 Pablo Alingery
</pre>
386 14 Herve Ballans
387 1 Herve Ballans
h2. TO BE DONE FURTHER
388 9 Pablo Alingery
389 9 Pablo Alingery
Suppression 
390 9 Pablo Alingery
/home/postgres/data
391 9 Pablo Alingery
/home/postgres/data_sums
392 9 Pablo Alingery
/home/postgres/data_monitor
393 6 Pablo Alingery
394 6 Pablo Alingery
395 11 Pablo Alingery
Démarrage des 3 bases automatiquement
396 11 Pablo Alingery
397 13 Pablo Alingery
Installation de dblink pour postgres
398 6 Pablo Alingery
399 1 Herve Ballans
400 1 Herve Ballans
h3. Modification du fichir config.local pour la souscription au jsoc
401 1 Herve Ballans
402 1 Herve Ballans
<pre>
403 1 Herve Ballans
# NetDRMS users can request subdirectories from the Stanford proj directories 
404 1 Herve Ballans
# (e.g., JSOC/proj/util). These users will need to contact Stanford and obtain
405 1 Herve Ballans
# the source subdirectories desired. They will then place these subdirectories
406 1 Herve Ballans
# in the JSOC/proj directory of their NetDRMS release. To properly build 
407 1 Herve Ballans
# targets in these subdirectories, using the JSOC make system, the user needs
408 1 Herve Ballans
# to add entries to this configuration file - one entry for each subdirectory
409 1 Herve Ballans
# that contains source code to be compiled. Each entry is a space-separated pair
410 1 Herve Ballans
# of strings: the string "PROJDIR" followed by a subdirectory (of the proj 
411 1 Herve Ballans
# directory).  For example:
412 1 Herve Ballans
#
413 1 Herve Ballans
# PROJDIR     util/apps
414 1 Herve Ballans
# PROJDIR     util/libs
415 1 Herve Ballans
# 
416 1 Herve Ballans
# NOTE: It is not sufficient to list only a parent directory, like util. Source code
417 1 Herve Ballans
# in child directories will not automatically be compiled.
418 1 Herve Ballans
</pre>
419 18 Herve Ballans
420 18 Herve Ballans
h3. Python library for multi-threaded SUMS
421 18 Herve Ballans
422 18 Herve Ballans
Installation de la librairie python3.4m