Piero V.

Downtime

Ieri c’è stato un lungo downtime di questo sito, non posso che ammetterlo.

La maggior parte della colpa è mia, della mia stanchezza: ho accidentalmente premuto sul pulsante riavvia anziché rinnova.

Da là ci sono stati numerosi problemi: anziché esserci un riavvio regolare, la VPS è entrata in modalità recovery.

Su OVH il modo per tornare alla normalità è “selezionare il kernel per il netboot”, peccato che la mia VPS Classic di OVH sia basata su OpenVZ, e che quindi un kernel non lo ha.

Ho provato più volte a fare il ripristino creato al volo sfruttando il mio vecchio spazio, ancora attivo fino al 23, tuttavia non c’è stato modo di ripristinarlo.

Ad un certo punto ci ero riuscito, ma per problemi di dipendenze si era installato systemd, incompatibile con la versione di OpenVZ di OVH.

Alla fine la soluzione è stata reinstallare il sistema operativo e riconfigurarlo con 7 ore di downtime.

Vedrò di segnalare il problema a OVH e per il momento non posso che scusarmi per gli inconvenienti.

Trasferimento su VPS

È ufficiale! Questo sito è stato trasferito sul mio VPS.

Un paio di settimane fa ho comprato un VPS Classic 2014 di OVH: costa come l’hosting personale, solo che dà una macchina virtuale, a discapito dello spazio disponibile: 10GB, che comunque per me sono sufficienti.

Ho voluto fare così sia per imparare, che per avere più flessibilità: se ho un progetto particolare posso lo stesso svilupparlo.

In particolare ho: 1vCore, 10GB di archiviazione, 1GB di RAM, rete a 100Mbps fino a 10TB, dopo 1Mbps, Debian 64bit.

La RAM non è né poca, in confronto a certe altre macchine virtuali, né tanta, in confronto ai server di hosting condiviso, che offrono magari una più alta protezione da certi tipi di attacco. Sotto questo aspetto sono un po’ spaventato.

Adesso starò a vedere come si comporta il tutto, ma sono abbastanza soddisfatto.

In caso l’altro hosting è ancora attivo per circa un mese, tempo in cui testerò se questa soluzione funziona bene.

D-Link DHP-308AV (poweline)

Spesso si parla di internet delle cose, ma la maggior parte delle case non è stata ideata per avere reti ethernet.

Certo, i dispositivi che supportano il wireless sono moltissimi, ma a volte il cavo risulta più comodo: è più economico da implementare, più diffuso, ha certe funzionalità ancora non disponibili con la wireless, come Wake On Lan.

Un’idea è quella di un bridge wireless, ne avevo già parlato, tuttavia la mia soluzione, per farlo sembrare uguale a un collegamento tramite cavo, era molto dirty (questa volta neanche quick). Avevo già previsto non sarebbe durata per sempre, e così è stato: c’erano lungi tempi e quando il client era disattivo il server mandava molti pacchetti ARP, cosa fastidiosa al pensiero.

La soluzione più vantaggiosa ed economica sarebbe un buon vecchio cavo, ma era difficile nel mio caso: avrei dovuto attraversare una parete di 25cm, perché per la rete non si possono usare i corrugati della corrente.

Visto che in questi anni sono scese molto di prezzo, ho deciso di valutare la soluzione delle powerline, così ho comprato il kit D-Link DHP-309AV, che contiene due adattatori DHP-308AV. Mi è venuto il doppio del cavo (27€ su Amazon), ma almeno ho verificato questa tecnologia. … [Leggi il resto]

Django

Ultimamente sto valutando i problemi di PHP, il linguaggio che ho usato più di tutti assolutamente negli ultimi 7 anni (o più).

PHP è un linguaggio in continua evoluzione: ho cominciato con PHP 4.4, da allora ci sono stati parecchi cambiamenti, per farlo diventare un linguaggio più orientato agli oggetti, tuttavia rimangono certi misteri come molti overhead aggiunti, sembra per niente, certe modalità di interpretazione tutte sue (vedasi operatore ternario).

Un altro buonissimo linguaggio è Python: è sempre libero e molto potente. Inoltre negli ultimi anni il suo uso per il web si è esteso parecchio.

Un nome associato a Python per il web è proprio Django, un framework molto interessante e utilizzato anche da Instagram.

L’ho sperimentato un po’, seguendo anche il tutorial sulla prima applicazione (un sondaggio) e ne sono rimasto davvero impressionato: è molto semplice e veloce da utilizzare. Bastano pochi secondi per poter creare un progetto e cominciare subito a lavorare.

Avevo utilizzato ancora un framework in PHP (CakePHP, se non sbaglio), ma non mi ero trovato benissimo.

La caratteristica da cui sono rimasto più impressionato è la gestione dei dati: non serve conoscere SQL, il framework crea automaticamente le tabelle e le query in base alle classi e ai metodi.

Ciò rende più facile anche l’utilizzo di una shell Python, che il framework prepara con tutte le impostazioni pronte e l’amministrazione.

Inoltre il Python mi ispira una grande versatilità: potrebbe essermi utile un processo diverso dal server web per elaborare dei dati, nonché l’integrazione con altri software, e con Django tutto ciò sembra parecchio semplice, in quanto fortemente modulare.

Non escludo di portare questo sito su Django, anzi, sarebbe parecchio interessante. Tra l’altro il VPS Classic 1 e l’hosting base di OVH hanno lo stesso prezzo, per cui sono ancora più allettato 😉 .

Bridge, OpenVPN e DHCP

OpenVPN è un’ottima soluzione per creare una VPN, ovvero una Virtual Private Network.

Volevo utilizzare questo software per permettermi di accedere alla rete di casa quando sono via, quindi ho scelto l’approccio bridge, quindi con interfaccia tap.

Di suo OpenVPN non è così Plug&Play, bisogna lavorare un po’ sui file di configurazione e con un’utility chiamata easy-rsa per creare un po’ di chiavi e certificati per crittografare il traffico, cosa di cui non tratterò, perché ci sono siti molto più dettagliati.

Con IPv4 è molto comodo usare DHCP per la configurazione automatica dell’interfaccia di rete, anche quella virtuale. OpenVPN lo sa, infatti implementa un server DHCP.

Per la modalità routed è abbastanza sensato usarlo, ma va utilizzato per forza anche per la modalità bridged, indicando un range di IP che può utilizzare.

Io tuttavia pensavo che sarebbe bello poter usare il server DHCP del resto della LAN.

Ero sicuro fosse possibile, perché mi era già capitato di farlo, tuttavia l’avevo fatto con Windows ed era andato tutto tranquillamente.

Anche su Linux (client) riuscivo a farlo andare, ma solo manualmente con la CLI di OpenVPN e dhclient tap0, mentre avevo alcuni problemi con NetworkManager. Precisamente: … [Leggi il resto]