Project

General

Profile

NetDRMS Installation » History » Version 41

Herve Ballans, 18/09/2015 14:14

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 41 Herve Ballans
SUMLIB_RmDo.pgc (diff with original file : diff_SUMLIB_RmDo.pgc)
241 41 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 1 Herve Ballans
267 1 Herve Ballans
268 1 Herve Ballans
h3. Copier /usr/local/netdrms_2.4_release/base/drms/apps/serverdefs.h dans /usr/local/netdrms_current/base/drms/apps
269 1 Herve Ballans
270 1 Herve Ballans
271 1 Herve Ballans
272 1 Herve Ballans
h3. Modification du fichier /usr/local/netdrms_current/configure
273 1 Herve Ballans
274 1 Herve Ballans
au lieu de $? en csh on va mettre plutot $status
275 1 Herve Ballans
276 1 Herve Ballans
ligne 110 :
277 1 Herve Ballans
278 1 Herve Ballans
<pre>
279 1 Herve Ballans
  if ($status==0) 
280 1 Herve Ballans
</pre>
281 1 Herve Ballans
282 4 Herve Ballans
et ligne 123 :
283 1 Herve Ballans
284 1 Herve Ballans
<pre>
285 1 Herve Ballans
  if ($status==0) 
286 1 Herve Ballans
</pre>
287 1 Herve Ballans
288 4 Herve Ballans
Lancement :
289 4 Herve Ballans
<pre>
290 4 Herve Ballans
./configure
291 4 Herve Ballans
</pre>
292 1 Herve Ballans
293 1 Herve Ballans
294 1 Herve Ballans
h3. Installation des libraries libtar-dev, libcurl3-dev et libecpg-dev
295 1 Herve Ballans
296 1 Herve Ballans
<pre>
297 4 Herve Ballans
apt-get install libtar libtar-dev
298 1 Herve Ballans
</pre>
299 1 Herve Ballans
300 1 Herve Ballans
<pre>
301 1 Herve Ballans
apt-get install libcurl3-dev
302 1 Herve Ballans
</pre>
303 1 Herve Ballans
304 1 Herve Ballans
<pre>
305 1 Herve Ballans
apt-get install libecpg-dev
306 1 Herve Ballans
</pre>
307 1 Herve Ballans
308 1 Herve Ballans
309 1 Herve Ballans
h3. #H4ck 2 Malade #PabloR0cks#
310 1 Herve Ballans
311 1 Herve Ballans
Modification du fichier /usr/include/stdint.h
312 1 Herve Ballans
313 17 Herve Ballans
ligne 55 : long int remplacé par long long int
314 17 Herve Ballans
315 17 Herve Ballans
<pre>
316 17 Herve Ballans
#if __WORDSIZE == 64
317 17 Herve Ballans
typedef unsigned long int       uint64_t; --> ici long long int
318 17 Herve Ballans
#else
319 17 Herve Ballans
__extension__
320 17 Herve Ballans
typedef unsigned long long int  uint64_t;
321 17 Herve Ballans
#endif
322 17 Herve Ballans
</pre>
323 1 Herve Ballans
324 1 Herve Ballans
"Allo Linus ?!?.."
325 1 Herve Ballans
326 1 Herve Ballans
h3. Compilation
327 1 Herve Ballans
328 1 Herve Ballans
<pre>
329 1 Herve Ballans
# make
330 1 Herve Ballans
# make sums
331 1 Herve Ballans
</pre>
332 1 Herve Ballans
333 1 Herve Ballans
NB : lib64 does not exist on debian 8. so ln -s /usr/lib lib64
334 6 Pablo Alingery
335 6 Pablo Alingery
h2. make sums KO 
336 1 Herve Ballans
337 6 Pablo Alingery
Solution found : Take old lib libcrypto instead libssl
338 6 Pablo Alingery
339 16 Herve Ballans
dans le fichier base/sums/apps/Rules.mk ligne 51 
340 6 Pablo Alingery
replace -lssl by -lcrypto LD flag
341 6 Pablo Alingery
342 14 Herve Ballans
h2. Installation de Jetty
343 14 Herve Ballans
344 14 Herve Ballans
Téléchargement du paquet jetty_install_kit_v1.4.2
345 14 Herve Ballans
346 14 Herve Ballans
<pre>
347 14 Herve Ballans
# cd /usr/local
348 14 Herve Ballans
# wget http://vso.tuc.noao.edu/VSO/slony_proxy/jetty_install_kit_v1.4.2.tar.gz
349 14 Herve Ballans
# tar xzvf jetty_install_kit_v1.4.2.tar.gz
350 14 Herve Ballans
# cd jetty_install_kit_v1.4.2
351 14 Herve Ballans
# ./install_jetty.sh
352 14 Herve Ballans
</pre>
353 14 Herve Ballans
354 14 Herve Ballans
Paramètres à modifier :
355 14 Herve Ballans
JETTY_GROUP= ias
356 14 Herve Ballans
JMD_INSTALL_DIR=/usr/local/jmd
357 14 Herve Ballans
JMD_SUPPORTING_SCRIPTS= /usr/local/jmd/vso/scripts
358 14 Herve Ballans
/usr/local/jmd/databases/derby
359 14 Herve Ballans
360 15 Pablo Alingery
Cherche la commande ij
361 14 Herve Ballans
rajouter son chemin dans le path
362 14 Herve Ballans
vi ~/.bashrc
363 14 Herve Ballans
364 1 Herve Ballans
365 15 Pablo Alingery
<pre>
366 15 Pablo Alingery
# set PATH so it includes user's private bin if it exists
367 15 Pablo Alingery
if [ -d "$HOME/bin" ] ; then
368 15 Pablo Alingery
    PATH="$HOME/bin:$PATH"
