Creare facilmente applicazioni Web su Linux

Fogger Web Linux in un clicTra le tante features incluse in Google Chrome / Chromium, Gnome Web, Rekonq ecc troviamo la possibilità di creare facilmente un’applicazione web da qualsiasi scheda. Questa funzionalità ci consente non solo di avviare velocemente il nostro sito web preferito ma anche risparmiare risorse dato che non andremo a caricare interamente il browser. Funzionalità tanto richiesta ma attualmente non inclusa in Mozilla Firefox, un’alternativa arriva proprio dai developer Linux attraverso un semplice software.

Per creare facilmente un’applicazione web con Linux possiamo utilizzare Fogger, software open source che ci consente di creare facilmente un’applicazione web da qualsiasi sito, blog, forum ecc attraverso una semplice interfaccia grafica.
Fogger ci consente di creare un’applicazione web da avviare velocemente nel nostro menu, una volta avviata avremo una finestra con solo il nostro sito web, non è inclusa alcuna barra degli strumenti ecc possiamo comunque ricaricare, andare avanti o indietro attraverso il menu contestuale o il menu dell’applicazione. Tutto questo ci consentirà di velocizzare l’avvio di social network, forum e altri siti preferiti senza utilizzare alcun browser richiedendo meno cpu e memoria ram.

– INSTALLARE FOGGER
N.B.: Fogger è un software che non viene aggiornato da alcuni anni ma che funziona correttamente anche con le attuali distribuzioni Linux.

Per installare Fogger in Ubuntu e derivate basta scaricare il pacchetto deb da questa pagina (per Ubuntu 14.04 e versioni successive basta scaricare il pacchetto per la release 13.10).

Prerequisiti: prima d’installare il pacchetto appena scaricato, accertarsi di avere i seguenti pacchetti :
python-xlib & gir1.2-rsvg-2.0 altrimenti installarli con un semplice

# sudo apt-get install python-xlib gir1.2-rsvg-2.0

Una volta installato, basta avviare Fogger da menu, ci si aprirà una finestra di dialogo nella quale inserire l’url, nome e icona dell’applicazione web da creare per poi cliccare sul tasto Create. Al termine basta avviare l’applicazione web da menu, per rimuoverla basta cliccare da file manager Ctrl + h .

Seafile un Cloud privato

seafile_cloud… in pochi clic

L’incremento di velocita’ delle reti e di Internet ci ha portati a modificare le nostre abitudini per quanto riguarda la conservazione dei dati, che sono aumentati in modo esponenziale. In poco tempo sono nati diversi servizi online gratuiti (da DropBox, Ubuntu One, Google Drive, iCloud Box ecc…) che offrono spazio per lo storage di contenuti quali video, audio, foto, documenti ecc…,

Archiviazione e sincronizzazione dei dati sono i principali servizi messi a disposizione ma, negli ultimi tempi, si nota una nuova tendenza ad integrare anche strumenti di condivisione dei file con altri utenti. Cosa molto interessante, quest’ultima, utile anche a livello aziendale, e non solo, perche’ permette la creazione di gruppi di lavoro in cui ogni membro riceve automaticamente i file piu’ aggiornati , senza la seccatura di andare a controllare continuamente cosa e’ stato modificato.

In passato ho provato praticamente quasi tutti i servizi sopra citati, ma oggi esiste anche un’altra possibilita’ ed e’ data da Seafile
In pratica e’ un altro strumento open source di sincronizzazione, tipo Dropbox , che è stato progettato per essere più adatto al lavoro di squadra con alcune specifiche caratteristiche che sono orientate a questo obiettivo come ad esempio:

  • Gli utenti possono creare e partecipare a gruppi, quindi condividere i file al gruppo. Questo facilita il lavoro di squadra.
  • I file sono organizzati in librerie, ognuna sincronizzato in maniera selettiva con il client sul proprio computer. Le librerie possono essere sincronizzate con qualsiasi cartella locale.
  • Funzioni di collaborazione on-line per i file, come anteprima dei file PDF ed Office e la possibilità di lasciare commenti.

