07.06.2013 Views

Installazione di OcsInventory-NG su MacOSX

Installazione di OcsInventory-NG su MacOSX

Installazione di OcsInventory-NG su MacOSX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ocs Inventory <strong>NG</strong> <strong>su</strong> <strong>MacOSX</strong><br />

Cosa è sta roba ?<br />

Lavoro come amministratore <strong>di</strong> sistema e <strong>di</strong> rete, fortunatamente le reti sono <strong>di</strong> altri.<br />

Più <strong>di</strong> una volta mi è capitato <strong>di</strong> trovare aziende che hanno la necessità <strong>di</strong> effettuare uno screening <strong>di</strong> tutto quello che c'è nella loro<br />

rete.<br />

Ebbene, girando in macchina ho sempre un paio <strong>di</strong> pc scassoni <strong>su</strong>i quali installo al volo linux e faccio quello che devo fare.<br />

Pero'..siccome ho lavorato per un po' in uno stu<strong>di</strong>o <strong>di</strong> grafica pubblicitaria dove c'erano solo mac, ho pensato...magari sarebbe bello<br />

mettere sto coso <strong>su</strong> un mac,senza scassoni tra le sfere..zompo <strong>su</strong>l sito degli amici e....arrrghhh non esiste una versione per<br />

macosx ??? Ma come ???<br />

Altolà, mi <strong>di</strong>co io, c'è da scrivere un tutorial per TEVAC, c'è che è un po' un periodo <strong>di</strong> stanca, c'è pure un nano in palio. Vai con la<br />

sfida.<br />

