Project

General

Profile

NetDRMS Installation » History » Version 33

Herve Ballans, 15/09/2015 15:21

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