Seafile è quindi un servizio cloud storage che consente di condividere una libreria privata di file on the cloud con amici e colleghi. I file vengono sincronizzati con tutti gli utenti invitati, ciascuno dei quali ha la possibilità di editare un documento, il programma sincronizzerà automaticamente i cambiamenti così che gli altri utenti possano visualizzarli.
Il servizio assegna a ciascun membro del gruppo un server al quale nessun altro può avere accesso, aumentando così il livello di sicurezza. È possibile inoltre recuperare interamente la libreria di files grazie ai backup effettuati dal programma. Un alto livello di protezione è dato infine dal criptamento dei files protetti ciascuno da password, in maniera da renderli illeggibili ai non autorizzati. Seafile è un programma gratuito, scaricabile dal sito web ufficiale che mette a disposizione tutte le istruzioni e video per settare al meglio i propri gruppi di lavoro. Seafile è disponibile per Windows, Mac, Linux e per dispositivi mobili Android e iOS.

Caratteristiche

Seafile usa il modello di controllo di versione di GIT, ma semplificato per la sincronizzazione automatica, e non dipende da GIT. Ogni libreria è come un repository GIT. Ha la sua storia unica, che consiste in un elenco di commit. Un commit punta alla radice di uno snapshot del file system. Lo snapshot è composto da directory e file. I file sono ulteriormente suddivisi in blocchi per un trasferimento di rete ed utilizzo dello storage più efficiente

Differenze da git :

  • La sincronizzazione automatica
  • I client non conserva la cronologia dei file, evitando così il sovraccarico di memorizzazione dei dati due volte. GIT non è efficiente per file di grosse dimensioni (come le immagini)
  • I file sono ulteriormente suddivise in blocchi per il trasferimento in rete e l’utilizzo dello storage più efficiente
  • Il trasferimento dei file può essere ripreso
  • Supporta backend di memorizzazione differenti lato server
  • Supporta il download da server di più blocchi per accelerare il trasferimento di file
  • La gestione dei conflitti tra file è più user-friendly e simile a Dropbox (aggiunge nome dell’utente come suffisso al file in conflitto).

La nuova versione di Seafile (la 3.0), oltretutto, introduce delle novità sostanziali per quanto riguarda il server, mettendo sul piatto delle prestazioni notevolmente migliorate, insieme ad un sostanziale re-design della home page dell’applicazione, che adesso mostra molte più informazioni che riguardano il singolo file.

Tutto questo però comporta uno svantaggio: dato che sostanzialmente è cambiato il modello relativamente al quale il database viene strutturato, Seafile 2 e Seafile 3 non sono interoperabili: questo significa che un client Seafile 2.x non potrà scaricare nuove librerie create con il server 3.x, e viceversa un client 3.x non potrà creare librerie su un server con Seafile 2.x.

Un sito Web chiavi in mano

bitnami_web_appsBitNami Stack :  a ognuno il suo

Oggi giorno molti, moltissimi, hanno sentito nominare parole come WordPress, Joomla, CMS ecc…, ma pochi associano questi nomi ai software necessari per il loro funzionamento.
Tra le diverse figure professionali coinvolte possiamo senza dubbio evidenziare :

  • il semplice utilizzatore, ignaro di come funzioni Internet ma che vuole crearsi un Blog
  • il web designer, che magari non conosce linguaggi di programmazione, ma e’ un dio nell’art design
  • lo sviluppatore che ama creare nuovi software ma non e’ molto competente come sistemista

Seppure la piattaforma “standard de facto” LAMP (Linux+Apache+Mysql+PHP) sia ancora quella piu’ diffusa, molte altre nuove soluzioni sono nate, con l’intento di colmare le carenze pre esistenti sui vecchi sistemi e di migliorare l’esperienza lavorativa dell’utente finale.