<strong>OcsInventory</strong> <strong>NG</strong> ( http://www.ocsinventory-ng.org) è un pacchetto, sviluppato da un team francese omonimo, che consente <strong>di</strong><br />

inventariare tutti gli apparati della rete, siano essi PC, Router, Switch, Stampanti <strong>di</strong> rete e tutto quello insomma che ha un cavo <strong>di</strong> rete.<br />

<strong>OcsInventory</strong> <strong>NG</strong> inoltre consente <strong>di</strong> analizzare approfon<strong>di</strong>tamente il software installato <strong>su</strong>i computer appartenenti ad una o più reti<br />

(con controllo quin<strong>di</strong> <strong>su</strong>i pacchetti e tutto l'hardware installato),<br />

E ...dulcis in fundo ( ma non è un dolce ) il pacchetto è anche in grado <strong>di</strong> effettuare il deployment <strong>di</strong> pacchetti, ossia l'installazione<br />

remota ( ma non ne parleremo qui ).<br />

Ovviamente è possibile analizzare macchine con a bordo il nostro amato <strong>MacOSX</strong>, ma anche tutte le varianti <strong>di</strong> unix che conoscete.<br />

In figura, il mio Mac, inventariato<br />

Ocs inventory è composto da 2 parti, una parte server e una parte agent<br />

La parte server <strong>di</strong> Ocs Inventory è strutturata a 3 tier (ossia è spezzabile in 3 pezzi).<br />

Un pezzo è il communication server, che scambia i dati con l'agent (installato <strong>su</strong> ogni apparato).<br />

Il communcation server concentra i dati <strong>su</strong>lla macchina e li inserisce in un database<br />

Un altro pezzo è il deployment server,ossia una macchina che può avere un repository <strong>di</strong> files che si possono installare nella propria<br />

rete.<br />

L'ultimo pezzo è l'application server, ossia l'interfacccia <strong>di</strong> Management <strong>di</strong> questo prodotto.


Sono tre ? si.<br />

Ve<strong>di</strong> figura per chiarimenti<br />

Il prodotto è un'accoppiata <strong>di</strong> apache, perl, php e mysql.<br />

L'agent, <strong>di</strong>sponibile anche per Macosx, è un pacchetto che analizza la macchina e invia i dati al server.<br />

Su macchine windows è <strong>di</strong>sponibile sotto forma <strong>di</strong> agent stand-alone, o in formato services. (ovviamente la parte win non la cureremo,<br />

ma è d'obbligo segnalare che il prodotto si integra perfettamente con Active Directory e Gpo, documentazione <strong>su</strong>l sito ufficiale)<br />

Ufficialmente, come ho in scritto poco sopra, la parte server <strong>di</strong> <strong>OcsInventory</strong> <strong>NG</strong> NON funziona <strong>su</strong> <strong>MacOSX</strong>.<br />

Siccome spesso e volentieri vivo in una realtà dove l'interoperabilità sembra una chimera, mi sono messo qui e oggi vi racconto come<br />

ho fatto a far funzionare questo prodotto <strong>su</strong>l mio mac.<br />

Ecco che qui entriamo noi, con il nostro tutorial.<br />

**** Attenzione il tutorial è stato scritto e testato <strong>su</strong> piattaforma intel, tuttavia non vedo problemi ad effettuare la stessa installazione <strong>su</strong><br />

piattaforma powerpc ****<br />

Requisiti mentali:<br />

Terminale<br />

Concetti <strong>di</strong> rete<br />

Familiarità con ambienti *nix<br />

Familiarità con installazione moduli perl (via cpan o darwinports)


Developer Tools (make, perl)<br />

Requisiti software:<br />

Il prodotto ha come requisiti:<br />

- MySQL versione 4.1 o +<br />

- PERL 5.6 o+<br />

- Apache versione 1.3.33 o +<br />

- PHP 4.3.2 +<br />

- Un sacco <strong>di</strong> moduli <strong>di</strong> perl.<br />

Analisi del problema:<br />

Al primo sguardo potremmo <strong>di</strong>re che OCS Inventory ng è un prodotto basato in architettura AMP (Apache, Mysql,Php) e che quin<strong>di</strong> con<br />

una liscia installazione <strong>di</strong> MAMP possa funzionare, tuttavia non è così.<br />

Il vali<strong>di</strong>ssimo prodotto (MAMP) ha purtroppo gravi problem <strong>di</strong> compatibilità con alcuni moduli perl, inoltre non viene <strong>di</strong>stribuito apache<br />

con mod_perl configurato.<br />

Quin<strong>di</strong> dobbiamo ricorrere al metodo Tafazzi (ve<strong>di</strong> figura)<br />

Ossia,<br />

- Utilizzo <strong>di</strong> apache all'interno <strong>di</strong> macosx<br />

- <strong>Installazione</strong> <strong>di</strong> Php Manuale


- <strong>Installazione</strong> <strong>di</strong> Mysql Manuale<br />

- Smandruppamenti <strong>di</strong> Mysql e PHP<br />

- Compilazione dei moduli <strong>di</strong> perl.<br />

Peccato per MAMP<br />

beh, MAMP è stra-utilizzato per ragioni <strong>di</strong> como<strong>di</strong>tà, certo è che dovremo andare ad effettuare delle mo<strong>di</strong>fiche <strong>su</strong> alcuni file, il<br />

pacchetto però è separato dal sistema operativo quin<strong>di</strong> garantisce <strong>di</strong> non andare ad intaccare alcun file.<br />

Problema cruciale: MAMP non ha mod_perl quin<strong>di</strong> siamo costretti al metodo tafazzoso.<br />

Sto però testando la possibilità <strong>di</strong> farlo funzionare con XAAMP per macosx, che invece <strong>su</strong>pporta perl, in caso andremo ad integrare<br />

questa breve (???) guida.<br />

Realizzazione del progetto<br />

Fase 1: Creazione ambiente appropriato<br />

Alcune note "tecniche", quando il carattere è in stile "Terminale", significa che bisogna <strong>di</strong>gitare queste righe in terminale.( e in questa<br />

riga, si rias<strong>su</strong>mono tanti concetti della vita).<br />

Va da sè che ad ogni fine riga ci sia un "invio".<br />

Apriamo terminale, o una console e <strong>di</strong>gitiamo:<br />

cd /etc/httpd/<br />

poi <strong>di</strong>gitiamo<br />

<strong>su</strong>do mk<strong>di</strong>r conf.d<br />

se ci viene chiesta la password inseriamola, e a questo punto <strong>di</strong>gitiamo<br />

<strong>su</strong>do chmod 755 conf.d<br />

Cosa abbiamo fatto ?<br />

Abbiamo creato la possibilità per il sistema <strong>di</strong> aggiungere file <strong>di</strong> configurazione ad apache.<br />

Cioè abbiamo creato una cartella che il server web leggerà per caricare eventuali altri file <strong>di</strong> configurazione, che vogliamo tenere


separati dal classico httpd.conf<br />

Fase 2: Mo<strong>di</strong>fiche a httpd.conf<br />

adesso apriamo con <strong>di</strong>ritti <strong>di</strong> root il file httpd.conf (io uso vi), sempre da Terminale <strong>di</strong>gitiamo<br />

<strong>su</strong>do vi httpd.conf<br />

innanzitutto an<strong>di</strong>amo a commentare php (se abilitato) <strong>di</strong> sistema, quin<strong>di</strong><br />

Commentiamo, mettendo dei cancelletti in questo modo le linee 240 e 284.<br />

Su vi, sarà <strong>su</strong>fficiente premere il tasto i (<strong>di</strong> insert) e inserire le mo<strong>di</strong>fiche, poi schiacciare "esc"<br />

#LoadModule phnormale_module libexec/httpd/libphnormale.so<br />

#AddModule mod_phnormale.c<br />

e decommentiamo, togliendo i cancelletti la 239 e la 283<br />

Su vi, sarà <strong>su</strong>fficiente premere una x, <strong>su</strong>l cancelletto<br />

LoadModule perl_module libexec/httpd/libperl.so<br />

AddModule mod_perl.c


poi an<strong>di</strong>amo infondo al file, scorrendo<br />

e aggiungiamo in fondo al file la seguente riga<br />

Su vi, sarà <strong>su</strong>fficiente premere il tasto i (<strong>di</strong> insert), aggiungere la linea, poi schiacchiare "esc"<br />

Include /etc/httpd/conf.d/<br />

salviamo e usciamo.<br />

Su vi, si <strong>di</strong>gita


:wq!<br />

Molto bene.<br />

Cosa abbiamo fatto?<br />

Abbiamo <strong>di</strong>sabilitato il php <strong>di</strong> sistema, perchè ha dei problemi a funzionare con questa versione del pacchetto. Inoltre abbiamo<br />

specificato che vogliamo attivare il mod_perl, ossia un modulo che interfaccia <strong>di</strong>rettamente degli script in perl con il server web.<br />

Infine abbiamo aggiunto una riga <strong>di</strong> Include che specifica dove ci sono altri file <strong>di</strong> configurazione da leggere (questa riga è in simbiosi<br />

con la fase 1)<br />

Fase 3: Download e installazione <strong>di</strong> Mysql + smandruppamenti<br />

Ci scarichiamo dal sito <strong>di</strong> Mysql, l'ultima versione <strong>di</strong> mysql per Mac in formato pkg<br />

http://dev.mysql.com/downloads/mysql/5.0.html#macosx<br />

come in figura, sono solo 60mega, in fondo. :D<br />

installiamo Mysql, via pkg.<br />

Io a questo punto utilizzo molto MysqlAdministrator, che è un pacchetto che si può scaricare da qui<br />

http://dev.mysql.com/downloads/gui-tools/5.0.html<br />

Mo<strong>di</strong>fiche a Mysql:<br />

Apriamo Terminale e <strong>di</strong>gitiamo


cd /usr/local/mysql/lib<br />

<strong>su</strong>do mk<strong>di</strong>r mysql<br />

Se viene richiesta la password,<strong>di</strong>gitarla e premere invio<br />

<strong>su</strong>do cp ../* .<br />

Dobbiamo effettuare questa operazione per un bug che sbaglia i percorsi delle librerie...come <strong>di</strong>re, lo freghiamo <strong>di</strong> brutto.<br />

Cosa abbiamo fatto?<br />

Abbiamo installato una versione aggiornata <strong>di</strong> Mysql, e abbiamo copiato le librerie <strong>di</strong> mysql, in un'altra <strong>di</strong>rectory perchè un modulo <strong>di</strong><br />

perl ha un bug nella gestione dei percorsi.<br />

Evviva, potete andare a cenare. Oppure continuare.<br />

Fase 4: Download <strong>di</strong> Ocsinventory-ng<br />

A sto punto ci scarichiamo il prodotto OCS, ovviamente la versione per linux<br />

http://prdownloads.sourceforge.net/ocsinventory/OCS<strong>NG</strong>_LINUX_SERVER_1.01.tar.gz?download<br />

Il pacchetto è in formato tar.gz<br />

Decomprimiamo il pacchetto <strong>di</strong> OCS, anche <strong>su</strong>lla scrivania e a questo punto dobbiamo mo<strong>di</strong>ficare lo script setup.sh<br />

Per chi ha un po' <strong>di</strong> conoscenza <strong>di</strong> bash, questo è uno script abbastanza semplice, an<strong>di</strong>amo a vedere.<br />

Fase 5: Correzione <strong>di</strong> setup.sh<br />

Lo script setup.sh si preoccupa <strong>di</strong> andare a verificare se il sistema è in grado <strong>di</strong> <strong>su</strong>pportare il prodotto, ed effettua alcune mo<strong>di</strong>fiche ai<br />

file <strong>di</strong> apache, inoltre installa l'administration console e il communication server.<br />

Lo mo<strong>di</strong>fichiamo con un e<strong>di</strong>tor <strong>di</strong> testo un po' avanzato, almeno con la sintassi colorata: io propendo per smultron, che è pure<br />

opensource ,oppure textwrangler, oppure pico, oppure vi,o quello che volete.<br />

An<strong>di</strong>amo a mo<strong>di</strong>ficare le linee 91 e 92 dove viene specificato mysql.


Ovviamente Mysql non esiste nel path principale <strong>di</strong> sistema, ma il <strong>su</strong>o binario è in una cartella <strong>di</strong>versa cioè /usr/local/mysql/, quin<strong>di</strong><br />

an<strong>di</strong>amo a specificarlo come in figura.<br />

A questo punto rimane da commentare solamente altre righe, che vanno a mo<strong>di</strong>ficare il logrotate, che a noi non interessa.<br />

Commentiamo quin<strong>di</strong> in stile bash ( con un cancelletto ) le righe dalla 795 alla 818 come in figura.<br />

salviamo e chiu<strong>di</strong>amo setup.sh<br />

Fase 6: Compilazione moduli perl<br />

A questo punto possiamo iniziare a compilare i moduli <strong>di</strong> perl che ci interessano:<br />

Anche qui ci sono 2 strade possibili:<br />

- la prima è utilizzare il cpan, ossia utilizzare il servizio standard che perl offre per l'installazione dei propri moduli<br />

- la seconda è utilizzare un servizio già pacchettizzato (darwinports,fink etc.)<br />

io ho adottato la prima soluzione.<br />

spieghiamo:<br />

cpan è una utility che consente <strong>di</strong> installare i moduli <strong>di</strong> perl, essenzialmente si connette ad un repository <strong>di</strong> moduli, prende la versione<br />

più aggiornata <strong>di</strong> un modulo, la scarica, la compila e la installa.<br />

Noi dobbiamo installare un po' <strong>di</strong> moduli.


Ad eventuali domande <strong>di</strong> pacchetti che richiedono <strong>di</strong>pendenze rispon<strong>di</strong>amo <strong>di</strong> sì, oppure premiamo invio, <strong>su</strong> questi pacchetti non<br />

abbiamo bisogno <strong>di</strong> con<strong>di</strong>zioni speciali.<br />

Nota <strong>su</strong> darwinports,fink e varie:<br />

non ho scelto questo modo, perchè non sono sicuro che questi pacchetti si integrino con il perl <strong>di</strong> sistema, anzi, spesso creano<br />

in /opt/local/ le proprie versioni <strong>di</strong> perl, inoltre almeno un modulo necessita <strong>di</strong> compilazione manuale.<br />

An<strong>di</strong>amo quin<strong>di</strong> ad installare in questo modo:<br />

-Apriamo Terminale<br />

Se avete già utilizzato cpan, non dovrebbero esserci problemi, altrimenti il sistema <strong>di</strong> cpan, potrebbe farvi alcune domande, rispondete<br />

alle domande che vi vengono poste, per il setup iniziale.<br />

<strong>di</strong>gitiamo<br />

<strong>su</strong>do cpan -i Compress::Zlib<br />

se il pacchetto non dà errori, proce<strong>di</strong>amo con<br />

<strong>su</strong>do cpan -i DBI<br />

se il pacchetto non dà errori, proce<strong>di</strong>amo con<br />

<strong>su</strong>do cpan -i Net::IP<br />

se il pacchetto non dà errori, proce<strong>di</strong>amo con<br />

<strong>su</strong>do cpan -i Apache::DBI<br />

se il pacchetto non dà errori, proce<strong>di</strong>amo con<br />

<strong>su</strong>do cpan -i XML::Simple<br />

XML chiederà <strong>di</strong> installare anche XML::Namespaces, XML::Sax, XML::Sax-Expat, XML::Parser<br />

bene, siamo a metà del lavoro.


Adesso arriva la parte <strong>di</strong>fficile, sono 2 moduli un po' ostici, uno è SOAP::Lite, mentre l'altro è DBD::Mysql<br />

iniziamo da SOAP::Lite<br />

<strong>su</strong>do cpan -i SOAP::Lite<br />

Il sistema lavorerà per un po', se va tutto bene,meglio, è facile però che il sistema si fermi <strong>su</strong>l make-test perchè trova alcune<br />

incongruenze.<br />

Per risolvere la cosa, forziamo un po' il sistema.<br />

Digitiamo<br />

<strong>su</strong>do <strong>su</strong><br />

inseriamo la nostra password<br />

**** State lavorando come root quin<strong>di</strong> occhio a cosa fate ***<br />

Ci spostiamo nella cartella /var/root/.cpan/build/<br />

cd /var/root/.cpan/build/<br />

cerchiamo una cartella che si chiamerà SOAP-Lite-x.xx ed entriamo<br />

cd SOAP-Lite*<br />

a questo punto <strong>di</strong>amo un<br />

make<br />

seguito da<br />

make install


Non dovrebbero esserci errori, quin<strong>di</strong> <strong>di</strong>gitiamo<br />

exit<br />

Io a questo punto andrei a dormire.<br />

Comunque ve<strong>di</strong>amo l'ostacolo più duro, DBD::mysql<br />

Scarichiamo manualmente il modulo da qui<br />

Fase 7: <strong>Installazione</strong> <strong>di</strong> DBD::mysql<br />

http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.004.tar.gz<br />

torniamo <strong>su</strong> terminale e <strong>di</strong>gitiamo<br />

<strong>su</strong>do <strong>su</strong><br />

inseriamo la nostra password<br />

**** State lavorando come root quin<strong>di</strong> occhio a cosa fate ***<br />

Ci spostiamo nella cartella /var/root/.cpan/build/<br />

cd /var/root/.cpan/build/<br />

ci copiamo dalla scrivania il file<br />

cp /Users//Desktop/DBD-mysql-4.004.tar.gz .<br />

a questo punto decomprimiamo


tar fxvz DBD-mysql-4.004.tar.gz<br />

cerchiamo una cartella che si chiamerà DBD-mysql-x.xx ed entriamo<br />

cd DBD-mysql*<br />

capiamo cosa stiamo facendo:<br />

stiamo configurando a mano il pacchetto, andando a specificare dove si trovano le librerie <strong>di</strong> mysql, che cpan cercherebbe da altre<br />

parti.<br />

<strong>di</strong>gitiamo quin<strong>di</strong><br />

perl MakeFile.PL --mysql_config=/usr/local/mysql/bin/mysql_config<br />

seguito da<br />

make<br />

a questo punto effettuiamo un bel<br />

make test<br />

nel dare make test, gli errori comuni sono 2:<br />

- make test non trova il socket <strong>di</strong> mysql<br />

Fase 8 : Possibili errori in fase <strong>di</strong> compilazione <strong>di</strong> DBD::mysql<br />

- make test ha problemi <strong>di</strong> connessione al socket, per password <strong>di</strong> root pre-impostate (allora mi state prendendo in giro e una<br />

installazione <strong>di</strong> mysql c'era già)<br />

* Risoluzione a "non trova il socket <strong>di</strong> mysql" , errore Can't connect to local MySQL server through socket<br />

'/tmp/mysql.sock'<br />

un po' incasinato da risolvere, per un sacco <strong>di</strong> problemi. Allora, io ho risolto così.<br />

Innanzitutto, il file <strong>di</strong> sock, è un file che utilizzano sia php che perl che altri programmi per collegarsi all'istanza del database, quin<strong>di</strong> una<br />

sorta <strong>di</strong> "device <strong>di</strong> database", il sock ci <strong>di</strong>ce che il pacchetto sta funzionando ed è attivo e possiamo connetterci a lui tramite questo file.


dal 10.4 c'è un po' <strong>di</strong> casino <strong>su</strong>l "DOVE deve stare sto cavolo <strong>di</strong> mysql.sock" ?<br />

Alcuni l'hanno sempre visto in /var/mysql/mysql.sock , altri sostengono che debba stare in /tmp/mysql.sock<br />

Io sono <strong>di</strong> derivazione *nix, quin<strong>di</strong> l'ho messo al <strong>su</strong>o posto ossia in /var/mysql/mysql.sock, poi, per non saper nè leggere nè scrivere ho<br />

inserito un bel soft-link tra i due.<br />

C'è anche un articolo <strong>di</strong> Tevac <strong>su</strong> questo problema:<br />

http://www.tevac.com/article.php/2006012513085364<br />

cd /etc/<br />

<strong>su</strong>do vi my.cnf<br />

e inserisco in my.cnf<br />

[mysqld]<br />

socket=/var/mysql/mysql.sock<br />

salvo ed esco<br />

a questo punto<br />

<strong>su</strong>do mk<strong>di</strong>r /var/mysql/<br />

chmod 755 /var/mysql/<br />

a sto punto abbiamo detto a mysql, che il <strong>su</strong>o socket è in /var/mysql/. Questo serve per OCS, però non possiamo scontentare nes<strong>su</strong>no<br />

in fatto <strong>di</strong> socket, quin<strong>di</strong> an<strong>di</strong>amo nella cartella /tmp<br />

riavviamo mysql, io utilizzo MySQL Administrator<br />

cd /tmp<br />

<strong>su</strong>do ln -s /var/mysql/mysql.sock mysql.sock


* Risoluzione a "ha problemi <strong>di</strong> connesione"<br />

make test vuole che ci sia un utente root senza password, grazie.<br />

Quin<strong>di</strong> provve<strong>di</strong>amo a resettare temporaneamente la pwd <strong>di</strong> root <strong>su</strong> mysql, io uso MySQL Administrator<br />

Se il make test passa senza problemi potete dare un bel<br />

make install<br />

se il make non dovesse andare a buon fine, segnate l'errore e segnalatemelo.<br />

se invece va tutto a buon fine dovremmo esserci, da adesso in poi la strada è decisamente in <strong>di</strong>scesa.<br />

<strong>di</strong>gitiamo<br />

exit<br />

Sempre da terminale <strong>di</strong>gitiamo<br />

cd ~/Desktop/OCS*<br />

Fase 9 : <strong>Installazione</strong> del pacchetto:<br />

ed ora facciamo partire il famoso setup.sh che abbiamo mo<strong>di</strong>ficato inizialmente<br />

potrebbe chiedervi dove si trova il binario <strong>di</strong> apache <strong>di</strong>gitate<br />

/usr/sbin/httpd<br />

potrebbe chiedervi dove si trova il file <strong>di</strong> configurazione <strong>di</strong> apache <strong>di</strong>gitate<br />

/etc/httpd/httpd.conf<br />

quando vi verrà richiesto quale utente utilizza, <strong>di</strong>gitate www, e per il gruppo <strong>di</strong>gitate www<br />

Se vi chiede dove si trova l'include rispondete <strong>di</strong>gitando<br />

/etc/httpd/conf.d/<br />

A questo punto lo script controlla se mancano moduli perl, se si ferma annotate il pacchetto che manca ed installatelo sempre nella<br />

solita modalità


<strong>su</strong>do cpan -i <br />

Alle domande rispon<strong>di</strong>amo sempre yes, quando ci viene chiesta la DocumentRoot, <strong>di</strong>gitiamo<br />

/Library/WebServer/Documents<br />

e dovreste esserci, viene richiesto un riavvio <strong>di</strong> apache.<br />

A questo punto, installiamo il pacchetto php che Marc ci ha preparato gentilmente<br />

http://www2.entropy.ch/download/entropy-php-5.2.2-1.tar.gz<br />

fermiamo Apache, fermiamo mysql, riavviamo il tutto<br />

Apriamo Safari e <strong>di</strong>gitiamo<br />

http://localhost/ocsreports/<br />

ed iniziamo la configurazione del servizio.<br />

Fase 10: Primo pezzo <strong>di</strong> console amministrativa<br />

***Ricordatevi <strong>di</strong> rimettere la password a root nelle utenze <strong>di</strong> mysql***<br />

Inseriamo nome utente e password<br />

Il sistema genera le tabelle, premiamo invia.<br />

** Possibili Errori<br />

non trova /var/mysql/mysql.sock<br />

verificare che esista il socket, in caso verificare alla voce "Risoluzione a "non trova il socket <strong>di</strong> mysql""<br />

non ha i permessi per entrare <strong>su</strong>l socket<br />

verificare i permessi <strong>di</strong> /var/mysql/mysql.sock


Ed ecco la nostra Console <strong>di</strong> Amministrazione ( user: admin pass: admin )<br />

Qui vi rimando alla documentazione <strong>su</strong>l sito ufficiale del prodotto<br />

Adesso ci installiamo un agent per MACOSX<br />

Fase 11 : Primo inventario<br />

ringraziamo codejanitor, che ha scritto un agent per macosx, e lo ha pacchettizzato.<br />

Questo agent funziona solo con 10.3 e <strong>su</strong>periori.<br />

http://codejanitor.com/wp/apps/ocs-mac-agent/<br />

Installiamo il pkg come sempre e terminata l'installazione, ci spostiamo con terminale nella cartella /etc/ocsinventory-client/<br />

cd /etc/ocsinventory-client/<br />

a questo punto <strong>di</strong>gitiamo<br />

<strong>su</strong>do vi ocsinv.conf<br />

e mo<strong>di</strong>fichiamo il file alla riga OCSFSERVER, andando a sostituire ocsinventory-ng con l'in<strong>di</strong>rizzo ip o il nome della macchina che ha<br />

installato il server nel nostro caso, potremmo anche scrivere così<br />

localhost<br />

oppure<br />

192.168.0.1<br />

o cmq l'in<strong>di</strong>rizzo ip del server.<br />

il pacchetto va ad inserire Ocsinventory negli startupagent, quin<strong>di</strong> all'avvio <strong>di</strong> un mac, verrà fatto partire il programma ( un oscript in<br />

php) programma che si trova in /usr/local/sbin/


noi lo forziamo per verificare il funzionamento del pacchetto quin<strong>di</strong> da terminale <strong>di</strong>gitiamo<br />

<strong>su</strong>do php /usr/local/sbin/ocs_mac_agent.php<br />

L'agent deve dare un messaggio 200, seguito dall'inventario della macchina.<br />

***<br />

Possibili Errori<br />

il server da un 500<br />

verificare /var/log/httpd/error.log<br />

Probabilmente è un problema <strong>di</strong> DBI , o DBD<br />

con<strong>su</strong>ltarmi o GIYF<br />

il server da problemi <strong>di</strong> permessi<br />

verificare <strong>di</strong> aver lanciato lo script con <strong>su</strong>do.<br />

Se invece va tutto bene:<br />

1) battevi una pacca <strong>su</strong>lla spalla<br />

Fase 12: Ri<strong>su</strong>ltati<br />

2) <strong>di</strong>gitate http://localhost/ocsreports e vederete inventariato il vostro Mac<br />

Ahr.<br />

Appen<strong>di</strong>ce:


Ci sono ovviamente altri approcci alla situazione.<br />

Altri approcci:<br />

Potete infatti scaricare mysql da entropy, oppure una versione pre-pacchettizata.<br />

L'essenziale da ricordare è questo.<br />

* Ci vuole Apache con mod_perl installato, oppure ci si compila mod_perl (ci vogliono i sorgenti <strong>di</strong> apache)<br />

* Ci vuole Mysql, con la cartella "include", per la compilazione corretta <strong>di</strong> DBD::mysql<br />

* Ci vuole Php, possibilmente quello <strong>di</strong> entropy.<br />

i file da tenere d'occhio in caso <strong>di</strong> problemi sono:<br />

/var/log/httpd/error.log<br />

/var/log/ocsinventory-ng/ocsinventory-ng.log<br />

Scrivere queste righe è costato tempo e fatica.<br />

Debug:<br />

Ringraziamenti:<br />

Non vi <strong>di</strong>co poi, prima far funzionare la cosa, che non è documentata da nes<strong>su</strong>na parte, poi ri-pulire, e poi documentare come si è fatto<br />

(non ho un esercito <strong>di</strong> mac dove effettuare i test)<br />

Se qualcosa va storto, sentitevi liberi <strong>di</strong> scrivermi.<br />

Ringrazio anche mia moglie, che porta in grembo Sofia, una nuova mac-lover e che ha pazientemente sopportato il sottoscritto in fase<br />

<strong>di</strong> elaborazione.<br />

Ringrazio tevac, perchè la conoscenza passa anche da qui.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!