You are on page 1of 15

Notes about FRED installation

Generalities
Installation date: 16 de abril del 2009
Sitio: http://fred.ni.!/soures/
"peratin# s$ste%: ubuntu 9.0& 'should (or) (ith *.0& and *.10+
Notes aabout ".S. installation:
Install ,buntu Ser-er
.hoose auto%ati updates/ if $ou (ish
Install:
DNS ser-er
"penSS0 ser-er
1ost#reS23 ser-er
Reboot
,pdate s$ste%
Install apahe2
Install these pa)a#es:
apt-get -y install \
python-pygresql omniidl4-python postgresql-plperl-8.3 \
build-essential postfix libpq-dev \
omniidl4 omniidl4-python libomniorb4-dev libomnithread3-dev \
libdaemon-dev libboost-dev libboost-date-time-dev \
libboost-program-options-dev libboost-regex-dev \
libboost-graph1.34.1 libboost-iostreams1.34.1 libboost-program-options1.34.1\
libboost-regex1.34.1 libboost-serialization1.34.1 \
libboost-signals1.34.1 libboost-thread1.34.1 \
libboost-graph1.34.1 libboost-signals-dev libboost-thread-dev libboost-serialization-dev \
libidn11-dev python-imaging python-reportlab tinyerp-server \
xsltproc python-clearsilver orbit orbit-nameserver liborbi t-dev \
python-simple!son libomniorb4-dev python-omniorb python-dnspython\
python-cherrypy3 python-simpletal unzip zip libapache-mod-python \
apache-prefor"-dev omniorb4-nameserver libxml-dev
Do(nload 'use the ne(est FRED -ersions if the$ e4ist+:
fred5idl52.1.0.tar.#!
fred5do2pdf51.&.2.tar.#!
fred5p$fred52.1.0.tar.#!
fred5ser-er52.1.1.tar.#!
fred5%od5orba51.6.0.tar.#!
fred5%od5eppd52.1.0.tar.#!
fred5%od5(hoisd56.1.0.tar.#!
fred5(hois52.1.0.tar.#!
fred5(ebad%in56.1.0.tar.#!
fred5lient52.1.1.tar.#!
fred5db52.1.0.tar.#!
Component instllation
Configuracin de la base de datos
For tinyerp-server
su - postgres -c "createdb -q --encoding=UNICODE terp"
su - postgres -c "createuser -q --createdb --adduser terp"
For database fred:
su postgres -c "createuser -S -D -R -l fred"
su postgres -c "createdb -E U!-" -O fred fred"
su # postgres
psql
alter user fred pass$ord %fred%&
CR'-D
Ca(bio a )etc)postgresql)"*+)(ain)pg,-ba*conf:
local all all (d.
)etc)init*d)postgresql-"*+ reload
cd /!RED
tar -01f fred-db-2*3*4*tar*g1
cd fred-db-2*3*4
*)orderedsql*s- 5 psql -- 326*4*4*3 -U fred -q fred
FRED components installation:
fred-idl:
cd /!RED
(7dir -p )usr)s-are)idl)fred)
tar -01f fred-idl-2*3*4*tar*g1 -C )t(p
(8 )t(p)fred-idl-2*3*4)9 )usr)s-are)idl)fred)
fred-pyfred:
cd /!RED
tar -01f fred-p:fred-2*3*2*tar*g1
cd fred-p:fred-2*3*2
ln -s )usr)s-are)idl )usr)local)s-are)idl
cp )usr)local)s-are)idl)fred)idl)9idl )usr)local)s-are)idl)fred
p:t-on *)setup*p: install
Fred server:
cd /)!RED
tar 01f fred-ser8er-2*3*2*tar*g1
cd fred-ser8er-2*3*2
*)configure --prefi0=)usr --with-idldir=/usr/share/idl/fred/idl ;; (a7e
(a7e install
Note: config files and scripts reside in /usr/etc/fred
Fred client
cd /)!RED
cd fred-client-2*3*2
p:t-on *)setup*p: install