BitNami Stack e’ una soluzione pronta all’uso; il concetto alla base del progetto e’ che ognuno, competente o non, ha il diritto di poter utilizzare qualunque applicazione web senza dover essere necessariamente un genio dell’informatica. Ad oggi sono gia circa un centinaio le applicazioni web chiavi in mano fornite sul portale, e la lista dei coming soon e’ altrettanto lunga.

L’installazione classica e’ un’operazione molto semplice, bastera’ andare sul sito da questo link , scegliere l’applicazione web di nostro interesse, selezionare il tipo di pacchetto e scaricarlo in locale; successivamente dare i permessi di esecuzione al pacchetto e lanciarlo, le poche domande che verranno fatte serviranno semplicemente a configurare l’utenza di utilizzo dell’applicazione, la porta di connessione al DB e, se si desidera, un account mail (tramite SMTP protocol) per l’invio delle mail di notifica della App.

chmod +x bitnami-owncloud-7.0.1-0-linux-installer.run
sudo ./bitnami-owncloud-7.0.1-0-linux-installer.run

Esistono anche altre due modalita’ : Live & Cloud

Live : per tutti coloro che non intendono utilizzare direttamente le applicazioni sul proprio pc/server esiste la possibilita’ di scaricare le immagini per VMWare e, volendo, utilizzando VMWare vCenter Converter Tool, sara’ possibile utilizzarle anche con VirtualBox o Kvm.

Cloud : per chi preferisce le soluzioni Cloud, BitNami offre un servizio Cloud dedicato per l’installazione del software; in alternativa si trovano a disposizione gli script per Amazon, bastera’ scaricare il template e caricarlo successivamente su Amazon.

Con una tale facilita’ di utilizzo non mi rimane che dirvi : “testate gente, testate” !!!!

Per maggior info consiglio anche di leggere “BitNami: CMS impacchettati per tutti

SyncThing sincronizzazione OpenSource

SyncThings

SyncThings

Sincronizzare cartelle tra vari sistemi operativi e dispositivi…

Se si utilizzano più computer, probabilmente vorrebbe utilizzare, oppure, si sta già utilizzando un servizio di sincronizzazione per gestire i file su macchine diverse. Una delle opzioni di sincronizzazione più popolari è quello di fare uso di servizi di “storage online”, i famosi servizi Cloud di cui abbiamo parlato in precedenti articoli, come Dropbox, Google Drive e OneDrive, con i quali è possibile trasferire i file da un PC ad un altro. Uno svantaggio di questi servizi è che una copia dei file risiederà per forza di cose sul server del fornitore del servizio.
Un altro metodo per fare tale operazione è quello di utilizzare la tecnologia P2P, come BitTorrent Sync e sincronizzare i file direttamente tra computer.

Il problema da affrontare quando si lavora con i dispositivi digitali, che siano PC o Smartphones, sono le copie di sicurezza! Si cerca di trovare la soluzione ottimale a tale problema e oggi scopriremo insieme un nuovo software multi piattaforma che si chiama SyncThing. Il programma si basa su una interfaccia di gestione web-based e il trasferimento files tipico del Peer-to-Peer.

Syncthing è un ibrido tra Dropbox e BitTorrent Sync; esso permette di sincronizzare i file direttamente tra computer senza che ci sia di mezzo alcun server esterno; inoltre è open-source, e chiunque può controllare il codice per qualsiasi problema di sicurezza o addirittura per creare la propria app.

Syncthing supporta Windows, Mac, Linux, BSD e Solaris. Anche se si stanno utilizzando differenti sistemi operativi sui vari computer, sarà possibile sincronizzare i file da un computer a un altro.

Per iniziare
Vediamo come fare ad implementare in modo veloce e semplice questa soluzione all’interno della nostra attività lavorativa e/o casalinga.

Prima di tutto dobbiamo provvedere a scaricare la versione del software adatta per il nostro computer. Il sito di riferimento per scaricare il software è www.syncthing.net. Scorrendo verso il basso troviamo il link per procedere al download del software. Come è possibile vedere dalla pagina github troviamo le versioni per MacOSx, FreeBSD, Linux 32 e 64 bit, Linux Arm, Solaris e Windows 32 e 64bit.

