CRM
Qualche tempo fa mi è stato chiesto di realizzare un CRM per la gestione degli agenti in ditta.
Dopo una ricerca in rete la scelta è caduta su SugarCrm community edition che soddisfa ampiamente le nostre necessità ed inoltre e’ facilmente personalizzabile con l’aggiunta di campi di input e maschere ad hoc realizzabili in modo davvero facile.
Al di la del fatto che questa richiesta mi ha portato a dover realizzare una DMZ cosa non immediata ne facilissima visto che non uso generatori di regole per iptables, ma di questo parlerò 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.
Inoltre pur essendo per ora sperimentale la cosa, era necessario configurare la macchina come critical mission e garantire un alto grado di interrompibilità del servizio, non era pensabile di clusterizzare la macchina per via dei costi e degli spazi (ormai la sala macchine è come dire… affollata) quindi ho optato per un raid1 software riutilizzando un vecchio server Dell PowerEdge 1800 che avevamo qui fermo da un po e che è’ un vero mulo da soma.
La prima sgradita sorpresa è 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 obtorto collo ho dovuto installare una ubuntu server 12.04 che devo dire ad onore del vero s’è installata senza nessun problema e ha realizzato il raid1 al volo senza dare nessuna noia.
La macchina ha 2 dischi SCSI da 150 GB che sono stati partizionati in questo modo:
sda1 Boot Primary linux_raid_m [crm:0] 98,57 *
sda2 Primary linux_raid_m [crm:1] 1999,64 *
sda3 Primary linux_raid_m [crm:2] 1999,64 *
sda5 NC Logical linux_raid_m [crm:3] 19998,45 *
sda6 NC Logical linux_raid_m [crm:4] 120000,09 *
sda7 NC Logical linux_raid_m [crm:5] 1000,13 *
sda8 NC Logical linux_raid_m [crm:6] 1716,52 *
e 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 nel mio caso:
/dev/md0 on /boot type ext3 (rw)
/dev/md1 none swap sw
/dev/md2 on / type ext3 (rw,errors=remount-ro)
/dev/md3 on /usr type ext3 (rw)
/dev/md4 on /var type ext3 (rw)
/dev/md5 on /tmp type ext3 (rw)
/dev/md6 on /home type ext3 (rw)
Questa è l’unica cosa degna di nota del setup della macchina, per il resto le opzioni di default vanno bene, mi sono rifiutato per mia mentalità di usare sudo e ho attivato l’utente root in fase di installazione, davvero sudo non lo digerisco neanche col bicarbonato.
Al riavvio provvedo a installare grub su entrambi i dischi con un grub-install /dev/sda e successivamente grub-install /dev/sdb.
prima 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 qui
Passo ora all’installazione e configurazione dei servizi necessari.
Hardening del sistema
SugarCrm
SSL
Apache2
php5
fail2ban