Fred server Python components
Doc2pdf
cd /)!RED
tar -01f fred-doc2pdf-2*4*4*tar*g1
cd fred-doc2pdf-2*4*4
p:t-on *)setup*p: install
fred-idl (used by fred-mod-corba and fred-mod-eppd)
cd /)!RED
tar -01f fred-idl-2*3*4*tar*g1
cd fred-idl-2*3*4
*)configure --prefi0=)usr ;; (a7e
(a7e install
fred-mod-corba
cd /)!RED
tar -01f fred-(od-corba-3*+*4*tar*g1
cd fred-(od-corba-3*+*4
*)configure --prefi0=)usr --$it--idl=)usr)s-are)idl)fred)idl ;; (a7e
(a7e install
fred-mod-eppd
cd /)!RED
tar -01f fred-(od-eppd-2*3*4*tar*g1
cd fred-(od-eppd-2*3*4
*)configure #prefi0=)usr ;; (a7e
(a7e install
fred-mod-whoisd
cd /)!RED
tar -01f fred-(od-$-oisd-+*3*4*tar*g1
cd fred-(od-$-oisd-+*3*4
*)configure #prefi0=)usr ;; (a7e
(a7e install
fred-whois
cd /)!RED
tar -01f fred-$-ois-2*3*2*tar*g1
cd fred-$-ois-2*3*2
p:t-on *)setup*p: install
Service confiuration and initiali!ation
Services should init in this way:
PostgresSQL
omniNames
CO!" services for Central egistry #P$F% $F -registrar-% "&$F
-administrative-'
"pac(e #enables ports )* -+(ois- and ,-- -.PP-'
F.& /eb"dmin 011P server #F.& +eb admin'
!$N&
PostreS"#
/usr/sbin/invo2e-rc3d postgres4l-53* start
$mni%ames
/usr/sbin/invo2e-rc3d omniorb)-nameserver start
From F&'D F("
.ma2e proper c(anges in server3conf and pyfred3conf
cp /usr/lib/pyt(on637/site-pac2ages/neo8cgi3so
/usr/lib/pyt(on639/neo8cgi3so
Configurate mod8corba% mod8eppd% mod8+(oisd
$nit service li2e t(is:
fred8pyfred
fred8rifd
fred8pifd
fred8adifd #t(ese four in /etc/init3d/fred-server'
"pac(e
C(ec2 (ttp://fred3nic3c:/+i2i/FredF"Q
)usr)local)etc)fred)pyfred*conf
<=eneral>
(odules=gen1one (ailer file(anager tec-c-ec7
dbuser=fred
dbname=fred
dbhost=localhost
dbport=5!"
dbpassword=fred
logle8el='O=,DE?U=
logfacilit:=log,local3
port=222.
nsconte0t=fred
ns-ost=local-ost
nsport=2"4@
pidfile=)8ar)run)p:fred*pid
<Aailer>
test(ode=on
tester=
send(ail=)usr)sbin)send(ail
file(anager,obBect=!ileAanager
signing=off
sendperiod=+4
8card=on
undeli8eredperiod=4
<!ileAanager>
rootdir=)usr)local)8ar)lib)p:fred)file(anager)
<ec-C-ec7>
scriptdir=)usr)local)libe0ec)p:fred
(sg'ifeti(e=6
queueperiod=.
oldperiod=+4
(issrounds=34
'nablin mod-ssl
cd )etc)apac-e2)(ods-enabled
ln -s **)(ods-a8ailable)ssl*load
'nablin 'PP (pache module
cd )etc)apac-e2)(ods-a8ailable
cat C epp*load
'oadAodule eppd,(odule )usr)lib)apac-e2)(odules)(od,eppd*so
CR'-D
cd **)(ods-enabled
ln -s **)(ods-a8ailable)epp*load
'nablin whoisd (pache module
cd )etc)apac-e2)(ods-a8ailable
cat C $-oisd*load
'oadAodule $-oisd,(odule )usr)lib)apac-e2)(odules)(od,$-oisd*so
CR'-D
cd **)(ods-enabled
ln -s **)(ods-a8ailable)$-oisd*load
'nablin whois service
ln -s )usr)local)s-are)doc)fred-$-ois)apac-e*conf D
)etc)apac-e2)sites-enabled)44+-$-ois
+onfiurin +$&,(- 'PP y .hois (pache modules
cd )etc)apac-e2)sites-enabled
ln -s )usr)s-are)fred-(od-corba)43-fred-(od-corba-apac-e*conf
ln -s )usr)s-are)fred-(od-eppd)42-fred-(od-eppd-apac-e*conf
ln -s )usr)s-are)fred-(od-$-oisd)42-fred-(od-$-oisd-apac-e*conf
C(ange t(is:
EEElog "/#ar/log/fred-eppd$log"
&eloadin (pache
)usr)sbin)in8o7e-rc*d apac-e2 reload
+onfiurin )usr)etc)fred)server*conf
<database>
-ost = local-ost
port = .F+2
na(e = fred
user = fred
pass$ord = fred
ti(eout = 2
<na(eser8ice>
-ost = local-ost
port = 2"4@
conte0t = fred
<log>
t:pe = 3
le8el = "
file = )8ar)log)fred*log
s:slog,facilit: = 3
<registr:>
restricted,-andles = false
disable,epp,notifier = false
loc7,epp,co((ands = true
nsset,le8el = +
docgen,pat- = )usr)bin)fred-doc2pdf
docgen,te(plate,pat- = )usr)s-are)fred-doc2pdf)
fileclient,pat- = )usr)bin)file(anager,client
GG
G RI!D specific settings
GG
<rifd>
session,(a0 = 244
session,ti(eout = +44
session,registrar,(a0 = .
GG
G HDI!D specific settings
GG
<adifd>
session,(a0 = 4
session,ti(eout = +I44
session,garbage = 3.4
GG
G fred-ban7ing specific options Juntil (erged $it- fred-ad(inK
GG
<ban7ing>
-ost=local-ost
port=.F+2
dbna(e=fred
log,le8el=6
log,local=3
+opy fred-server to the init directory
cp /)!RED)fred-ser8er-2*3*2)init-scripts)fred-ser8er )etc)init*d
cd )etc)rc2*d
ln -s **)init*d)fred-ser8er S64fred-ser8er
1(is enables t(e fred-server services: pyfred% adif% rif% etc3
/niciali!aci0n de fred-server
)etc)init*d)fred-ser8er start
'lement manaement (contacts- nssets- 1eysets- domains)
2esti0n de reistradores
egistrars are managed in registrarL registaracl y registrarin8oice*
.;emplo:
fred=C select idL-andle fro( registrar $-ere id=+&
id 5 -andle
----M----------
+ 5 NIC-RE=3
egistrar is named %/+-&'23- id 4 #(ave ot(er data'3 $f you +ant anot(er
registrar% ma2e t(e appropiate $NS.13
fred=C select 9 fro( registraracl $-ere registrarid=+&
id 5 registrarid 5 cert 5 pass$ord
----M-------------M-------------------------------------------------M----------
+ 5 + 5 +@:D3:4C:CH:4.:+H:CC:C4:4?:EC:I!:+!:"3:4D:C6:@E 5 reg3*cr
%/+-&'23 pass+ord is re3*cr3 Notice t(e registrarid field3
fred=C select 9 fro( registrarin8oice $-ere registrarid=+&
id 5 registrarid 5 1one 5 fro(date 5 lastdate
----M-------------M------M------------M------------
22 5 + 5 @ 5 244@-43-43 5 2434-43-43
J3 filaK
%/+-&'23 can manage :one < for a year3
fred=C select 9 fro( 1one $-ere id=@&
id 5 fqdn 5 e0,period,(in 5 e0,period,(a0 5 8al,period 5 dots,(a0 5 enu(,1one
----M------M---------------M---------------M------------M----------M-----------
@ 5 test 5 32 5 324 5 4 5 3 5 f
J3 filaK
=one < is test% managed by %/+-&'233
fred=C select 9 fro( registrarin8oice $-ere 1one=@&
id 5 registrarid 5 1one 5 fro(date 5 lastdate
----M-------------M------M------------M------------
23 5 3 5 @ 5 244"-32-4I 5
22 5 + 5 @ 5 244"-43-43 5 244@-43-43
J2 filasK
egistrars > and * can manage :one <% test3 One of t(ese is %/+-&'233
Fred-client*conf y la esti0n de reistradores
username ? .@-F.&8"
pass+ord ? pass+d
username6 ? .@-F.&8!
pass+ord6 ? pass+d
username* ? N$C-.@>
pass+ord* ? reg>3cr
.sta es la porciAn relevante fred-client3conf3 0ay * registradores3 Solo el
primero y el tercero pueden gestionar el dominio test3
Fred-client usae
rootN(guerra:/G fred-client -u %&C-RE'( -w reg($cr
!redClient 2*3*2
:pe "-elp"L "license" or "credits" for (ore infor(ation*
Using configuration fro( )usr)local)etc)fred)fred-client*conf
Connecting to local-ostL port 644 ***
ConnectedO
/e are using registrar %/+-&'23*
(dd contacts
NIC-RE=3Nlocal-ostC create,contact A=UERRH %Aario =uerra%
guerra(arioalbertoNg(ail*co( J%Calle Aora%L G3"L PapoteK %San Qose% 24I4-3444
CR %San Qose% NU'' NU'' NU'' NU'' J:K
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
Contact ID: A=UERRH
Created on: 244"-32-4@33:F.:F4-4I:44
Contact name is 526'&&(3
NIC-RE=3Nlocal-ostC create,contact CSHSON %Carlos Satson% c$atsonNnic*cr
J%HNC%L %San Eedro%K %San Qose% %24I4-3444% CR %San Qose% NU'' NU'' NU'' NU''
J:KDo :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
ERROR: Ser8er returned an e(pt: (essage*
Ending session at local-ost
Disconnected*
r: to auto(aticl: reconnect - send login*
Connecting to local-ostL port 644 ***
ConnectedO
Contact ID: CSHSON
Created on: 244"-32-4@33:.F:2"-4I:44
"not(er contact% +.(7S$%3
1(ese are associated +it( %/+-&'233
5odify contacts
update,contact A=UERRH JJK NU'' NU'' (guerraNnic*crK
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
ERROR: Ser8er returned an e(pt: (essage*
Ending session at local-ost
Disconnected*
r: to auto(aticl: reconnect - send login*
Connecting to local-ostL port 644 ***
ConnectedO
A=UERRH updated*
1(is update modifies B@C." email3
Delete contacts
NIC-RE=3Nlocal-ostC create,contact A=UERRH2 %Aario =uerra%
guerra(arioalbertoNg(ail*co( J%Calle Aora%L G3"L PapoteK %San Qose% 24I4-3444
CR %San Qose% NU'' NU'' NU'' NU'' J:K
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
Contact ID: A=UERRH2
Created on: 244"-32-4@32:4I:4F-4I:44
NIC-RE=3Nlocal-ostC delete,contact A=UERRH2
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
A=UERRH2 deleted*
(dd nssets
NIC-RE=3Nlocal-ostC create,nsset =UERRHNS43 JJns3*guerra*test 243*3@"*I*3"IKL
Jns2*guerra*test 3I+*36"*24*24KK A=UERRH
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
NSSE ID: =UERRHNS43
Created on: 244"-32-4@32:F+:2.-4I:44
1(is creates 26'&&(%S83 nsset% servers ns3*uerra*test y ns2*uerra*test%
related to contact 526'&&(3
NIC-RE=3Nlocal-ostC create,nsset SHSONNS43 JJns3*c$atson*test 243*3@"*I*3"IKL
Jns2*c$atson*test 3I+*36"*24*24KK CSHSON
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
ERROR: Ser8er returned an e(pt: (essage*
Ending session at local-ost
Disconnected*
r: to auto(aticl: reconnect - send login*
Connecting to local-ostL port 644 ***
ConnectedO
NSSE ID: SHSONNS43
Created on: 244"-32-4@32:.2:.2-4I:44
Create nsset .(7S$%%S83 servers ns3*cwatson*test y ns2*cwatson*test% used by
contact +.(7S$%*
(dd domains
N$C-.@>Dlocal(ostE create,do(ain guerra*test A=UERRH NU'' =UERRHNS43 NU'' J2F
(K CSHSON
Create uerra*test% contact 526'&&( admin contact% +.(7S$%3 Cses nsset
26'&&(%S83% servers ns3*uerra*test and ns2*uerra*test3
N$C-.@>Dlocal(ostE create8domain +atson3test C/"1SON NCLL /"1SONNS-> NCLL #6)
m' C/"1SON
&o you really +ant to send t(is command to t(e serverF #y/N': y
&omain name: +atson3test
Created on: 6--5->6--<1>7:>5:66--9:--
.Gpiration date: 6->-->6--<
Create watson*test% domain contact +.(7S$% admin contact +.(7S$%3 Cses nsset
.(7S$%%S83% servers ns3*watson*test and ns2*watson*test3
D%S !ones eneration
!$N& relevant fragment for :one test:
1one "test" T
t:pe (aster&
file ")etc)bind)db*test"&
U&
db*test generation:
rootN(guerra:)etc)bindG )usr)local)bin)gen1one,client test
1(e result:
V' "IF44 &default ' for all records in 1one
test* IN SOH (guerra*guerra*co*cr* (guerra*guerra*co*cr*
J322""6@F23 F+244 @44 3"3FF44 34"44K
IN NS (guerra*guerra*co*cr*
&
&--- do(ain records ---
&
guerra*test* IN NS ns3*guerra*test*
ns3*guerra*test* IN H 243*3@"*I*3"I
guerra*test* IN NS ns2*guerra*test*
ns2*guerra*test* IN H 3I+*36"*24*24
$atson*test* IN NS ns3*c$atson*test*
$atson*test* IN NS ns2*c$atson*test*
Notice t(at only uerra*test (as glue records3
No+ loo2 t(is operation:
NIC-RE=3Nlocal-ostC create,do(ain c$atson*test CSHSON NU'' SHSONNS43 NU'' J2F
(K CSHSON
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
Do(ain na(e: c$atson*test
Created on: 244"-32-4@3.:.6:+F-4I:44
E0piration date: 2434-32-4@
1(en generate3 1(e result is:
V' "IF44 &default ' for all records in 1one
test* IN SOH (guerra*guerra*co*cr* (guerra*guerra*co*cr*
J322"""36+3 F+244 @44 3"3FF44 34"44K
IN NS (guerra*guerra*co*cr*
&
&--- do(ain records ---
&
guerra*test* IN NS ns3*guerra*test*
ns3*guerra*test* IN H 243*3@"*I*3"I
guerra*test* IN NS ns2*guerra*test*
ns2*guerra*test* IN H 3I+*36"*24*24
$atson*test* IN NS ns3*c$atson*test*
$atson*test* IN NS ns2*c$atson*test*
c$atson*test* IN NS ns3*c$atson*test*
ns3*c$atson*test* IN H 243*3@"*I*3"I
c$atson*test* IN NS ns2*c$atson*test*
ns2*c$atson*test* IN H 3I+*36"*24*24
Domain removal
NIC-RE=3Nlocal-ostC delete,do(ain $atson*test
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
$atson*test deleted*
"fter using en!one9client% you (ave t(is:
H' "IF44 &default ' for all records in 1one
test* IN SOH (guerra*guerra*co*cr* (guerra*guerra*co*cr* J3
22"@.++"I F+244 @44 3"3FF44 34"44K
IN NS (guerra*guerra*co*cr*
&
&--- do(ain records ---
&
guerra*test* IN NS ns3*guerra*test*
ns3*guerra*test* IN H 243*3@"*I*3"I
guerra*test* IN NS ns2*guerra*test*
ns2*guerra*test* IN H 3I+*36"*24*24
c$atson*test* IN NS ns3*c$atson*test*
ns3*c$atson*test* IN H 243*3@"*I*3"I
c$atson*test* IN NS ns2*c$atson*test*
ns2*c$atson*test* IN H 3I+*36"*24*24
Notice t(e serial number c(ange3
Domain modification
NIC-RE=3Nlocal-ostC create,nsset SHSONNS42 JJns3*c$atson*test 243*3@"*I*3"IKL
Jns+*c$atson*test 3I+*36"*24*+KK CSHSON
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
NSSE ID: SHSONNS42
Created on: 244"-32-3432:2.:F"-4I:44
Creates nsset .(7S$%%S82*
update,do(ain c$atson*test JK JK JK JSHSONNS42K
Do :ou reall: $ant to send t-is co((and to t-e ser8erR J:)NK: :
c$atson*test updated*
Notice t(at cwatson*test uses anot(er nsset3 1(e corresponding :one file:
V' "IF44 &default ' for all records in 1one
test* IN SOH (guerra*guerra*co*cr* (guerra*guerra*co*cr* J3
22"@I4I"3 F+244 @44 3"3FF44 34"44K
IN NS (guerra*guerra*co*cr*
&
&--- do(ain records ---
&
guerra*test* IN NS ns3*guerra*test*
ns3*guerra*test* IN H 243*3@"*I*3"I
guerra*test* IN NS ns2*guerra*test*
ns2*guerra*test* IN H 3I+*36"*24*24
c$atson*test* IN NS ns3*c$atson*test*
ns3*c$atson*test* IN H 243*3@"*I*3"I
c$atson*test* IN NS ns+*c$atson*test*
ns+*c$atson*test* IN H 3I+*36"*24*+
N