{"id":376,"date":"2012-10-17T16:36:53","date_gmt":"2012-10-17T14:36:53","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?page_id=376"},"modified":"2012-10-24T15:02:14","modified_gmt":"2012-10-24T13:02:14","slug":"crm","status":"publish","type":"page","link":"http:\/\/clark.tipistrani.it\/?page_id=376","title":{"rendered":"CRM"},"content":{"rendered":"<p>Qualche\u00a0 tempo fa mi \u00e8 stato chiesto di realizzare un <a href=\"http:\/\/it.wikipedia.org\/wiki\/Customer_Relationship_Management\">CRM<\/a> per la gestione degli agenti in ditta.<br \/>\nDopo una ricerca in rete la scelta \u00e8 caduta su <a href=\"http:\/\/www.sugarcrm.com\/community\">SugarCrm community edition<\/a> che soddisfa ampiamente le nostre necessit\u00e0 ed inoltre e&#8217; facilmente personalizzabile con l&#8217;aggiunta di campi\u00a0 di input e maschere ad hoc realizzabili in modo davvero facile.<br \/>\nAl di la del fatto che questa richiesta mi ha portato a dover realizzare una <a href=\"http:\/\/it.wikipedia.org\/wiki\/Demilitarized_zone\">DMZ<\/a> cosa non immediata ne facilissima visto che non uso generatori di regole per iptables, ma di questo parler\u00f2 un altra volta, si trattava di realizzare un vero e proprio web server cosa che non ho mai fatto e che mi preoccupava non poco dal punto di vista della sicurezza.<br \/>\nInoltre pur essendo per ora sperimentale la cosa, era necessario configurare la macchina come critical mission e garantire un alto grado di interrompibilit\u00e0 del servizio, non era pensabile di clusterizzare la macchina per via dei costi e degli spazi (ormai la sala macchine \u00e8 come dire&#8230; affollata) quindi ho optato per un raid1 software riutilizzando un vecchio server Dell\u00a0 PowerEdge 1800 che avevamo qui fermo da un po e che \u00e8&#8217; un vero mulo da soma.<br \/>\nLa prima sgradita sorpresa \u00e8 stata che la attuale Debian stable (Squeeze) non ne voleva sapere di riconoscere il raid1 ne in fase di installazione ne aggiungendo poi mdadm e facendo la procedura per creare i device md, dopo una decina di tentativi e innumerevoli anatemi verso non so quanti pantheon ho abbozzato e <a href=\"http:\/\/it.wiktionary.org\/wiki\/obtorto_collo\">obtorto collo<\/a> ho dovuto installare una ubuntu server 12.04 che devo dire ad onore del vero s&#8217;\u00e8 installata senza nessun problema e ha realizzato il raid1 al volo senza dare nessuna noia.<br \/>\nLa macchina ha 2 dischi SCSI da 150 GB che sono stati partizionati in questo modo:<\/p>\n<p>sda1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Boot\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Primary\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:0]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 98,57\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\nsda2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Primary\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:1]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1999,64\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\nsda3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Primary\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:2]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1999,64\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\nsda5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NC\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Logical\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:3]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 19998,45\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\nsda6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NC\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Logical\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:4]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 120000,09\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\nsda7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NC\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Logical\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:5]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1000,13\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\nsda8\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NC\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Logical\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linux_raid_m\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [crm:6]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1716,52\u00a0\u00a0\u00a0\u00a0\u00a0 *<br \/>\ne identico su sdb, durante la preparazione delle partizioni come tipo di filesystem si sceglie spazio fisico per il raid, alla fine si assembla il raid dando a md0 le partizioni sda1\/sdb1 e via dicendo, alla fine si crea il filesystem sui device md invece che sui dischi veri e propri e a loro si assegna il mount point\u00a0 nel mio caso:<br \/>\n\/dev\/md0 on \/boot type ext3 (rw)<br \/>\n\/dev\/md1\u00a0\u00a0 none swap sw<br \/>\n\/dev\/md2 on \/ type ext3 (rw,errors=remount-ro)<br \/>\n\/dev\/md3 on \/usr type ext3 (rw)<br \/>\n\/dev\/md4 on \/var type ext3 (rw)<br \/>\n\/dev\/md5 on \/tmp type ext3 (rw)<br \/>\n\/dev\/md6 on \/home type ext3 (rw)<br \/>\nQuesta \u00e8 l&#8217;unica cosa degna di nota del setup della macchina, per il resto le opzioni di default vanno bene, mi sono rifiutato per mia mentalit\u00e0 di usare sudo e ho attivato l&#8217;utente root in fase di installazione, davvero sudo non lo digerisco neanche col bicarbonato.<br \/>\nAl riavvio provvedo a installare grub su entrambi i dischi con un grub-install \/dev\/sda e successivamente grub-install \/dev\/sdb.<br \/>\nprima di procedere con la configurazione della macchina testo che il raid1 sia funzionante vale a dire spengo la macchina e tolgo a turno i due dischi per vedere se la macchina parte comunque, e faccio un test di ricostruzione del raid1 come spiegato <a title=\"Recupero del raid1\" href=\"http:\/\/clark.tipistrani.it\/?p=378\">qui<\/a><br \/>\nPasso ora all&#8217;installazione e configurazione dei servizi necessari.<\/p>\n<p><a title=\"Hardening del sistema\" href=\"http:\/\/clark.tipistrani.it\/?p=347\">Hardening del sistema<\/a><br \/>\n<a title=\"Sugarcrm\" href=\"http:\/\/clark.tipistrani.it\/?p=432\">SugarCrm<\/a><br \/>\n<a title=\"SSL generazione di certificati per uso proprio\" href=\"http:\/\/clark.tipistrani.it\/?p=319\">SSL<\/a><br \/>\n<a title=\"Apache2 per SugarCrm\" href=\"http:\/\/clark.tipistrani.it\/?p=353\">Apache2<\/a><br \/>\n<a title=\"Hardening PHP\" href=\"http:\/\/clark.tipistrani.it\/?p=331\">php5<\/a><br \/>\n<a title=\"Fail2ban\" href=\"http:\/\/clark.tipistrani.it\/?p=437\">fail2ban<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qualche\u00a0 tempo fa mi \u00e8 stato chiesto di realizzare un CRM per la gestione degli agenti in ditta. Dopo una ricerca in rete la scelta \u00e8 caduta su SugarCrm community edition che soddisfa ampiamente le nostre necessit\u00e0 ed inoltre e&#8217; facilmente personalizzabile con l&#8217;aggiunta di campi\u00a0 di input e maschere ad hoc realizzabili in modo [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":20,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-376","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/pages\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=376"}],"version-history":[{"count":32,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/pages\/376\/revisions"}],"predecessor-version":[{"id":454,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/pages\/376\/revisions\/454"}],"up":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/pages\/20"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}