Questo errore puo' capitare dopo un upgrade di roundcube.
Verificare che tutti i file della directory /etc/roundcube abbiano permessi settati a 644
sabato 1 ottobre 2016
lunedì 28 settembre 2015
Ubuntu: dove e' finito il mio Guake????
A volte capita che dopo aver minimizzato la finestra di Guake non sia piu' possibile aprirla.
Niente panico...anzi...NIENTE PANICO!!!!!
Usiamo il comando xwininfo per trovare la root window a cui dovrebbe essere collegato il nostro guake:
xwininfo -name 'Guake!' -int -tree
xwininfo: Window id: 60817461 "Guake!"
Root window id: 143 (the root window) (has no name)
Parent window id: 143 (the root window) (has no name)
1 child:
60817462 (has no name): () 1x1+-1+-1 +64+23
Niente panico...anzi...NIENTE PANICO!!!!!
Usiamo il comando xwininfo per trovare la root window a cui dovrebbe essere collegato il nostro guake:
xwininfo -name 'Guake!' -int -tree
xwininfo: Window id: 60817461 "Guake!"
Root window id: 143 (the root window) (has no name)
Parent window id: 143 (the root window) (has no name)
1 child:
60817462 (has no name): () 1x1+-1+-1 +64+23
Memorizzate il Parent window id
Utilizziamo il comando xdotool (se non c'e', installatelo con il comando sudo apt-get install xdotool):
xdotool search --name 'Guake!' windowreparent 143
mercoledì 6 maggio 2015
Esclusione di directory nel comando tar
Lanciando il comando:
tar cvf dest_file.tar --exclude dir1/dirB -exclude dir1/dirA dir1
ottengo erroneamente un archivio contenente la copia della directory dir1 con l'esclusione del contenuto della sua sottodirectory dir1/dirB.
La sottodirectory dir1/dirB (che io avevo chiesto di escludere) e' stata inserita nella copia.
Per risolvere questa anomalia (presente in diverse relesase del comando tar) bisogna modificare il comando iniziale in:
tar cvf dest_file.tar dir1 --exclude dir1/dirB -exclude dir1/dirA[INVIO]
In pratica bisogna tener conto di queste due cose:
- La directory principale deve precedere le sottodirectory escluse
- Dopo l'ultima sottodirectory da escludere non ci possono essere spazi , quindi premere subito il tasto INVIO
mercoledì 31 dicembre 2014
Magento: notifica su header negozio in modalita' demo
Dopo aver clonato un negozio magento puo' essere opportuno metterlo in stato DEMO (con relativa notifica sull'header della home page). Un esempio del frontend:
e uno del backend:
(la funzione demo e' automaticamente settata in caso di una nuova installazione di Magento)
Per abilitarla (o disabilitarla) bisogna entrare nel backend di Magento e selezionare SI o NO dalla voce:
Sistema - Configurazione - Generale - Design - HTML Head - Visualizza notifica Negozio Demo
Confermare la scelta cliccandi sul bottone SAVE CONFIG in alto a destra.
e uno del backend:
(la funzione demo e' automaticamente settata in caso di una nuova installazione di Magento)
Per abilitarla (o disabilitarla) bisogna entrare nel backend di Magento e selezionare SI o NO dalla voce:
Sistema - Configurazione - Generale - Design - HTML Head - Visualizza notifica Negozio Demo
Confermare la scelta cliccandi sul bottone SAVE CONFIG in alto a destra.
martedì 25 novembre 2014
Guake: modificare la larghezza della finestra
Editare /usr/bin/guake
Trovare il blocco di codice
screen = self.window.get_screen()
height = self.client.get_int(KEY('/general/window_height'))
# modificata larghezza finestra guake
# width = 100
width = 90
halignment = self.client.get_int(KEY('/general/window_halignment'))
Trovare il blocco di codice
screen = self.window.get_screen()
height = self.client.get_int(KEY('/general/window_height'))
# modificata larghezza finestra guake
# width = 100
width = 90
halignment = self.client.get_int(KEY('/general/window_halignment'))
e cambiare
width = 100
in
# width = 100
width = 90
Il valore della variabile width esprime la larghezza della finestra espressa in percentuale rispetto alla larghezza dello schermo.
N.B. in alcune distribuzioni il file da modificare e' /usr/lib/guake.py
in
# width = 100
width = 90
Il valore della variabile width esprime la larghezza della finestra espressa in percentuale rispetto alla larghezza dello schermo.
N.B. in alcune distribuzioni il file da modificare e' /usr/lib/guake.py
giovedì 9 ottobre 2014
ispconfig3: disabilitare filtri antivirus e antispam
vi /etc/postfix/main.cf
Commentare le due linee:
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
che diventano quindi:
# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings
Far ripartire postfix:
/etc/init.d/postfix restart
Rimettere in coda le eventuali mail in sospeso:
postsuper -r ALL
(questo ultimo comando serve ad evitare l'errore "postfix/qmgr[xxxx]: warning: connect to transport private/amavis: Connection refused"
Disabilitare servizi antispam e antivirus:
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop
Dopo aver verificato che tutto funzioni corretamente, disabilitare l'avvio automatico al boot dei servizi antispam e antivirus:
update-rc.d -f clamav-daemon remove
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove
Commentare le due linee:
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
che diventano quindi:
# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings
Far ripartire postfix:
/etc/init.d/postfix restart
Rimettere in coda le eventuali mail in sospeso:
postsuper -r ALL
(questo ultimo comando serve ad evitare l'errore "postfix/qmgr[xxxx]: warning: connect to transport private/amavis: Connection refused"
Disabilitare servizi antispam e antivirus:
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop
Dopo aver verificato che tutto funzioni corretamente, disabilitare l'avvio automatico al boot dei servizi antispam e antivirus:
update-rc.d -f clamav-daemon remove
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove
lunedì 25 agosto 2014
sed: sostituire tutti gli spazi a inizio riga con un altro carattere
Se vogliamo sostituire, ad esempio, tutti gli spazi a inizio riga con il carattere underscore ('_'), possiamo usare questo comando:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1_/;ta' file
Se vogliamo mantenere l'indentazione di un blocco di codice in formato testo dopo averlo messo su un server http possiamo sostituire gli spazi iniziali con il codice HTML corrispondente allo spazio:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1_/;ta' file
Se vogliamo mantenere l'indentazione di un blocco di codice in formato testo dopo averlo messo su un server http possiamo sostituire gli spazi iniziali con il codice HTML corrispondente allo spazio:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1 /;ta' file
Etichette:
html,
leading spaces,
linux,
sed,
substitute,
text
giovedì 21 agosto 2014
Linux: conversione da WAV a MP3
Installiamo il software necessario
sudo apt-get install lame
Spostiamoci nella cartella contenente i file .wav da convertire e lanciamo il comando seguente:
for f in *.wav; do lame -V 1 "$f" "${f%.wav}.mp3"; done
sudo apt-get install lame
Spostiamoci nella cartella contenente i file .wav da convertire e lanciamo il comando seguente:
for f in *.wav; do lame -V 1 "$f" "${f%.wav}.mp3"; done
php: visualizzare gli eventuali errori nell'esecuzione di una query mysql
Inserire la linea di codice seguente subito dopo la query da controllare:
echo mysql_errno() . ": " . mysql_error() . "\n";
echo mysql_errno() . ": " . mysql_error() . "\n";
Etichette:
debug,
mysql,
mysql_errno,
mysql_error,
php
venerdì 15 agosto 2014
Convertire tutte le immagini PNG di una cartella in formato JPG
mogrify -format jpg *.png
Etichette:
conversione,
convert,
imagemagick,
jpg,
linux,
mogrify,
png
venerdì 18 luglio 2014
Aggiungere un timbro ad un PDF da linea di comando
Se abbiamo un documento (ad esempio documento.pdf) e un file pdf tutto traspartente a parte il timbro da applicare al documento (ad esempio timbro.pdf) possiamo lanciare il comando:
Otterremo un nuovo file (documento_timbrato.pdf) contenente il documento iniziale con sovrapposto il timbro)
pdftk documento.pdf stamp timbrp.pdf output documento_timbrato.pdf
Otterremo un nuovo file (documento_timbrato.pdf) contenente il documento iniziale con sovrapposto il timbro)
lunedì 7 luglio 2014
Backup di un account imap con imapsync
Cominciamo installando il software necessario:
e ancora:
Scarichiamo i sorgenti dell'ultima versione di imapsync
Compiliamo i sorgenti:
Se ricevete degli errori causati dalla mancanza di alcune librerie Perl sul vostro sistema, provate a lanciare il comando seguente:
Se tutto va bene dovreste vedere qualcosa del genere:
A questo punto vi consiglio un'occhiatina alla man page di imapsync:
Per il mio test iniziale replica di un account imap tra 2 server Debian Wheezy con Dovecot Imap ho usato questo comando:
apt-get install libdate-manip-perl libterm-readkey-perl libterm-readkey-perl libdigest-hmac-perl libdigest-hmac-perl libdate-manip-perl libmail-imapclient-perl
e ancora:
apt-get install makepasswd rcs perl-doc libmail-imapclient-perl make git-core git-doc git-svn git-gui gitk
Scarichiamo i sorgenti dell'ultima versione di imapsync
cd /tmp
git clone git://github.com/imapsync/imapsync.git
Compiliamo i sorgenti:
cd imapsync
make install
Se ricevete degli errori causati dalla mancanza di alcune librerie Perl sul vostro sistema, provate a lanciare il comando seguente:
perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL \
-mDigest::HMAC_MD5 -mAuthen::NTLM -e -mTime::HiRes \
-mData::Uniqid -mURI::Escape -mFile::Copy::Recursive -mIO::Tee ""
Se tutto va bene dovreste vedere qualcosa del genere:
A questo punto vi consiglio un'occhiatina alla man page di imapsync:
man imapsync
Per il mio test iniziale replica di un account imap tra 2 server Debian Wheezy con Dovecot Imap ho usato questo comando:
imapsync --host1 alderan --host2 tatooine --user1 c3po --user2 r2d2 --tls1 --noauthmd5 --authmech1 CRAM-MD5 --authmech2 LOGIN
lunedì 9 giugno 2014
Formattare il codice per blogspot
Per poter formattare il codice da inserire nel vostro blog Blogspot usate il formattatore online all'indirizzo
Etichette:
blospot,
code,
codice,
formattatore,
formatter
openssl: generare in casa certificati per VPN
Attenzione, a partire dalla release 5.15 RouterOS supporta il formato di chiavi pkcs8.
Se utilizzate una release precedente e volete importare le chiavi pkcs8 lanciate il comando:
poi copiate l´output in un file e lo uploadate sul vostro router.
Cominciamo preparando una coppia chiave/certificato per la nostra CA (Certificate Authority):
Durante il processo dovrete inserire alcune voci (Common Name (CN), Organization, State or province .. etc). La coppia chiave/certificato generata avra' una validita' di 10 anni (3650 giorni).
Ora passiamo a generare una coppia chiave/certificato per il nostro server (ad esempio il router Mikrotik a cui ci vogliamo collegare in VPN)
Di nuovo, durante il processo dovrete inserire alcune voci.Al momento di inserire CN ricordate che deve essere diverso da quello del certificato della CA e da quello del client (che andremo a generare tra poco) per evitare collisioni nei nomi.
Attenzione: Il Common Name (CN) nel certificato del server dovrebbe corrispondere all'IP address del server altrimenti verra' generato un messaggio di warning al momento della connessione.
Se il client saranno solo macchine Windows il CN puo'tranquillamente essere un nome DNS.
La generazione del paio chiave/certificato per il client e'mlto simile a quella per il server, ricordatevi di usare un CN univoco.
Per esaminare e verificare il certificato usate il comando seguente:
Se utilizzate una release precedente e volete importare le chiavi pkcs8 lanciate il comando:
openssl rsa -in myKey.key -text
poi copiate l´output in un file e lo uploadate sul vostro router.
Cominciamo preparando una coppia chiave/certificato per la nostra CA (Certificate Authority):
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
Durante il processo dovrete inserire alcune voci (Common Name (CN), Organization, State or province .. etc). La coppia chiave/certificato generata avra' una validita' di 10 anni (3650 giorni).
Ora passiamo a generare una coppia chiave/certificato per il nostro server (ad esempio il router Mikrotik a cui ci vogliamo collegare in VPN)
openssl genrsa -des3 -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
Di nuovo, durante il processo dovrete inserire alcune voci.Al momento di inserire CN ricordate che deve essere diverso da quello del certificato della CA e da quello del client (che andremo a generare tra poco) per evitare collisioni nei nomi.
Attenzione: Il Common Name (CN) nel certificato del server dovrebbe corrispondere all'IP address del server altrimenti verra' generato un messaggio di warning al momento della connessione.
Se il client saranno solo macchine Windows il CN puo'tranquillamente essere un nome DNS.
La generazione del paio chiave/certificato per il client e'mlto simile a quella per il server, ricordatevi di usare un CN univoco.
openssl genrsa -des3 -out client.key 4096
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
Per esaminare e verificare il certificato usate il comando seguente:
openssl x509 -noout -text -in server.crt -purpose
mikrotik: usare il nome delle interfacce VPN nelle regole del firewall
Se usate un'interfaccia VPN dinamica il suo nome sara', ad esempio:
Il segreto per ovviare a questo inconveniente e' creare un'interfaccia dedicata a quell'utente:
[SIMBOLO DI MINORE]ovpn-nome_utente[SIMBOLO DI MAGGIORE]e non vi sara' permesse utilizzarla nelle regole del firewall.
Il segreto per ovviare a questo inconveniente e' creare un'interfaccia dedicata a quell'utente:
/interface ovpn-server add name=ovpn-nome_utente user=nome_utenteCosi' facendo il nome dell'interfaccia sara':
ovpn-nome_utentee potra' essere usato nelle regole del firewall.
Etichette:
firewall,
interfaccia,
interfaces,
IP,
mikrotik,
openvpn,
routeros,
rules,
static,
vpn
mercoledì 4 giugno 2014
Analisi log: cercare tutte le ricorrenze di un parametro
Ipotizziamo un log che contenga linee del tipo:
DATA ORA CODICE I=dfjhsdf U=root O=eruyer
DATA ORA CODICE I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=mario O=eruyer
Vogliamo estrarre la lista degli utenti (nell'esempio il parametro U), possiamo usare questo comando:
grep -o "\ U=.*\ " FILE_DI_LOG | cut -f 2 -d\
DATA ORA CODICE I=dfjhsdf U=root O=eruyer
DATA ORA CODICE I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=mario O=eruyer
Vogliamo estrarre la lista degli utenti (nell'esempio il parametro U), possiamo usare questo comando:
grep -o "\ U=.*\ " FILE_DI_LOG | cut -f 2 -d\
mercoledì 28 maggio 2014
lunedì 26 maggio 2014
Nautilus: non funziona piu' la funzione SELECT ALL
Soluzione:
sudo apt-get install --reinstall nautilus
nautilus -q
Etichette:
apt-get,
ctrl+a,
linux,
select all,
ubuntu
Tastiera: AltGr non funziona piu' dopo aggiornamento sistema
Dopo un aggiornamento del mio portatile a Ubuntu 14.04 non mi funzionava piu'il tasto AltGr (quindi per esempio non potevo usare il catattere € per l´Euro.
Le istruzioni che si trovano in rete fanno riferimento a utility di configurazione della tastiera che non sono piu'presenti sulle nuove versioni di Ubuntu.
Il problema si risolve lanciando da linea di comando il seguente:
sudo dpkg-reconfigure keyboard-configuration
e selezionare la giusta configurazione (Asus laptop + English (US) international
giovedì 22 maggio 2014
vim: schema colori piu' leggibile
Inserire nel file /etc/vim/vimrc.local la riga seguente:
colorscheme koehler
mercoledì 30 aprile 2014
Postfix: warning: hostname localhost does not resolve to address ::1: No address associated with hostname
Per eliminare il warning, nel file /etc/hosts sostituire la riga:
::1 localhost ip6-localhost ip6-loopback
con la riga:
::1 localhost6 ip6-localhost ip6-loopback
lunedì 28 aprile 2014
wordpress: installazione rapida requisiti da linea di comando
Eseguire i comandi seguenti (le parti in grassetto devono essere sostituite con dei nomi da voi scelti)
$ apt-get install apache2 php5 mysql-server php5-mysql
$ mysql -u USERNAME_MYSQL_ADMIN -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5340 to server version: 3.23.54
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE NOME_DATABASE;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON NOME_DATABASE.* TO "NOME_UTENTE@localhost"
-> IDENTIFIED BY "PASSWORD";
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> EXIT
Bye
$
A questo punto scaricate l'ultima versione di wordpress dal sito www.wordpress.org, scompattatela nella home del server apache e accedete con:
http://IP_ADDRESS_O_NOME_DEL_SERVER
e seguite le istruzioni riportate a video.
$ apt-get install apache2 php5 mysql-server php5-mysql
$ mysql -u USERNAME_MYSQL_ADMIN -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5340 to server version: 3.23.54
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE NOME_DATABASE;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON NOME_DATABASE.* TO "NOME_UTENTE@localhost"
-> IDENTIFIED BY "PASSWORD";
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> EXIT
Bye
$
A questo punto scaricate l'ultima versione di wordpress dal sito www.wordpress.org, scompattatela nella home del server apache e accedete con:
http://IP_ADDRESS_O_NOME_DEL_SERVER
e seguite le istruzioni riportate a video.
Etichette:
command line,
linea di comando,
linux,
mysql,
php,
wordpress
mercoledì 16 aprile 2014
guake terminal: problemi di visualizzazione con unity su Ubuntu 13.10
Modificare il file /usr/bin/guake cercando la linea:
window_rect.y = 0
che deve diventare:
window_rect.y = 30
Rilanciare guake per verificare il corretto fuzionamento.
mercoledì 9 aprile 2014
bash: rimuovere gli spazi da nomi file e directory
find -name "* *" -type d | rename 's/ /_/g'
find -name "* *" -type f | rename 's/ /_/g'
oppure
find /tmp/ -depth -name "* *" -execdir rename 's/ /_/g' "{}" \;
find -name "* *" -type f | rename 's/ /_/g'
oppure
find /tmp/ -depth -name "* *" -execdir rename 's/ /_/g' "{}" \;
bash: convertire in minuscolo le estensioni dei file
find . -name '*.*' -exec sh -c '
a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/");
[ "$a" != "{}" ] && mv "{}" "$a" ' \;
a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/");
[ "$a" != "{}" ] && mv "{}" "$a" ' \;
Etichette:
bash,
conversione,
convertire,
estensioni file,
find,
linux,
minuscolo,
shell
martedì 18 marzo 2014
Configurare DKIM (DomainKeys Identified Mail) con Postfix su Debian usando OpenDKIM (HOWTO)
Note preliminari:
Tutti comandi di questo HOWTO vengono eseguiti dall'utente root
esempio.com deve essere sostituito con il dominio su cui state configurando DKIM
Installazione software necessario:
apt-get install opendkim opendkim-tools
(la procedura di installazione crea in automatico l'utente e il gruppo opendkim)
Creazione directory e sistemazione permessi:
mkdir -p /etc/opendkim/keys
chown -R opendkim:opendkim /etc/opendkim
chmod -R go-wrx /etc/opendkim/keys
Generazione chiavi:
E' necessario generare una chiave pubblica e una privata per ogni dominio per il quale pensate di aggiungere la firma DKIM. La chiave privata e' conservata sul server, mentre la chiave pubblica deve essere pubblicata sul DNS del dominio in modo che i mail server di destinazione possano verificare la firma DKIM della nostra mail.
Bisogna decidere il nome del selettore. Un selettore e' una parola univoca che viene associata ad entrambe le chiavi, pubblica e privata, inclusa in tutte le firme e pubblicata nei record DNS. Per semplicita' useremo la parola default come selettore di default. Potete scegliere anche un'altra parola, ma se lo fate, state attenti a utilizzare sempre quella durante le varie fasi della configurazione.
Vi ricordo inoltre di sostituire il vostro dominio di posta a dominio.com nelle fasi seguenti della configurazione:
mkdir /etc/opendkim/keys/example.com
opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com -s default
chown -R opendkim:opendkim /etc/opendkim/keys/example.com
mv /etc/opendkim/keys/example.com/default.private /etc/opendkim/keys/example.com/default
Nel comand opendkim-genkey vengono utilizzati i seguenti parametri:
-D indica la directory in cui verranno memorizzate le chiavi
-d indica il dominio di posta a cui fanno riferimento le chiavi generate
-s indica il selettore
Creazione e modifica dei file di configurazione:
I file di configurazione del sistema OpenDKIM sono i seguenti:
- 1 /etc/opendkim.conf - e' il file di configurazione principale di OpenDKIM
- 2 /etc/opendkim/KeyTable - e' la lista delle chiavi disponibili
- 3 /etc/opendkim/SigningTable - e' la lista di domini e account specifici abilitati a firmare i propri messaggi
- 4 /etc/opendkim/TrustedHosts - e' la lista di server ritenuti affidabili al momento di inserire o verificare una firma DKIM
1) Creazione del file /etc/opendkim.conf (se esiste gia' salvatene il contenuto e sostituitelo con quanto segue)
Verificate che il contenuto del file sia il seguente:
##
## opendkim.conf -- configuration file for OpenDKIM filter
##
AutoRestart Yes
AutoRestartRate 10/1h
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
LogWhy Yes
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
SigningTable refile:/etc/opendkim/SigningTable
Socket inet:8891@localhost
Syslog Yes
SyslogSuccess Yes
TemporaryDirectory /var/tmp
UMask 022
UserID opendkim:opendkim
2) creazione del file /etc/opendkim/KeyTable:
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default
Il file KeyTable dice a OpenDKIM dove trovare le chiavi. Ogni elemento del file KeyTable e' una singola linea per ogni posizione di chiavi. Se avete intenzione di utilizzare chiavi multiple (ad esempio per firmare le mail dei domini virtuali con chiavi differenti).dovrete creare una linea separata per ogni dominio nel file KeyTable.
3) creazione del file /etc/opendkim/SigningTable:
*@example.com default._domainkey.example.com
Il file SigningTable dice a OpenDKIM come usare le vostre chiavi e queli selettori usare per i vari mittenti per le loro firme. Nell'esempio abbiamo detto al sistema che tutti (*) i mittenti del server "dominio.com" dovrebbero usare il selettore "default."
E' importante notare che il simbolo * funzionera' solo se nel file di configurazione opendkim.conf l'opzione SigningTable utilizza il prefisso "refile:" prima del filename.
4) creazione del file /etc/opendkim/TrustedHosts:
127.0.0.1
hostname1.example1.com
example1.com
hostname1.example2.com
example2.com
Il file TrustedHosts dice a OpenDKIM chi puo' usare le chiavi per firmare i messaggi.
Essendo referenziato dalla direttiva ExternalIgnoreList nel file di configurazione, OpenDKIM ignorera' questa lista di host quando verifica le mail in ingresso.
Essendo referenziato dalla direttiva InternalHosts nel file di configurazione, OpenDKIM firmera' le mail in uscita da questi host.
IMPORTANTE: assicuratevi che l'IP address per localhost (127.0.0.1) sia inserito nel file TrustedHosts file, altrimenti OpenDKIM non firmera' le email spedite dal server.
Se aveye piu' server sulla stessa rete che utilizzano il vostro server come relay host, dovete inserire gli indirizzi IP di questi server nel file TrustedHosts se volete firmare anche le loro email.
Inserite un elemento per ogni linea.
Un elemento puo' essere un hostname, un nome di dominio (per esempio "dominio.com"), un indirizzo IP, an indirizzo IPv6 o un indirizzo CIDR (per esempio 192.168.1.0/24).
Configurazione di opendkim su postfix:
Inserire le righe seguenti nel file /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 2
Restart dei servizi coinvoilti:
/etc/init.d/onendkim restart
/etc/init.d/postfix restart
Verificare su /var/log/mail.log che entrambi i servizi siano ripartiti e che non ci siano altri errori.
Aggiungere i record DNS:
Ora che il vostro server sta firmando le mail in uscita e verificando le mail in entrata, avete bisogno di inserire alcune informazioni nei record DNS per dire agli altri mail server come sono configurate le vostre chiavi e per fornire loro la chiave pubblica in modo che possano verificare che la tua mail e' firmata correttamente.
cat /etc/opendkim/keys/example.com/default.txt
L'output di questo comando dovrebbe essere simile a quanto segue:
default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=7k45u5i2T1AlEBeurUbdKh7Nypq4lLMXC2FHhezK33BuYR+3L7jxVj7FATylhwIDAQABMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHY7Zl+n3SUldTYRUEU1BErHkKN0Ya52gazp1R7FA7vN5RddPxW/sO9JVRLiWg6iAE4hxBp42YKfxOwEnxPADbBuiELKZ2ddxo2aDFAb9U/lp4" ; ----- DKIM default for example.com
/etc/init.d/onendkim restart
/etc/init.d/postfix restart
Verificare su /var/log/mail.log che entrambi i servizi siano ripartiti e che non ci siano altri errori.
Aggiungere i record DNS:
Ora che il vostro server sta firmando le mail in uscita e verificando le mail in entrata, avete bisogno di inserire alcune informazioni nei record DNS per dire agli altri mail server come sono configurate le vostre chiavi e per fornire loro la chiave pubblica in modo che possano verificare che la tua mail e' firmata correttamente.
cat /etc/opendkim/keys/example.com/default.txt
L'output di questo comando dovrebbe essere simile a quanto segue:
default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=7k45u5i2T1AlEBeurUbdKh7Nypq4lLMXC2FHhezK33BuYR+3L7jxVj7FATylhwIDAQABMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHY7Zl+n3SUldTYRUEU1BErHkKN0Ya52gazp1R7FA7vN5RddPxW/sO9JVRLiWg6iAE4hxBp42YKfxOwEnxPADbBuiELKZ2ddxo2aDFAb9U/lp4" ; ----- DKIM default for example.com
Ora create un record DNS per il vostro dominio e copiate l'intero contenuto del file /etc/opendkim/keys/example.com/default.txt in fondo al file della zona del vostro dominio, Il nome TXT sara' default._domainkey e il valore TXT sara' tutto quello compreso tra apici (a partire da v=)
Potete ignorare il punto e virgola e il commento finale.
Seguite attentamente le istruzioni del vostro provider DNS per aggiungere un record TXT al vostro dominio
Ora sarebbe il momento giusto per verificare di avere anche un record SPF valido nel vostro DNS. Aver configurato a dovere sia DKIM che SPF aumentera' sensibilmente le vostre probabilita' di consegna della vostra posta in uscita.
giovedì 13 marzo 2014
ISPConfig 3: impostare un sottodominio in una sottodirectory della root del dominio principale
Esempio:
abbiamo gia' impostato il sito example.com in /var/www/webX/clientY/web
Vogliamo impostare il sottodominio subdomain.example.com nella cartella /var/www/webX/clientY/web/subdomain
La cosa potrebbe essere gestita dal pannello (Siti->Siti->Sottodomini) pero' un bug di ispconfig (pare risolto nelle ultime versioni ma non ne ho conferma) non consente di gestire correttamente i sottodomini in sottodirectory se si utilizza PHP-FPM.
Il problema si risolve gestendo la cosa da Siti->Siti->example.com->Opzioni.
Bisogna inserire nel box Apache directives:
ServerAlias subdomain.example.com
ServerAlias www.subdomain.example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/webdav/
RewriteCond %{REQUEST_URI} !^/php5-fcgi/
RewriteCond %{REQUEST_URI} !^/subdomain/
RewriteRule ^/(.*)$ /subdomain/$1 [L]
RewriteCond %{HTTP_HOST} ^www\.subdomain\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/webdav/
RewriteCond %{REQUEST_URI} !^/php5-fcgi/
RewriteCond %{REQUEST_URI} !^/subdomain/
RewriteRule ^/(.*)$ /subdomain/$1 [L]
e salvare. Dopo circa un minuto potrete provare la nuova configurazione.
N.B.: le due righe RewriteCond %{REQUEST_URI} !^/php5-fcgi/ sono necessarie solo per l'utilizzo con PHP-FPM
Etichette:
ispconfig,
ispconfig3,
linux,
php-fpm,
sottodirectory,
sottodomini,
subdirectory,
subdomain,
subfolder
lunedì 3 febbraio 2014
Linea di comando: Estrarre attachment da email
Installare il pacchetto maildir-utils:
apt-get install maildir-utilsLanciare il comando per l'estrazione degli attachment:
mu extract -a NOMEFILE
Etichette:
attachment,
email,
estrazione,
extract,
linux,
maildir-utils,
mu
venerdì 31 gennaio 2014
Scaricare mail con fetchmail e forwardarle tramite procmai
Creare il file /etc/fetchmail_proc_rc:
set no bouncemail
defaults:
antispam -1
batchlimit 100
poll SERVER_DI_POSTA with protocol imap
user NOME_UTENTE password PASSWORD is root
ssl
sslproto SSL3
fetchall
keep
no rewrite
no fetchall
mda "/usr/bin/procmail /etc/procmailrc.fetch -f %F -d %T";
Creare il file /etc/procmailrc.fetch:
:0
* .*
{
:0 c
$DEFAULT
:0
!INDIRIZZO1@DOMINIO INDIRIZZO2@DOMINIO
}
set no bouncemail
defaults:
antispam -1
batchlimit 100
poll SERVER_DI_POSTA with protocol imap
user NOME_UTENTE password PASSWORD is root
ssl
sslproto SSL3
fetchall
keep
no rewrite
no fetchall
mda "/usr/bin/procmail /etc/procmailrc.fetch -f %F -d %T";
Creare il file /etc/procmailrc.fetch:
:0
* .*
{
:0 c
$DEFAULT
:0
!INDIRIZZO1@DOMINIO INDIRIZZO2@DOMINIO
}
Testare il tutto lanciando il comando:
fetchmail -f /etc/fetchmail_proc_rc
Inserire il lancio su crontab:
*/5 * * * * /usr/bin/fetchmail -f /etc/fetchmail_proc_rc >/dev/null 2>&1
venerdì 17 gennaio 2014
Scontornare una immagine con GIMP
Una guida facile facile per scontornare le immagini utilizzando GIMP:
Etichette:
fotoritocco,
gimp,
immagini,
linux,
scontornare
lunedì 25 novembre 2013
Filtro per contare le ricorrenze di un campo in un file di testo
$1 si riferisce alla prima colonna del file di testo. Utilizzare $2, $3, $4,.... per le colonne seguenti.
awk '{print $1}' |sort |uniq -c |sort -r -n
lunedì 4 novembre 2013
network-manager: non attivare default route su link OPENVPN
In NetworkManager:
VPN Connections -> (selezionare la connessione VPN da modificare) -> Edit -> Routes -> Selezionare la casella "Use this connection only for resources on its network"
giovedì 31 ottobre 2013
fail2ban: proteggere saslauthd
Debian 6.0.8
fail2ban 0.8.4-3+squeeze2
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = (?i): warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+]*)?
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = : warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed
fail2ban 0.8.4-3+squeeze2
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = (?i): warning: [-._\w]+\[
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = : warning: [-._\w]+\[
mercoledì 30 ottobre 2013
postfix: attivare debug connessione con un mail server
Se vogliamo verificare come mai il mail server del dominio dominio.ext rifiuta le email dal nostro server possiamo attivare il debug specifico per quel dominio:
postconf -e debug_peer_list=dominio.ext
postconf -e debug_peer_level=3
postfix reload
Backuppc: cambiare la password dell'utente sull'interfaccia grafica
htpasswd /etc/backuppc/htpasswd $NOME_UTENTE
Etichette:
amministratore,
backuppc,
password,
utente
Backuppc: escludere directory su copia rsync
$Conf{RsyncShareName} = [
'/home/user',
'/etc',
'/usr/local/bin'
];
$Conf{BackupFilesExclude} = {
'/home/user' => [
'/NOBACKUP/**',
'/Music/**',
'/Videos/**',
'/.aMule/**'
]
};
'/home/user',
'/etc',
'/usr/local/bin'
];
$Conf{BackupFilesExclude} = {
'/home/user' => [
'/NOBACKUP/**',
'/Music/**',
'/Videos/**',
'/.aMule/**'
]
};
mercoledì 23 ottobre 2013
PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings.
Questo errore nei log di Apache:
FastCGI: server "/var/www/clients/client3/web4/cgi-bin/php5-fcgi-*-80-example.com" stderr: PHP message: PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.e' caratteristico di PHP 5.3 (pare sia sparito con la release 5.4).
Per risolverlo bisogna aggiungere al php.ini la riga:
date.timezone = "Europe/Rome"personalizzando se occorre la timezone tra doppi apici
backuppc: ping timeout
La copia di un computer remoto non parte perche' il sistema trova la risposta del ping troppo lenta?
Se sapete cosa state facendo potete aumentare il limite di questo controllo aumentando la configurazione (ad esempio) da:
Se sapete cosa state facendo potete aumentare il limite di questo controllo aumentando la configurazione (ad esempio) da:
$Conf{PingMaxMsec} = '10'a
$Conf{PingMaxMsec} = '500'Il numero e' espresso in millisecondi
SSH: usare porte diverse dalla 22
~/.ssh/config
e inserire qualcosa del genere
Host my.first.computer
Port 2222
Host my.second.computer
Port 3333
a questo punto possiamo tranquillamente utilizzare il comando:
ssh utente@my.first.computer
o
scp foo utente@my.second.computer:bar
senza bisogno di specificare la porta.
sabato 19 ottobre 2013
Linux: Problemi di connessione con Realtek r8169 / r8111
Le schede indicate nel titolo vengono spesso riconosciute da Linux come delle r8169 e quindi il sistema provvede a caricare il modulo r8169 che potrebbe darvi qualche problema.
Su una Ubuntu 12.04LTS il driver r8168 e' già compilato all'interno del kernel di default. In questo caso sara' sufficiente bloccare il caricamento del modulo sbagliato inserendo la riga:
Per altri sistemi che non avessero il driver r8168 precompilato nel kernel consigliamo di seguire la procedura seguente:
Verifichiamo di avere installato dkms:
Se per caso, durante la compilazione del modulo, doveste avere errori del tipo:
e ripetere la compilazione. Tutto qua :)
Su una Ubuntu 12.04LTS il driver r8168 e' già compilato all'interno del kernel di default. In questo caso sara' sufficiente bloccare il caricamento del modulo sbagliato inserendo la riga:
blacklist r8169nel file:
/etc/modprobe.d/blacklist-network.conf
Per altri sistemi che non avessero il driver r8168 precompilato nel kernel consigliamo di seguire la procedura seguente:
Per poter compilare automaticamente il modulo ad ogni aggiornamento di kernel, e' necessario ricorrere al sistema dkms.cd /usr/src wget http://djlab.com/stuff/r8168-8.032.00.tar.bz2 tar jxvf r8168-8.032.00.tar.bz2 cd r8168-8.032.00 make clean modules make install depmod -a echo "blacklist r8169" >> /etc/modprobe.d/blacklist-network.conf update-initramfs -u
Verifichiamo di avere installato dkms:
apt-get install dkms gccCreare il file:
dkms.confcon il seguente comando:
cat <ed eseguire i comandi seguenti:/usr/src/r8168-8.032.00/dkms.conf
PACKAGE_NAME=r8168
PACKAGE_VERSION=8.032.00
MAKE[0]="'make'"
BUILT_MODULE_NAME[0]=r8168
BUILT_MODULE_LOCATION[0]="src/"
DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
AUTOINSTALL="YES"
EOF
dkms add -m r8168 -v 8.032.00Se non avete ricevuto errori, il vostro modulo e' stato installato correttamente e sara' ricompilato in automatico dal sistema ad ogni aggiornamento di kernel.
dkms build -m r8168 -v 8.032.00
dkms install -m r8168 -v 8.032.00
Se per caso, durante la compilazione del modulo, doveste avere errori del tipo:
root/r8168-8.035.00/src/r8168_n.c:14545: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl8168_init_board’Sara' necessario applicare la patch seguente:
diff -ruB r8168-8.035.00/src/r8168_n.c r8168-8.035.00/src/r8168_n.c
--- r8168-8.035.00/src/r8168_n.c 2012-12-19 05:38:56.000000000 -0500
+++ r8168-8.035.00/src/r8168_n.c 2013-03-17 12:48:58.693002848 -0400
@@ -14541,7 +14541,7 @@
spin_unlock_irqrestore(&tp->phy_lock, flags);
}
-static int __devinit
+static int
rtl8168_init_board(struct pci_dev *pdev,
struct net_device **dev_out,
void __iomem **ioaddr_out)
@@ -14711,7 +14711,7 @@
goto out;
}
-static void __devinit
+static void
rtl8168_init_sequence(struct rtl8168_private *tp)
{
void __iomem *ioaddr = tp->mmio_addr;
@@ -14964,7 +14964,7 @@
};
#endif
-static int __devinit
+static int
rtl8168_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -15128,7 +15128,7 @@
return 0;
}
-static void __devexit
+static void
rtl8168_remove_one(struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata(pdev);
@@ -17649,7 +17649,7 @@
.name = MODULENAME,
.id_table = rtl8168_pci_tbl,
.probe = rtl8168_init_one,
- .remove = __devexit_p(rtl8168_remove_one),
+ .remove = rtl8168_remove_one,
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,11)
.shutdown = rtl8168_shutdown,
#endif
e ripetere la compilazione. Tutto qua :)
venerdì 18 ottobre 2013
ImageMagick: modificare la qualita' di una o piu' immagini JPG
L'esempio qui sotto riduce al 60% la qualita' delle immagini JPG presenti nella directory corrente:
mogrify -quality 60 *.jpg
Etichette:
imagemagick,
immagini,
mogrify,
qualita,
web
giovedì 17 ottobre 2013
OpenOffice Calc: cercare spazi
Nella ricerca abilitare le opzioni avanzate e checkare le regular expression.
Cercare [:space:]
Cercare [:space:]
Etichette:
cerca,
openoffice,
ricerca,
sostituisci,
sostituzione,
spazio
mercoledì 16 ottobre 2013
Linux: quanti IP stanno visualizzando il mio sito?
Per visualizzare gli IP address di chi sta guardando i siti del nostro server possiamo lanciare il seguente comando:
netstat -napt | grep :80\ | awk '{print $5}' | cut -d: -f1 | sort -u
Invece per contare i diversi IP address possiamo usare:
netstat -napt | grep :80\ | awk '{print $5}' | cut -d: -f1 | sort -u | wc -l
martedì 15 ottobre 2013
Linux: che batteria ho sul mio notebook?
upower -i /org/freedesktop/UPower/devices/battery_BAT0che da' un output del genere:
native-path: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/PNP0C0A:00/power_supply/BAT0 vendor: ASUSTEK model: F82--22 power supply: yes updated: Tue Oct 15 15:34:35 2013 (3224 seconds ago)
has history: yes
has statistics: yes
battery present: yes
rechargeable: yes
state: fully-charged
energy: 16.841 Wh
energy-empty: 0 Wh
energy-full: 16.841 Wh
energy-full-design: 46.2 Wh
energy-rate: 2.079 W
voltage: 12.461 V
percentage: 100%
capacity: 36.4524%
technology: lithium-ion
mercoledì 2 ottobre 2013
ImageMagick: generare file .csv con informazioni su immagini di un folder
identify *jpg| sed 's/[ x]/,/g' > listabu_`basename $PWD`.csv
Etichette:
bash,
identify,
imagemagick,
linux,
script
martedì 13 agosto 2013
Dovecot IMAP: upgrade da 1.x a 2.x su Debian Lenny
Aggiungere al file /etc/apt/sources.list la riga
deb http://xi.rename-it.nl/debian/ oldstable-auto/dovecot-2.0 main
e lanciare il comando:
apt-get update
seguito dal comando:
apt-get install dovecot-imapd
mercoledì 31 luglio 2013
DNS: error (FORMERR) resolving '$SOMETHING': xx.xx.xx.xx#53
Nel log /var/log/daemon.log apparivano diverse segnalazioni simili a questa:
Jul 31 09:01:27 server named[29883]: error (FORMERR) resolving '$SOMETHING': xx.xx.xx.xx#53
Qualche DNS risponde in maniera errata ad una interrogazione.
Il log puo' essere ignorato ed eventualmente disabilitato inserendo quanto segue nel file named.conf.local:
logging { category lame-servers { null; }; };
mercoledì 24 luglio 2013
Network Manager: Errore Failed to add new connection: (32) Insufficient privileges.
Creare il file:
/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla
e inserirvi il testo seguente:
[nm-applet]Identity=unix-group:netdevAction=org.freedesktop.NetworkManager.*ResultAny=yesResultInactive=noResultActive=yes
Etichette:
errore,
insufficient privileges,
linux,
network manager
giovedì 18 luglio 2013
RouterOS: rimuovere le regole del firewall
Per rimuovere tutte le regole di una chain:
/ip firewall filter remove [/ip firewall filter find chain=input]
Per rimuovere TUTTE le regole del firewall:
/ip firewall filter remove [/ip firewall filter find]
mercoledì 3 luglio 2013
backuppc: "Tar exited with error 512 ()" due to read permission failures
Questo errore si verifica in una nuova installazione di backuppc tentando di backuppare la /etc del server locale.
Il problema e' che l'utente con cui viene eseguito il backup (per default e' l'utente backuppc) non ha i permessi per leggere alcuni file nelle cartelle da backuppare.
Bisogna inserire nel file
/etc/sudoers
la linea seguente:
backuppc ALL = NOPASSWD: /bin/tar
e modificare il file
/etc/backuppc/local.pl
trasformando le linee:
$Conf{TarClientCmd} = '/usr/bin/env LC_ALL=C $tarPath -c -v -f - -C $shareName' . ' --totals';
in:
$Conf{TarClientCmd} = '/usr/bin/sudo $tarPath -c -v -f - -C $shareName' . ' --totals';
giovedì 27 giugno 2013
DNS: generazione chiave rndc per aggiornamenti dinamici
Lanciare il comando:
rndc-confgen -a -c /etc/bind/rndc.keyse il comando precedente si dovesse bloccare (normalmente termina quasi istantaneamente) lanciate il comando seguente:
rndc-confgen -r /dev/urandom -a -c /etc/bind/rndc.key
Disabilitare IPv6 su Debian 7 Wheezy
Lanciare il comando seguente da linea di comando:
echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.confCompletare la procedura riavviando il computer.
Etichette:
debian,
disabilitare,
ipv6,
linux,
wheezy
Bind9 Error : named[....]: network unreachable resolving ...
named[8660]: network unreachable resolving 'zd.somedomain.org/AAAA/IN': 2001:500:f::1#53
Questo errore ripetuto nei log di sistema e' dovuto al fatto che per default, bind utilizza anche IPv6.
Per disabilitare questa caratteristica bisogna editare il file
/etc/default/bind9
e aggiungere
-4
alle opzioni, ottenendo:
OPTIONS="-4 -u named"
Completare la procedura facendo ripartire il servizio bind.
BIND+DHCP: gli aggiornamenti dinamici del DNS non funzionano
Se gli aggiornamenti dinamici del DNS non funzionano, controllate se nel file /var/log/daemon.log trovate qualcosa di simile a quanto segue:
Jun 27 22:27:26 milhouse named[3278]: /etc/bind/zones/db.simpson.jnl: open: permission denied
Jun 27 22:27:26 milhouse named[3278]: client 192.168.2.130#40535: updating zone 'corimtec.mylan/IN': error: journal open failed: unexpected error
Jun 27 22:27:26 milhouse dhcpd: Forward map from bart.simpson.local. to 192.168.2.162 FAILED: SERVFAIL
Per risolvere questo problema occorre verificare i permessi del file .jnl (nell'esempio /etc/bind/zones/db.simpson.jnl).
Nel nostro caso l'utente bind non aveva accesso in scrittura sul file .jnl
-rw-r--r-- 1 root bind 5951774 Jun 27 22:42 /etc/bind/zones/db.simpson.jnl
Basta assegnare l'apposito permesso con il comando
chmod 664 /etc/bind/zones/db.simpson.jnl
Ottenendo quindi:
-rw-rw-r-- 1 root bind 5951774 Jun 27 22:42 /etc/bind/zones/db.simpson.jnl
mercoledì 26 giugno 2013
°boot error° tentando il boot da chiavetta USB
Prima di creare la chiavetta (ad esempio con unetbootin) occorre prepararla con il comando:
mkdosfs -v -I /dev/sdb
ATTENZIONE!!! QUESTO COMANDO DISTRUGGE TUTTI I CONTENUTI PRESENTI SULLA CHIAVETTA.
Sostituire a sdb il device relativo alla vostra chiavetta.
mkdosfs -v -I /dev/sdb
ATTENZIONE!!! QUESTO COMANDO DISTRUGGE TUTTI I CONTENUTI PRESENTI SULLA CHIAVETTA.
Sostituire a sdb il device relativo alla vostra chiavetta.
giovedì 13 giugno 2013
DNS: too many timeouts resolving '$OUTER_DOMAIN/A' (in '$URL'?): reducing the advertised EDNS UDP packet size to 512 octets
Se ricevete nei log tonnellate di messaggi simile al seguente:
Jun 13 12:10:31 $SERVER_NAME named[2604]: too many timeouts resolving '$OUTER_DOMAIN/A' (in '$URL'?): reducing the advertised EDNS UDP packet size to 512 octets
potete disabilitare il logging di EDNS inserendo nel vostro named.conf:
logging {category edns-disabled { null; };};
mercoledì 12 giugno 2013
Tre metodi per invecchiare l'ottone...
Se volete che un oggetto del genere:
diventi cosi':
potete usare uno dei 3 metodi seguenti (declino ogni responsabilita', sono metodi trovati in rete e non ancora testati personalmente da noi):
Prendere un recipiente
Versarci dentro dell'aceto fino a ricoprirne il fondo
Sospendere gli oggetti da invecchiare sopra all'aceto (non dovete immergerli)
Coprire il recipiente con della pellicola trasparente
Aspettare con pazienza che gli oggetti si scuriscano (il tempo necessario e' variabile)
Quando la patina sara' quella desiderata, asciugare gli oggetti e metterli su una fonte elettrica di calore finche' non iniziano a scurire.
Prendere gli oggetti con una pinza e temperarli in olio minerale.
Usare una paglietta di ferro per pulire le parti normalmente piu' usurate.
Esporre gli oggetti ai vapori di un recipiente riempito di ammoniaca (il tutto deve essere sigillato in una busta di plastica per non far dissolvere i vapori)
Utilizzare del cloruro ferrico (l'acido usato per produrre i circuiti stampati).
Usare tutte le precauzioni necessarie quando si maneggiano acidi.
diventi cosi':
potete usare uno dei 3 metodi seguenti (declino ogni responsabilita', sono metodi trovati in rete e non ancora testati personalmente da noi):
METODO 1
Versarci dentro dell'aceto fino a ricoprirne il fondo
Sospendere gli oggetti da invecchiare sopra all'aceto (non dovete immergerli)
Coprire il recipiente con della pellicola trasparente
Aspettare con pazienza che gli oggetti si scuriscano (il tempo necessario e' variabile)
Quando la patina sara' quella desiderata, asciugare gli oggetti e metterli su una fonte elettrica di calore finche' non iniziano a scurire.
Prendere gli oggetti con una pinza e temperarli in olio minerale.
Usare una paglietta di ferro per pulire le parti normalmente piu' usurate.
METODO 2
METODO 3
Usare tutte le precauzioni necessarie quando si maneggiano acidi.
Etichette:
diy,
invecchiamento,
ottone,
patina,
restauro
venerdì 31 maggio 2013
Gnome fallback session: gestire opzioni orologio su pannello superiore
Installato Gnome Fallback per eliminare l'odiato Unity restava il problema della data vicino all'orologio nel pannello superiore.Impossibile attivarla e modificare altre impostazioni di data e ora.
Un rapido trucchetto e' lanciare i seguenti comandi:
gsettings set com.canonical.indicator.datetime show-clock true
gsettings set com.canonical.indicator.datetime show-calendar true
gsettings set com.canonical.indicator.datetime show-date true
gsettings set com.canonical.indicator.datetime show-day true
gsettings set com.canonical.indicator.datetime show-events false
gsettings set com.canonical.indicator.datetime show-locations true
gsettings set com.canonical.indicator.datetime show-seconds false
BackupPC: visualizzare l'anno nella data dei backup
Per ovviare a questo problema basta sostituire il settaggio:
$Conf{CgiDateFormatMMDD} = '0';
con
$Conf{CgiDateFormatMMDD} = '2';
lunedì 20 maggio 2013
GIMP: come creare dei watermark (filigrane) da usare nelle vostre foto
Oggi sono pigro e posto direttamente l'URL di un ottimo tutorial sull'argomento :)
lunedì 25 marzo 2013
Generare piccoli PDF da grandi immagini.
Abbiamo gia' visto in un articolo precedente come generare PDF a partire da file immagine mediante il comando convert del pacchetto ImageMagick.
Purtroppo a volte il PDF risulta essere un po' ingombrante, un po' troppo pesante per essere archiviato o spedito via mail.
Possiamo generare un pdf piu' leggero utilizzando il parametro -quality:
convert -quality 25 image.jpg document.pdf
martedì 5 febbraio 2013
Davmail: configurazione
Il file di configurazione di davmail e' ~/.davmail.properties
L'unica voce da configurare (a meno che non abbiate esigenze particolari) e' davmail.url con il seguente formato:
davmail.url=https\://NOME_SERVER/OWA/
Killare il processo davmail e rilanciarlo
L'unica voce da configurare (a meno che non abbiate esigenze particolari) e' davmail.url con il seguente formato:
davmail.url=https\://NOME_SERVER/OWA/
Killare il processo davmail e rilanciarlo
Etichette:
configurazione,
davmail,
exchange,
linux,
ubuntu
Ubuntu: collegare evolution a server exchange
Utilizzare Davmail
Se alla partenza del programma avete un errore sulle librerie SWT eseguite il comando seguente:
sudo apt-get install libswt-cairo-gtk-3-jni
Eventualmente cercare la versione della libreria relativa al sistema in uso.
domenica 25 novembre 2012
Clonezilla: impossibile mount di /home/partimag su server ssh
Clonezilla puo' lamentarsi che /home/partimag non sia un mount point.
Questo capita se sul server ssh utilizzato per conservare le immagini salvate con clonezilla la directory /home/partimag e' linkata con un altra cartella
Es.: partimag->/usr/local/repo/clonezilla/partimag
Le vecchie versioni di clonezilla non erano schizzinose e accettavano la cosa di buon grado. Le nuove invece rifiutano di lavorare con un link.
Si puo' evitare il problema cancellando il link preesistente:
rm /home/partimag
creando un nuovo mount point:
mkdir /home/partimag
ed eseguendo un mount della cartella contenente le immagini:
mount --bind /usr/local/repo/clonezilla/partimag /home/partimag
Questo capita se sul server ssh utilizzato per conservare le immagini salvate con clonezilla la directory /home/partimag e' linkata con un altra cartella
Es.: partimag->/usr/local/repo/clonezilla/partimag
Le vecchie versioni di clonezilla non erano schizzinose e accettavano la cosa di buon grado. Le nuove invece rifiutano di lavorare con un link.
Si puo' evitare il problema cancellando il link preesistente:
rm /home/partimag
creando un nuovo mount point:
mkdir /home/partimag
ed eseguendo un mount della cartella contenente le immagini:
mount --bind /usr/local/repo/clonezilla/partimag /home/partimag
Ubuntu 12.10: impossibile montare penna USB
Il messaggio di errore e' simile al seguente:
Adding read ACL for uid 1000 to /media/user failed: Operation not supportedSoluzione: gli utenti che devono poter montare le chiavette devono lanciare questi comandi:
sudo mkdir /media/${USER}
sudo chown ${USER}.${USER} /media/${USER}
chmod 750 /media/${USER}
mercoledì 21 novembre 2012
Ubuntu: rivogliamo le scrollbar cicciotte!!! :)
Possono essere disabilitate con il seguente comando:
gsettings set com.canonical.desktop.interface scrollbar-mode normal
e riabilitate come segue:
gsettings set com.canonical.desktop.interface scrollbar-mode overlay-auto
sabato 17 novembre 2012
Zen Cart: pagine complete di header e footer ma senza corpo centrale e sideboxes
Da diventarci matti, il sito era su, le pagine venivano mostrate senza errori dall'header fino all'ultima riga di footer.
Peccato che mancassero le sideboxes e il corpo centrale.
Il debug delle pagine non mostrava errori.
Unica altra "stranezza": nel footer viene inserito il nome della costante STORE_NAME al posto dell'effettivo nome del negozio definito nel menu Configurazione->Info Negozio
SOLUZIONE: il problema era causato dalla cache di SSU (Super Seo Url) evidentemente corrotta.
Abbiamo provveduto a ripulire la cache e in seguito a disattivare SSU.
martedì 13 novembre 2012
Stampare file di Open Office da Nautilus
Quante volte vi siete detti: come sarebbe bello selezionare dei file di Open Office da Nautilus e stamparli automaticamente senza doverli aprire uno per uno.
Ecco la soluzione:
- Aprire nautilus
- Cliccare con il tasto destro del mouse su un qualsiasi file o cartella.
- Selezionare la voce SCRIPTS->OPEN SCRIPTS FOLDER
- Cliccare su OK
- Creare un nuovo file (ad esempio stampa_calc)
- Inserire nel file questa riga di comando:
/usr/bin/oocalc -invisible -nofirststartwizard -pt NOME_STAMPANTE "$*" - stando attenti a sostituire NOME_STAMPANTE con il nome della stampante desiderata.
- Impostare i permessi di esecuzione sul file appena creato.
Selezionando uno o piu' file .ods , potrete cliccare con il tasto destro del mouse e selezionare la voce di menu SCRIPTS->stampa_calc. I file selezionati verranno mandati in stampa.
La stessa procedura puo' essere seguita per i file di Writer sostituendo oowriter a oocalc nello script (potete creare un nuovo script dal nome stampa_writer. Ricordatevi i permessi di esecuzione)
giovedì 19 aprile 2012
Ubuntu: impedire ad Apache e MySQL di partire al boot
Per Apache e' molto semplice, basta lanciare il comando
sudo update–rc.d –f apache2 remove
Per MySQL e' un po' piu' brigoso, bisogna editare il file
/etc/init/mysql.conf
Cercare il blocco di codice:
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [016]
e spostare il '2' dalla fase di start a quella di stop (come nell'esempio seguente):
start on (net-device-up
and local-filesystems
and runlevel [345])
stop on runlevel [0126]
Etichette:
apache,
boot,
esecuzione,
mysql,
ubuntu
ipdf: creare pdf indicizzati partendo da file di testo
Con questo software potete creare file PDF indicizzati partendo da file di testo.
E' un progetto ospitato da freshmeat.net e lo trovate all'indirizzo http://freshmeat.net/projects/ipdf/
giovedì 15 marzo 2012
Evolution: non si riesce ad inserire una riga di risposta in mezzo al quoting
Pur avendo configurato evolution per inviare solo mail in formato testo, puo' capitare di rispondere a certi messaggi e a non riuscire ad inserire una riga di risposta tra due righe di quoting.
La nostra riga viene infatti inserita come se facesse parte del quoting, generando quindi confusione nel destinatario della nostra risposta.
Il problema si verifica quando la mail a cui stiamo rispondendo e' in formato HTML.
Per ovviare a questo inconveniente, andate sul menu
Edit -> Preferences -> Mail preferences -> HTML messages
e impostate la voce 'HTML mode' su 'Only ever show plain text'
La nostra riga viene infatti inserita come se facesse parte del quoting, generando quindi confusione nel destinatario della nostra risposta.
Il problema si verifica quando la mail a cui stiamo rispondendo e' in formato HTML.
Per ovviare a questo inconveniente, andate sul menu
Edit -> Preferences -> Mail preferences -> HTML messages
e impostate la voce 'HTML mode' su 'Only ever show plain text'
domenica 26 febbraio 2012
Zen Cart: errore 1054 mysql in inserimento EZ-Pages
Dopo aver installato la versione 1.3.0.5v2.02 del supporto multilingua delle EZ-Pages avevo un errore ogni volta che cercavo di inserire una nuova pagina:
1054 Unknown column 'pages_title' in 'field list'
in:
[insert into ezpages (pages_title, page_open_new_window, page_is_ssl, alt_url, alt_url_external, status_header, status_sidebox, status_footer, status_toc, header_sort_order, sidebox_sort_order, footer_sort_order, toc_sort_order, toc_chapter, pages_html_text) values ('', '0', '0', '', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Array')]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
The solution is simple, modify .../CUSTOM_ADMIN/ezpages.php file changing:
1054 Unknown column 'pages_title' in 'field list'
in:
[insert into ezpages (pages_title, page_open_new_window, page_is_ssl, alt_url, alt_url_external, status_header, status_sidebox, status_footer, status_toc, header_sort_order, sidebox_sort_order, footer_sort_order, toc_sort_order, toc_chapter, pages_html_text) values ('', '0', '0', '', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Array')]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
The solution is simple, modify .../CUSTOM_ADMIN/ezpages.php file changing:
$sql_data_array = array('pages_title' => $pages_title,
'page_open_new_window' => $page_open_new_window,
'page_is_ssl' => $page_is_ssl,
'alt_url' => $alt_url,
'alt_url_external' => $alt_url_external,
'status_header' => $status_header,
'status_sidebox' => $status_sidebox,
'status_footer' => $status_footer,
'status_toc' => $status_toc,
'header_sort_order' => $pages_header_sort_order,
'sidebox_sort_order' => $pages_sidebox_sort_order,
'footer_sort_order' => $pages_footer_sort_order,
'toc_sort_order' => $pages_toc_sort_order,
'toc_chapter' => $toc_chapter,
'pages_html_text' => $pages_html_text);
to
$sql_data_array = array('page_open_new_window' => $page_open_new_window,
'page_is_ssl' => $page_is_ssl,
'alt_url' => $alt_url,
'alt_url_external' => $alt_url_external,
'status_header' => $status_header,
'status_sidebox' => $status_sidebox,
'status_footer' => $status_footer,
'status_toc' => $status_toc,
'header_sort_order' => $pages_header_sort_order,
'sidebox_sort_order' => $pages_sidebox_sort_order,
'footer_sort_order' => $pages_footer_sort_order,
'toc_sort_order' => $pages_toc_sort_order,
'toc_chapter' => $toc_chapter);
Iscriviti a:
Post (Atom)



















