Project

General

Profile

NetDRMS Installation » History » Version 44

Pablo Alingery, 18/09/2015 14:39

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