Scarichiamo quella che corrisponde alla nostra architettura. Una volta ottenuto il file compresso .tar.gz andremo ad operare da terminale, per scompattare, daremo il comando:

tar zxvf nomedelfile.tar.gz -C /opt/

A questo punto ci ritroveremo una cartella contenente tutto il software necessario, pochi mega (meno di 10) per un software molto interessante. Entriamo nella cartella di Syncthing ed eseguiamolo:

cd /opt/syncthing-linux-<nostra-versione>
./syncthing

Si aprirà in automatico il browser predefinito sulla pagina di gestione 127.0.0.1:8080. Da qui potremmo vedere sulla barra in alto, oltre al nome del software, il menu Edit per l’aggiunta di nodi (le altre macchine in rete) e di repositories (le cartelle da sincronizzare), la configurazione del nodo, l’id del nodo e due comandi semplicissimi per riavviare il software di sincronizzazione o fermarlo totalmente. Nel resto della pagina sulla sinistra si vedranno le condivisioni da sincronizzare e sulla destra l’elenco dei nodi e dello status (in attesa, in sincronizzazione, ecc. ecc.).

Un piccolo consiglio e’ quello di entrare nel menu EDIT / Settings per configurare alcuni aspetti del programma; prima di tutto impostate  il GUI LISTEN ADDRESSES su 0.0.0.0:8080 per potervi accedere da qualunque postazione della rete, dopo di che’ per aumentarne la sicurezza è possibile inserire anche un nome utente ed una password.

Sempre nel menu EDIT troviamo la voce Show ID che altro non è che una stringa lunghissima  di caratteri alfanumerici che identificano la nostra installazione in rete. Facciamo un bel copia incolla di questo codice che ci servirà per configurare le altre macchine in rete.

Se la soluzione vi e’ piaciuto potremo provvedere a rendere avviabile il servizio automaticamente all’accensione del PC. In Windows basterà creare un collegamento in Esecuzione Automatica del menu di avvio, mentre in Linux basterà aggiungere una riga di comando nel file /etc/rc.local (sono necessari i permessi di root. Quindi usare il comando sudo gedit /etc/rc.local per editare il file). La riga da aggiungere è:

su -l nome-utente -c “/percorso-di-syncthing/syncthing &”

Se presente la riga con scritto exit 0, eliminarla o commentarla anteponendoci un

Vantaggi di Syncthing

Privacy: Tutti i vostri file risiedono sul vostro computer. Non c’è alcun server intermedio su cui i tuoi dati vengono copiati.
Crittografia: Tutta la comunicazione è assicurata tramite TLS.
Autenticazione: Ogni nodo è identificato da un valido certificato di crittografia. Solo i nodi che si sono esplicitamente autorizzati possono connettersi al cluster.
Open-source: Chiunque può esaminare il codice e risolvere qualsiasi problema di bug o di sicurezza.

L’altra cosa buona di Syncthing è che non devi preoccuparti dello spazio di archiviazione. La maggior parte dei fornitori di “storage online” si limitano a una quantità fissa di spazio di archiviazione. Per Syncthing, sei limitato solo dallo spazio di archiviazione del tuo PC !

Personal Cloud Storage

cloud_syncHosting Personale

Oggi giorno tutti ci vogliamo affidare ai Mega Brand dell’informatica per gestire i nostri dati importanti. Spesso pero’ non ci rendiamo conto che questo significa che diamo in gestione importanti pezzi della nostra vita ad aziende che se ne prenderanno cura fino al giorno in cui questo dara’ loro un profitto. E’ il caso, ad esempio, di Ubuntu One che ha annunciato a tutti i suoi utenti che il 31 Luglio 2014 il servizio sarebbe stato chiuso e che da quel giorno nessuno sarebbe piu’ potuto entrare nella propria area per recuperare i propri dati. Quindi il consiglio e’ quello di usare ovviamente i servizi Web esterni ma di avere pur sempre un proprio backup casalingo, magari sincronizzandoli.

