Project

General

Profile

NetDRMS Installation » History » Version 48

Pablo Alingery, 18/09/2015 15:18

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