Archive for the ‘Server’ Category

Roundcube webmail

Un ottimo client web di posta è Roundcube Webmail. Per installarlo prima bisogna scaricarlo dal sito: Roundcube

una volta ottenuto il file, bisogna decomprimerlo con:

tar xvzf roundcubemail-0.1-rc1.1.tar.gz

e copiare la cartella estratta in /var/www/
All’interno della cartella roundcube appena copiata risiede la sottocartella config, al suo interno copiare i file di esempio con:

cp db.inc.php.dist db.inc.php
cp main.inc.php.dist main.inc.php

editare quindi il file main.inc.php e cambiare i seguenti parametri:

$rcmail_config['default_host'] = 'localhost';
$rcmail_config['mail_domain'] = 'azienda.it';
$rcmail_config['smtp_server'] = 'mail.cs.interbusiness.it';
$rcmail_config['locale_string'] = 'it';
$rcmail_config['product_name'] = 'Azienda';
$rcmail_config['junk_mbox'] = 'Spam';
$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Spam', 'Trash');

$rcmail_config['ldap_public']['Verisign'] = array(
'name'          => 'LDAP',
'hosts'         => array('localhost'),
'port'          => 389,
'base_dn'       => 'dc=azienda,dc=it',
'bind_dn'       => '',
'bind_pass'     => '',
'search_fields' => array('mail', 'cn'),  // fields to search in
'name_field'    => 'cn',    // this field represents the contact's name
'email_field'   => 'mail',  // this field represents the contact's e-mail
'scope'         => 'sub',   // search mode: sub|base|list
'filter'        => '',      // will be &'d with search field ex: (status=act)
'fuzzy_search'  => true);   // server allows wildcard search

A questo punto creare il database roundcubemail all’interno del proprio mysql con il comando:

mysqladmin -u root -p create roundcubemail

E popolare il database con il comando:

mysql -u root -p roundcubemail < SQL/mysql.initial.sql

A questo punto, entrare in mysql con:

mysql -u root -p

e garantire l'accesso al database da parte dell'utente roundcube con:

GRANT SELECT, INSERT, UPDATE, DELETE ON roundcubemail .* TO roundcube@localhost IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;

Infine editare il file /etc/apache2/sites-enabled/000-default e come sito di default usare:

RedirectMatch ^/$ /roundcubemail-0.1-rc1/

e riavviare apache e mysql con:

/etc/init.d/apache2 restart
/etc/init.d/mysql restart

Fonte: Massimo Caselli

Ps: per una corretta manutenzione dei database mysql usare phpmyadmin

Antispam OCR

Spamassassin combatte egregiamente lo spam, a patto che le mail contengano testo. Ma purtroppo in molti casi i messaggi vengono inviati sotto forma di immagini, e come si può presupporre questa modalità non può essere vagliata in alcun modo da un programma testuale. Una soluzione a questo è un plugin per Spamassassin che decifri un immagine in testo, quindi un OCR.
Il programma in questione si chiama FuzzyOCR e si trova al seguente indirizzo: Fuzzyocr

Scaricare il file tar.gz e decomprimerlo con:

tar xzf fuzzyocr-3.5.1-devel.tar.gz

Quindi copiare il contenuto della cartella dentro a /etc/mail/spamassassin
Ora perché funzioni bisogna installare i seguenti pacchetti:

aptitude install gifsicle netpbm ocrad libmldbm-sync-perl libstring-approx-perl gocr imagemagick libgocr0 libungif-bin

A questo punto è meglio fare una prova per vedere se qualcosa non funziona:

su -c "spamassassin --debug FuzzyOcr < /etc/mail/spamassassin/samples/ocr-animated.eml > /dev/null" amavis

Se non viene trovato il file Timeout.pm bisogna prenderlo dal file sorgente di Spamassassin che si trova nel sito, una volta scaricato e decompresso il file copiarlo con:

cp Mail-SpamAssassin-3.1.8/lib/Mail/SpamAssassin/Timeout.pm /usr/share/perl5/Mail/SpamAssassin

Infine è da dire che FuzzyOCR funziona dalla versione 3.1.8 di Spamassassin, non presente in Dapper. Una soluzione è scaricare l’ultima versione con cpan:

cpan Mail::SpamAssassin

Compressione di file separati

Avendo una cartella di backup che pesa 100gb e dovendola far stare in un nastro che ne tiene 50gb, bisogna comprimere la cartella prima del backup.
Volendo si può creare un unico file .gz e poi farne il salvataggio su nastro, ma questo comporta due problemi:
1. Se il file .gz si rovina in una sua parte, perdo tutto il backup.
2. Se voglio recuperare un file da 100kb devo recuperare 50gb per poi decomprimerli in 100gb e recuperare il file.
Questi due problemi possono essere ovviati creando tanti piccoli file .gz di ogni singolo file che mantengano la propria struttura di cartelle ad albero originale. Quindi il file che prima era Documenti/Testi/Lettera.doc diverrà Documenti/Testi/Lettera.gz
Lo script per fare ciò è il seguente:

#!/bin/bash
cd /media/hdc1/Dati
IFS='
'
for F in $(find . -type f); do
	gzip -1 "$F"
done

Restrizioni Samba home

Sul server samba se diamo la condivisione a homes, qualunque utente Samba valido può accedere a qualsiasi home anche non sua, ma giustamente solo l’utente proprietario ha la possibilità di leggere e scrivere nella sua cartella, e questo perché il sistema operativo ha dato i permessi di r/w solo a lui. Quindi di sorta non ci dovrebbero essere problemi.
In alcuni casi però la home ha dei permessi più liberi a livello di sistema, e questo permetterebbe anche ad utenti non proprietari di entrare in qualsiasi home. In questi casi allora è possibile limitare l’accesso tramite Samba, solo all’utente che si chiama come la cartella.
Per fare questo nella sezione [homes] di /etc/samba/smb.conf aggiungere:

valid users = %S

Script di tape-status

Questo script controlla che ci sia il nastro inserito nel tape, in caso il nastro non sia presente manda una mail per avvisare il sysadmin.

#!/bin/bash
if [ "$(mt -f /dev/nst0 status | grep IM_REP_EN)" = " DR_OPEN IM_REP_EN" ] ; then
	echo "Attenzione: Cassetta non presente nel tape." | /usr/bin/nail -s "Cassetta non presente" utente@azienda.it
fi