Proveremo ad analizzare i seguenti servizi : OwnCloud , SeaFile , BitTorrentSync

Tutti questi servizi non funzionano come le tradizionali applicazioni desktop.


* OwnCloud
La procedura d’installazione e’ minimale e possiede un file manager davvero ottimale, in grado di gestire i documenti nei formati piu’ diffusi. Offre anche un comodo set di applicazioni che rende OwnCloud davvero completo ed in termini di sicurezza si rimane soddisfatti dalla crittografia di base e dal controllo della versione dei file. L’applicazione per la gestione del versioning ci mette al riparo dal saturare lo spazio a disposizione, eliminando automaticamente le vecchie versioni dei files.
OwnCloud permette anche di utilizzare servizi Cloud esterni , come Google Drive, Amazon S3, Dropbox, e OpenStack Swift ed e’ capace di gestire i dati senza soluzione di continuita’ con il vostro Cloud privato. Supporta i protocolli CalDAV e CardDAV per la sincronizzazione dei calendari e delle rubriche.

Seguendo però le istruzioni date sul sito potremmo non riuscire a configurare il programma a causa di problemi con alcuni pacchetti.

Installiamo quindi le dipendenze mancanti di cui necessitiamo con i seguenti comandi:

sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
sudo apt-get install php5-common php-xml-parser
sudo apt-get install sqlite

A questo punto andiamo sul sito ufficiale di ownCLOUD e scarichiamo l’ultima release disponibile (attualmente la 7.0.0) e scompattiamola:

wget https://download.owncloud.org/community/owncloud-7.0.0.tar.bz2
tar -xjf owncloud-7.0.0.tar.bz2

Creiamo una cartella sul nostro server web dedicata a ownCLOUD con il comando mkdir e copiamoci il contenuto di owncloud:

