dic
04

WordPress: errore 500 dopo upgrade automatico su piattaforma Aruba

 

Dopo aver eseguito l aggiornamento automatico alla piu recente wodrpress ogni tentativo di collegarsi all interfaccia di amministrazione termina con errore 500.

Soluzione:
Entrare con le proprie credenziali su:

http://admin.aruba.it/login.aspx

Spostatevi in “Pannello gestione Hosting Linux
Entrate nella scheda “Strumenti e Impostazioni
Cliccate sulla voce “Riparazione Permissions
Confermate cliccando su OK
Attendete qualche minuto e ricaricate la pagina.
Il vostro blog dovrebbe ripartire senza problemi.

(appunti tratti dal post di Alessandro su http://www.uploadsblog.com/2009/02/12/wordpress-su-aruba-soluzione-500-internal-server-error/ )

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

nov
22

GNU/Linux e le Access Control List

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
26

ACL Posix: client windows su server samba

 

Il permesso full control viene ignorato, se impostato viene rimosso al momento della conferma.

la cancellazione (concessa solo dal permesso full control) viene quindi considerata da windows come non fattibile ma in realta il file puo essere cancellato in quanto su linux e sufficiente il permesso di scrittura per cancellare.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
26

Asterisk: un account SIP per ricevere e uno per chiamare

 

Solito titolo poco chiaro, scusate. Questo è il post che ho promesso l’altro ieri, quando ho annunciato di avere un numero VOIP. Qui scenderò nei dettagli della mia configurazione, cercando di renderla comprensbile anche a chi non ha mai avuto a che fare con il VOIP, come ad esempio me medesimo la settimana scorsa.
VOIP con Asterisk

La mia situazione, ma potenzialmente anche la vostra, visti gli evidenti vantaggi economici rispetto ad un normale telefono fisso Telecom, è la seguente:

  • Un account SIP con un provider che vi fornisce un numero geografico chiamabile da tutti i telefoni, nel mio caso Messagenet, servizio Free Number.
  • Un account SIP con un provider con tariffe particolarmente convenienti verso i telefoni tradizionali, nel mio caso Poivy, di cui sto per illustrare le tariffe
  • Uno (o più) telefoni (Aladino e Nokia N80 nel mio caso) o softphone (come l’ottimo Ekiga) da connettere al centralino

Chiaramente ci serve un computer su cui installare Asterisk, che deve necessariamente essere acceso. Nel mio caso uso un Linksys NSLU2 con Debian Etch, un portento (seguirà post su questo argomento). Segnalo la possibilità di eseguire Asterisk anche sui router con firmware [DD|Open]WRT, come i mitici Linksys WRT54G o la Fonera.

Perché tutto questo casino? Non hai un cellulare?

Sì, chiaramente ho un cellulare (uno stagionato Nokia N70), ma avere un numero fisso ha i suoi vantaggi, ad esempio la possiblità di farsi chiamare dagli amici con telefonate gratis ai fissi senza occupare il telefono di casa. Ho poi una segreteria ultraconfigurabile completamente gratis (gli sviluppatori di Asterisk l’hanno simpaticamente chiamata Comedian Mail). È inoltre gradito poter chiamare economicamente (vedi paragrafo su Poivy), anche dai miei. E, non ultimo, è sempre interessante.

Effettuare chiamate – Poivy.com

Finora Poivy è il provider più economico che ho trovato, e fa parte della famiglia di siti tutti uguali, le cui tariffe differiscono solo per il costo delle chiamate ai cellulari. Offre chiamate gratuite ai fissi per 90 giorni all’anno (gli altri giorni 1,8 centesimi al minuto) e solo 6 centesimi al minuto per le chiamate verso i cellulari, il tutto senza scatto alla risposta. Per acquistare credito è necessaria una ricarica nel taglio unico di 10 euro.

Ricevere chiamate – Messagenet

Ho trovato questo servizio quasi per caso, e offre completamente GRATIS un numero geografico di Milano/Roma/Torino/Londra. Per ragioni di vicinanza ho scelto Milano, infatti il mio numero è uno 02. È anche possibile acquistare credito ed effettuare chiamate con loro, ma è molto meno conveniente di Poivy.

Installare Asterisk

Una volta individuato il PC (connesso alla LAN, ovviamente) su cui installare Asterisk è necessario procedere all’installazione. Sono disponibili pacchetti precompilati per praticamente tutte le distribuzioni. Su Debian e Ubuntu e derivate l’installazione si esegue con il classico APT:

sudo apt-get install asterisk asterisk-config asterisk-prompt-it

Ho inserito nella stringa anche il pacchetto asterisk-config (che contiene la configurazione di esempio, piuttosto interessante) perché non mi ricordo se è installato automaticamente dal pacchetto asterisk… asterisk-voice-prompt-it installa le voci in italiano.

Concetti di base

Prima di addentrarmi nella spiegazione completa, trovo giusto soffermarmi un attimo sulla spiegazione di alcuni concetti di base che è necessario conoscere prima di poter usare con successo Asterisk, e che sono il primo scoglio contro cui si sbatte la testa.

Il primo concetto è quello di “contesto”, traduzione letterale di context. Un contesto è, grossomodo, un ambito in cui avviene la chiata, tanto in uscita quanto in entrata. Immaginiamo ad esempio una piccola microscopica azienda, con una segreteria, magari con più telefoni, e un ufficio del dirigente. Le chiamate in arrivo devono arrivare alla segreteria, che può decidere o meno se trasferirle al capo. I telefoni della segreteria saranno in un loro contesto, quello/i del dirigente saranno altrove, e potranno comunicare tra loro (o anche no, secondo la configurazione) mentre quelli della segreteria saranno nel contesto del numero in ingresso (VOIP o meno).

Il secondo concetto è quello di estensione. Le estensioni altro non sono che i numeri di telefono composti dagli utenti. Ogni contesto ha le sue estensioni separate dagli altri, e possono anche differire. Tornando all’esempio di prima, i telefoni nel contesto della segreteria potrebbero chiamare il numero 200 per interrogare la segreteria telefonica, mentre il dirigente potrebbe chiamare in segreteria (o, perché no, sua moglie/amante/fidanzata) digitando il medesimo numero. Si può anche impedire che un determinato contesto faccia chiamate all’esterno, le possibilità sono limitate solo dalla fantasia.

Il caso

Il mio caso è già stato descritto per quanto riguarda i provider utilizzati e al server, mentre non ho ancora detto niente sulla configurazione dei telefoni e dei relativi interni. Nel seguente elenco il primo dato riportato è, appunto, l’interno.

  • 2000 – Aladino WiFi, il telefono principale, sono infatti dirette a lui le chiamate in arrivo sul numero di Messagenet
  • 2010 – Nokia N80, cellulare di mio fratello, integra un client SIP, e si connette al centralino in WiFi
  • 2100 – Portatile, con client Ekiga
  • 2101 – Fisso, con client Ekiga

Ho anche alcuni altri interni che svolgono altre funzioni, come il 3000, tramite il quale si ascolta la propria segreteria (raggiungibile anche dal 4444 perché è il numero immodificabile che l’Aladino usa il tasto segreteria), il 3001 che permette di ascoltare la segreteria di qualsiasi interno, previo inserimento della relativa password e il 7272 che legge le previsioni del tempo di Meteo Trentino, di cui parlerò in un altro post, se a qualcuno interessa. Se qualcuno volesse provarlo in esclusiva mi chiami pure allo 02/00613655, e me lo chieda, trasferirò la chiamata al meteo :D

Configurazione di Asterisk – sip.conf

I file di configurazione di Asterisk (davvero tanti) si trovano in /etc/asterisk e il primo che andremo a modificare è sip.conf, che gestisce il protocolo SIP, e quindi in questa configurazione i provider per chiamate in entrata e uscita e tutti gli interni. Prima di modificare qualche cosa, consiglio di fare una copia della cartella di configurazione, non si sa mai. Ecco il mio sip.conf

[general]
context=chiamate-in-entrata                     ; Default context for incoming calls
bindport=5060                   ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0                ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes                   ; Enable DNS SRV lookups on outbound calls
language=it                     ; Default language setting for all users/peers
                                ; This may also be set for individual users/peers
canreinvite=no                  ; Workaround per problemi di autenticazione con Messagenet
nat=yes                         ; Global NAT settings  (Affects all peers and users)
                                ; yes = Always ignore info and assume NAT
                                ; no = Use NAT mode only according to RFC3581
                                ; never = Never attempt NAT mode or RFC3581 support
                                ; route = Assume NAT, don't send rport

; In
register => USERNAME_MESSAGENET:PASSWORD@sip.messagenet.it:5061/NUMERO_ASSEGNATO_SENZA_+39

; Out
register => USERNAME_POIVY:PASSWORD@sip.poivy.com/USERNAME_POIVY

; PROVIDER
; Out - Poivy
[out]
type=peer
context=chiamate-in-uscita
username=USERNAME_POIVY
fromuser=USERNAME_POIVY
secret=PASSWORD
host=sip.poivy.com        ; Modificare con il proprio server SIP in uscita
fromdomain=sip.poivy.com  ; Idem
qualify=yes
insecure=very
nat=yes

; Client
; Principale - Aladino
[2000]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

; Nokia N80
[2010]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

; Ekiga portatile
[2100]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

; Ekiga fisso
[2101]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

Notiamo una sezione [general] in cui imposto alcuni settaggi di base, e mi registro ai provider con il comando register. Si passa poi alla sezione per le chiamate in uscita di Poivy (per Messagenet non serve, dato che sono solo chiamate in ingresso) e poi alla definizione dei vari interni, che sono nel contesto telefoni-locali, mentre le chiamate in arrivo sono in chiamate-in-entrata.

Configurazione di Asterisk – extensions.conf

Extensions.conf, come suggerisce il nome, si occupa delle estensioni, ecco il mio:

[telefoni-locali]
;20xx = Telefoni fisici
;21xx = Softphone
;12xxx = Diretti segreteria

; Principale - Aladino
exten => 2000,1,Dial(SIP/2000||tT,20)
exten => 2000,2,VoiceMail(2000,us)
exten => 12000,1,VoiceMail(2000,us)

; Nokia N80
exten => 2010,1,Dial(SIP/2010||tT,20)
exten => 2010,2,VoiceMail(2010,u)
exten => 12010,1,VoiceMail(2001,u)

; Ekiga portatile
exten => 2100,1,Dial(SIP/2100||tT,20)
exten => 2100,2,VoiceMail(2100,u)
exten => 12100,1,VoiceMail(2100,u)

; Ekiga fisso
exten => 2101,1,Dial(SIP/2101||tT,20)
exten => 2101,2,VoiceMail(2101,u)
exten => 12101,1,VoiceMail(2101,u)

; Segreteria telefonica
exten => 3000,1,VoiceMailMain(${CALLERID(num)},s)
exten => 4444,1,Goto(3000,1)
exten => 3001,1,VoiceMailMain()

; Chiamate in uscita
exten => _0X.,1,Dial(SIP/0039${EXTEN}@out)
exten => _3X.,1,Dial(SIP/0039${EXTEN}@out)
exten => _00X.,1,Dial(SIP/${EXTEN}@out)

; Numero inesisntente
exten => _X.,1,Playback(invalid)
exten => _X.,n,Hangup()

; Chiamate in attesa
include => parkedcalls
exten => _70X,1,GoTo(parkedcalls,${EXTEN},1)

; Meteo Trentino
exten => 7272,1,Answer()
exten => 7272,n,Playback(meteo_tn)
exten => 7272,n,Hangup()

[chiamate-in-entrata]
; Chiamate in entrata
exten => _0200613655,1,NoOp('Chiamata entrante allo 0200613655, redirezionata su Aladino, interno 2000')
exten => _0200613655,n,Dial(SIP/2000,20)
exten => _0200613655,n,NoOp('Aladino occupato/non disponibile, chiamata passata in segreteria')
exten => _0200613655,n,VoiceMail(2000,us)

La spiegazione di queste estensioni prevede un ulteriore concetto: la priorità. Grazie ad essa si possono avere più possibili comportamenti per ogni estensione: consideriamo, ad esempio, l’estensione 2000, per le chiamate interne dirette all’Aladino:

exten => 2000,1,Dial(SIP/2000||tT,20)
exten => 2000,2,VoiceMail(2000,us)

Il numero che si vede dopo il 2000 dell’estensione indica la priorità (cioè l’ordine) con cui verranno aseguite le azioni indicate: prima si proverà a chiamare SIP/2000 (indica una chiamata con protocollo SIP verso l’utente 2000, l’Aladino), con possibilità di trasferimento di chiamata ad un altro numero sia da parte del chiamante che del chiamato (”||tT”, senza virgolette). Se entro 20 secondi questo non risponde (notare il 20 in fondo), oppure non è raggiungibile, si passa alla priorità 2, cioè il passaggio della chiamata alla VoiceMail (segreteria) dell’utente 2000. Le opzioni u e s indicano rispettivamente di riprodurre il messaggio di non disponilbilità (Unavaible, modificabile dall’utente chiamando la segreteria e sfogliando un po’ il menu) e s indica di non dare le istruzioni su come lasciare il messaggio (”Lasciare un messaggio dopo il segnale acusitco, quindi riagganciare oppure premere il tasto cancelletto”, o qualcosa del genere). È anche possibile specificare solo la priorità 1 e assegnare le altre priorità n, di fatto non cambia niente ma è più facile aggiungere o togliere delle priorità senza dover riordinare tutto l’elenco. La seguente configurazione è quindi equivalente:

exten => 2000,1,Dial(SIP/2000||tT,20)
exten => 2000,n,VoiceMail(2000,us) ; notare la n al posto della priorità numerica

Per ogni interno c’è anche la possiblità di lasciare direttamente un messaggio in segreteria, chiamando il numero 1<INTERNO>, ad esempio 12000 per lasciare un messaggio all’interno 2000.

Per la segreteria telefonica (estensione 3000) si usa un semplice VoiceMailMain(ID_UTENTE, OPZIONI), dove ID_UTENTE viene inserito dinamicamente tramite la variabile ${CALLERID(num)}, mentre l’opzione s serve per non richiedere la password per ascoltare i messaggi, dato che in ambiente casalingo come il mio è solo una perdita di tempo. Notare poi che all’estensione 4444 uso la funzione (in gergo Asteriskiano applicazione) Goto, e la rimando all’estensione 3000, realizzando di fatto un collegamento alla segreteria. Nell’estensione 3001 si nota l’assenza del parametro relativo all’ID utente di cui ascoltare la segreteria, permettendo l’accesso (con password) a qualunque mailbox.

Per le chiamate in uscita sfrutto i pattern (per una spiegazione dettagliata rimando al capitolo a rigurardo sull’Asterisk Book). Il primo pattern seleziono tutti i numeri che cominciano con 0, seguiti da altre 1-20 cifre: sono i numeri fissi in Italia, quindi redirigo la chiamata tramite Poivy (contesto out), notare il SIP/0039{NUMERO}@out in Dial() (lo 0039 aggiunto mi permette di non scriverlo a mano in ogni chiamata). Il pattern successivo funziona in maniera analoga ed è relativo ai cellulari. I numeri che cominciano con 2 zeri sono quelli internazionali, quindi non prepongo lo 0039.

Troviamo quindi il pattern “_X.”, che è richiamato se il numero chiamato è inesistente, e riproduce il suono “invalid”.

A seguire il necessario per “parcheggiare” le chiamate, metterle cioè in attesa (ricorda molto il 190/187/119, eh?), con tanto di musichetta. Per fare ciò, durante una chiamata, si digita # per abilitare il trasferimento di chiamata, quindi 700 per parcheggiare la chiamata. Al parcheggiante verrà riprodotto il numero da chiamare per tornare dal parcheggiato (anche da un telefono differente), mentre il parcheggiato sentirà la musichetta. Dopo un tempo specificato dopo il parcheggio (di default 45) il parcheggiante verrà richiamato e rispondendo tornerà dal parcheggiato. L’estensione successiva serve sempre per gestire i numeri dei vari parcheggiati.

Abbiamo infine l’estensione che riproduce il suono meteo_tn, contenente le previsioni Meteo Trentino, aggiornato in automatico ogni giorno alle ore 14 (pagina web parsata da PHP, passata ad espeak che la legge, convertita con sox nel formato corretto).

C’è quindi il contesto [chiamate-in-entrata], che redirige le chiamate in entrata all’Aladino o in segreteria. La funzione NoOp non fa altro che stampare un messaggio nella console di Asterisk, che si lancia con sudo asterisk -vvvvvvvvvvr sulla macchina in cui è in esecuzione Asterisk. Il numero di v passate come parametro definisce il livello di verbosità: più sono meglio è, per scopi di debug.

Configurazione di Asterisk – voicemail.conf

L’ultimo file da configurare è voicemail.conf, che deve contenere le impostazioni per ogni casella vocale:

[default]
2000 => PIN-NUMERICO,NOME,E@MAIL
2010 => PIN-NUMERICO,NOME,E@MAIL
2100 => PIN-NUMERICO,NOME,E@MAIL
2101 => PIN-NUMERICO,NOME,E@MAIL

Ho copiato solo la parte personalizzata, all’inizio del file ci sono molte opzioni che si possono configurare a piacere, sono ben spiegate.

Asterisk su Debian – L’avvio automatico

Bisogna editare /etc/default/asterisk impostando RUNASTERISK a yes, per avviare l’avvio automatico. Io avevo avuto problemi di permessi con la cartella /var/log/asterisk, che impedivano l’avvio del server, basta assegnarla all’utente asterisk:
sudo chown -R asterisk /var/log/asterisk

Conclusione

/etc/init.d/asterisk start

P.S.:Finalmente ho concluso questo post! Penso che sia il nuovo record di lunghezza su LuBlog!

P.P.S.: Consiglio la lettura di The Asterisk Book, ottimo anche come refernce manual.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
22

Cambiare permessi ricorsivamente

 

Può capitare di avere una struttura con sottocartelle e file contenute in essi e dover impostare i permessi a tutti i file (o le cartelle) di un certo tipo. Facciamo un esempio: vogliamo impostare i permessi a 755 a tutte le immagini. L’errore più comune è quello di utilizzare chmod in modalità ricorsiva in questo modo:

chmod -R 755 *.jpg

Dopo aver lanciato questo comando vi accorgerete che sono cambiati solo i permessi dei file nella cartella principale e quelli nelle sottocartelle invece no.

Vediamo perché e come ottenere il risultato voluto.

Quando si filtra chmod con un nome di file (nel nostro caso *.jpg) lui fa il check con tutto ciò che incontro, sia file che cartelle. Ciò significa che, tranne nel caso in cui abbiate una cartella che finisce con .jpg, le sottocartelle non verranno analizzate (e quindi attraversate) perché non matchano il nome passato a chmod.

Per ottenere il comportamento voluto si può semplicemente togliere il filtro ma a questo punto cambieremmo i permessi a tutti i file/cartelle contenuti nella cartella principale:

chmod -R 755

L’altra soluzione, molto più fine, è quella di usare find in questo modo:

find . -type f -name ‘*.jpg’ -exec chmod 755 {} ;

Analizziamo i parametri:

  • il . iniziale serve per dire che la scansione di file dovrà iniziare dalla cartella corrente;
  • -type f indica che vogliamo cercare solo i file (usate d se volete le cartelle);
  • -name ‘*.jpg’ filtra i nomi dei file (in questo caso immagini jpg);
  • -exec dice che vogliamo eseguire un comando sui file che rispettano i nostri requisiti;
  • chmod 755 {} è il comando vero e proprio per cambiare i permessi;
  • lo finale indica che il comando è finito.

Ecco fatto! Usatelo con attenzione…

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ago
20

Guida per principianti a GNU/Linux: diventare super user

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
19

Guida per principianti a GNU/Linux: cambiare i permessi

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
16

Tutti gli utenti del sistema

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
16

Guida per principianti a GNU/Linux: i permessi (prima parte)

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
07

Google Earth funziona solo come root: risolto

 

Ho riscontrato di recente questo problema: Google Earth funziona solo come root oppure con un account diverso dal mio. Come è possibile? È un problema di permessi, perché l’installer, lanciato con sudo, alla fine dell’installazione permette di lanciare il programma e salva nella home i suoi file di configurazione come utente root, quindi non scrivibili da me.

GoogleEartg
GoogleEarth

Ecco come risolvere:

sudo chown -R $USER:users .googleerath/ .local/ .config/Google/

That’s all, folks!

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
10

Avviare visudo con gedit

 

Popularity: 5% [?]



Puoi visualizzare il post originale qui.

mar
25

Eseguire un programma con un altro utente

 

Popularity: 5% [?]



Puoi visualizzare il post originale qui.

mar
24

Eseguire un programma come root senza la richiesta di password

 

Popularity: 5% [?]



Puoi visualizzare il post originale qui.

top