369 15 Pablo Alingery
fi
370 1 Herve Ballans
371 15 Pablo Alingery
# Added by Elie for netdrms
372 15 Pablo Alingery
#Modif Pablo 07/06/2010
373 15 Pablo Alingery
PATH="$HOME/netdrms_current/bin/linux_x86_64:$PATH"
374 15 Pablo Alingery
PATH="$HOME/netdrms_current/scripts:$PATH"
375 15 Pablo Alingery
PATH="/usr/local/jmd/jetty/bin:$PATH"
376 15 Pablo Alingery
PATH="/usr/local/jmd/vso/scripts:$PATH"
377 15 Pablo Alingery
PATH="/usr/local/pgsql/bin:$PATH"
378 15 Pablo Alingery
PATH="/usr/local/netdrms/scripts:$PATH"
379 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
380 15 Pablo Alingery
PATH="/home/production/cfitsio:$PATH"
381 15 Pablo Alingery
#Done
382 1 Herve Ballans
383 15 Pablo Alingery
DERBY_HOME=/usr/local/jmd/derby
384 15 Pablo Alingery
export DERBY_HOME
385 1 Herve Ballans
386 15 Pablo Alingery
export CVSROOT=:pserver:anonymous@solarch.tuc.noao.edu:2401/vtarc1/vso/cvsroot
387 15 Pablo Alingery
388 15 Pablo Alingery
 #Added by Elie for jetty
389 15 Pablo Alingery
PATH="/usr/local/jmd/derby/bin:$PATH"
390 15 Pablo Alingery
391 15 Pablo Alingery
</pre>
392 14 Herve Ballans
393 1 Herve Ballans
h2. TO BE DONE FURTHER
394 9 Pablo Alingery
395 9 Pablo Alingery
Suppression 
396 9 Pablo Alingery
/home/postgres/data
397 9 Pablo Alingery
/home/postgres/data_sums
398 9 Pablo Alingery
/home/postgres/data_monitor
399 6 Pablo Alingery
400 6 Pablo Alingery
401 11 Pablo Alingery
Démarrage des 3 bases automatiquement
402 11 Pablo Alingery
403 13 Pablo Alingery
Installation de dblink pour postgres
404 6 Pablo Alingery
405 1 Herve Ballans
406 1 Herve Ballans
h3. Modification du fichir config.local pour la souscription au jsoc
407 1 Herve Ballans
408 1 Herve Ballans
<pre>
409 1 Herve Ballans
# NetDRMS users can request subdirectories from the Stanford proj directories 
410 1 Herve Ballans
# (e.g., JSOC/proj/util). These users will need to contact Stanford and obtain
411 1 Herve Ballans
# the source subdirectories desired. They will then place these subdirectories
412 1 Herve Ballans
# in the JSOC/proj directory of their NetDRMS release. To properly build 
413 1 Herve Ballans
# targets in these subdirectories, using the JSOC make system, the user needs
414 1 Herve Ballans
# to add entries to this configuration file - one entry for each subdirectory
415 1 Herve Ballans
# that contains source code to be compiled. Each entry is a space-separated pair
416 1 Herve Ballans
# of strings: the string "PROJDIR" followed by a subdirectory (of the proj 
417 1 Herve Ballans
# directory).  For example:
418 1 Herve Ballans
#
419 1 Herve Ballans
# PROJDIR     util/apps
420 1 Herve Ballans
# PROJDIR     util/libs
421 1 Herve Ballans
# 
422 1 Herve Ballans
# NOTE: It is not sufficient to list only a parent directory, like util. Source code
423 1 Herve Ballans
# in child directories will not automatically be compiled.
424 1 Herve Ballans
</pre>
425 18 Herve Ballans
426 18 Herve Ballans
h3. Python library for multi-threaded SUMS
427 18 Herve Ballans
428 18 Herve Ballans
Installation de la librairie python3.4m