mag 16
Oggi ho fatto un salto dal meccanico. La mia auto ha bisogno di un poco di manutenzione. Avrebbe bisogno anche di una bella lavata, dal momento che non vede shampoo da oltre un anno. Il che comunque non guasta: ho scoperto che lo strato di povere e insetti protegge la carrozzeria dai graffi e dall’usura. Davvero, funziona come quella sostanza protettiva di cui sono ricoperte le auto nuove quando le portano in concessionaria. Almeno credo…
Insomma, me ne stavo in piedi ad aspettare il mio turno. Paolo il meccanico è uno gettonato. Perché è molto capace e molto onesto. Con me c’erano mia moglie Vania e il piccolo Leo. Nostro figlio ha solo tre mesi ma è straordinariamente simpatico – lo dico con assoluta obbiettività di padre – ed ha presto attirato l’attenzione di un vecchio a cui Paolo stava sistemando qualcosa che aveva a che fare con i tergicristalli.
Il vecchio era una di quelle persone che parlano con tutti e in men che non si dica ci ha raccontato un pezzo significativo della sua esistenza. Ora di lui sappiamo che ha 86 anni, che nel ’70 ha costruito una casa di 140 metri quadri pagandola 20 milioni di vecchie lire, che il mutuo a quei tempi si aggirava attorno alle 100mila lire e che la sua entrata mensile era tra una cosa e l’altra di oltre 500mila. Questo per informarci del fatto che 40 anni fa le cose funzionavano molto meglio perché c’era la Democrazia Cristiana. Leggi il resto »
mar 02
Quello che pubblico qui è un semplice esempio di come si possano effettuare operazioni massive da remoto su un server dotato di un pannello di controllo ISPConfig. Lo script crea 100 database MySQL assegnandoli al cliente con ID = 210.
// Parametri connessione SOAP
$username = 'XXXXXXXXXXXXXXX';
$password = 'YYYYYYYYYYYYYYY';
$soap_location = 'https://myserver.example.com:8080/remote/index.php';
$soap_uri = 'https://myserver.example.com:8080/remote/';
// Inizializzazione del client SOAP
$client = new SoapClient(null, array('location' => $soap_location, 'uri' => $soap_uri));
try {
// Autenticazione del client SOAP
if($session_id = $client->login($username,$password)) {
// Conferma collegamento con ID di sessione
echo 'Collegamento effettuato. SessionID = '.$session_id."\n";
// Ciclo per la creazione di 100 database per il cliente con id 210
for ($x=1;$x< =100;$x++)
{
$params = array(
'server_id' => '1',
'sys_userid' => '210',
'sys_groupid' => '210',
'sys_perm_user' => 'riud',
'sys_perm_group' => 'riud',
'type' => 'mysql',
'database_user' => 'c210_mydb'.$x,
'database_name' => 'c210_mydb'.$x,
'database_password' => 'ZZZZZZZZZZZZZZZ',
'remote_access' => 'n',
'active' => 'y',
'sys_perm_other' => '',
'database_charset' => ''
);
// Aggiunge il database
$operation_result = $client->sites_database_add($session_id,'210',$params);
// Conferma operazione
echo 'Operazione completata. Risultato: '.$operation_result."\n";
}
}
} catch (SoapFault $e) {
die('SOAP Error: '.$e->getMessage());
echo "Connessione SOAP fallita.";
}
feb 28
Vediamo se il plugin che sincronizza il mio triste, vecchio blog solitario con il mio profilo di FaceBook funziona ancora… Sa, sa, prova, prova, 1, 2, 3, sa…
gen 12
Risposta minimalistica ad una domanda minimalistica: come faccio a clonare un server Debian replicandone completamente il software installato?
1) sul server da clonare esporta l’elenco dei pacchetti installati:
dpkg --get-selections > installed-software
2) passalo sul server clone:
scp installed-software pippo@nomeserver.test123.com:~
3) sul server clone importa l’elenco dei pacchetti da installare:
dpkg --set-selections < installed-software
4) sul server clone avvia l’installazione dei pacchetti selezionati:
apt-get dselect-upgrade
That’s all folks!
gen 05

Everybody knows that the dice are loaded
Everybody rolls with their fingers crossed
Everybody knows that the war is over
Everybody knows the good guys lost
Everybody knows the fight was fixed
The poor stay poor, the rich get rich
That’s how it goes
Everybody knows
Everybody knows that the boat is leaking
Everybody knows that the captain lied
Everybody got this broken feeling
Like their father or their dog just died
Leggi il resto »
gen 03
Chi utilizza RoundCube come applicazione webmail – noi ne utilizziamo una versione nostra con alcuni miglioramenti interessanti – si sarà accorto che la gestione degli allegati avviene in una maniera piuttosto anomala. Per motivi incomprensibili, l’applicazione è stata disegnata ignorando completamente alcuni importanti settaggi del php.ini e di Postfix relativi alle dimensioni dei file allegabili ad un messaggio email:
- vengono completamente ignorati i valori dei parametri upload_max_filesize (=maximum allowed size for uploaded files), post_max_size (=maximum size of POST data that PHP will accept) e memory_limit (=maximum amount of memory a script may consume) indicati nel file php.ini
- viene completamente ignorato il valore di message_size_limit nel file main.cf di Postfix
Ovviare a questa mancanza però è davvero semplice, è sufficente editare il file /usr/share/roundcube/.htaccess e cambiare a piacimento i valori dei rispettivi parametri:
php_value upload_max_filesize 20M
php_value post_max_size 21M
php_value memory_limit 64M
Tutto qui.