sudo mkdir /var/www/owncloud
sudo cp -r owncloud/* /var/www/owncloud
sudo chown -R www-data:www-data /var/www/owncloud

In questo modo abbiamo anche provveduto a dare i permessi di scrittura alla cartella del programma. Spesso non serve ma un bel riavvio del server apache fa sempre bene:

sudo service apache2 restart

A questo punto, con un browser, puntiamo su http://localhost/owncloud (sostituire localhost con l’indirizzo IP del server se si accede da un altro PC in rete). Se l’installazione è andata a buon fine troveremo la finestra di configurazione dell’account di amministratore: date un nome utente e una password all’amministratore di sistema di owncloud e cliccare su termina configurazione.

A questo punto possiamo iniziare ad operare via web oppure, in alternativa, con gli strumenti client che vengono messi a disposizione per tutte le piattaforme (android compreso).

Buon lavoro tra le nuvole…


* SeaFile
Questo servizio di Storage ha un processo d’installazione lineare e chiaro basato su script, che utilizza vari componenti operanti su diverse porte. Quando si verifica un problema, tuttavia, diventa complesso identificarlo. L’interfaccia Web, inoltre, e’ un tantino dispersiva ma SeaFile e’ un Cloud server dalle grandi possibilità.

## Installiamolo sul nostro computer!

Prima di tutto prepariamo il nostro Ubuntu installando le dipendenze di terze parti necessarie al perfetto funzionamento:

sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3

A questo punto scarichiamo dal sito del produttore la componente server di Seafile a 32bit o 64bit a seconda delle nostre esigenze. Salviamola nella nostra home directory.

Ora da una finestra del terminale digitiamo i seguenti comandi partendo dalla nostra home directory:

mkdir seafile
mv seafile-server-* seafile
cd seafile
tar zxvf seafile-server-*
mkdir installato
mv seafile-server-* installato

Ora eseguiamo la configurazione del programma digitando i seguenti comandi sempre nella solita finestra terminale:

cd seafile-server-*
./setup-seafile.sh

 

Rispondiamo alle domande che ci verranno poste a seconda della nostra configurazione: diamo un nome a piacere (senza spazi), l’indirizzo IP (privato della rete interna, pubblico se si vuole raggiungere il server dall’esterno o il nome host se tale indirizzo ip è associato ad un dominio) e per il resto diamo invio confermando i dati che vengono proposti in modo predefinito.

Al termine delle operazioni verrà chiesto anche un indirizzo e-mail ed una password per l’amministratore di seafile. Confermati tutti i dati inseriti possiamo provare ad attivare il server con i comandi:

./seafile.sh  start
./seahub.sh start

Se non vengono riscontrati errori sarà possibile raggiungere il proprio server seafile da http://indirizzo:8000 e loggarci con il proprio indirizzo e-mail e relativa password scelta al momento dell’installazione.

L’utente admin potrà aggiungere altri utenti, creare gruppi e fare tutta una serie di operazioni tramite la comoda interfaccia web.

Al server ci possiamo collegare anche da terminali mobili (esistono clients per Android e iOS) dando come indirizzo il proprio ip o il nome a dominio seguiti da “:8000″;

Nome utente e password sono sempre l’indirizzo e-mail e la relativa password scelta.

A questo punto non resta che automatizzare il caricamento all’avvio di ubuntu della parte server inserendo nel file /etc/rc.local le seguenti righe:

/bin/su -c “/home/nomeutente/seafile/seafile-server-versione/seafile.sh start &” nomeutente
/bin/su -c “/home/nomeutente/seafile/seafile-server-versione/seahub.sh start ” nomeutente

Naturalmente sostituendo i valori in neretto con quelli che sono appropriati per la propria installazione.

Divertitevi con Seafile!!


* BitTorrentSync
BitTorrent Inc., il nome dietro allo standard torrent che tanti usano per scaricare contenuti più o meno lecitamente, ha creato un’alternativa particolare agli altri sistemi di storage, proprio perché BitTorrent Sync non ha davvero nulla in comune con i servizi Cloud, anzi, si basa sul P2P per tenere i nostri file al sicuro senza mandarli a server sconosciuti.

Come funziona
Sync consente di conservare il controllo dei propri file; gli utenti sincronizzano i file tra i propri vari PC, e non si usa nessun server remoto per farlo. Non essendoci intermediari, non ci sono neppure limiti di alcun genere, neppure nella banda usata. BitTorrent Sync è molto più veloce della concorrenza.

Se vi serve condividere dei file, anche giganteschi, tra i vostri PC o con quelli di amici e parenti, è sufficiente scaricare l’app su ogni terminale. Sync è disponibile su Windows, OS X, Linux ed è persino accessibile ai NAS tramite un’interfaccia web. Sync usa lo standard di trasferimento BitTorrent, ma al contrario del solito, solo quelli che hanno la nostra chiave di accesso possono raggiungere le cartelle condivise.

Una volta installati i pacchetti sui vari PC non vi rimara’ altro che :

INIZIARE AD USARE BITTORRENT SYNC

  • Scegliere una cartella per la sincronizzazione e generate un secret, generando due chiavi, una di sola lettura e l\altra per l’accesso completo. Il secret è casuale ed unico, e funziona come una chiave che connette terminali multipli in un solo network
  • Sugli altri terminali deve essere scelta una cartella. Invece di generare un secret, inserite quello che avete creato nella prima
  • Mantenete acceso BitTorrent Sync fino al termine della sincronizzazione

Funzioni e feature

Le cartelle scelte per il sync possono essere gestite in qualsiasi momento dall’app oppure dall’interfaccia web.

  • Sync consente di scegliere quali file e cartelle desideriamo condividere, escludendo qualsiasi loro contenuto non vogliamo passare. Non conta il numero di cartelle, né la loro dimensione o quella dei file.
  • Sync consente la sincronizzazione a senso unico, ovvero possiamo selezionare un nostro file o cartella per l’invio, ma non permettere di sincronizzare nessuna modifica proveniente dal terminale a cui inviamo
  • Sync consente di creare un secret valido per una sola sincronizzazione, quindi non dovete lasciare le vostre “chiavi di casa” a nessuno

Il miglior servizio di condivisione di file con amici, parenti e colleghi.!