Unnikked - Esperienze personali in campo informatico

Poche una alternativa self hosted a Pocket

Mentre navighiamo su Internet sicuramente ci sarà capitato di non poter leggere al volo un articolo interessante per mancanza di tempo. Applicazioni web come Pocket soddisfano questa necessità, riuscendo a portare anche l’esperienza di poter leggere in un secondo momento i link salvati su un dispositivo mobile. Caratteristica peculiare di questo servizio è quello di salvare letteralmente il contenuto del link estrapolando solo il contenuto principale.

Poche nella sua semplicità riesce a svolgere questo compito. Non solo, questa applicazione è completamente open source!

Installazione

Prima di installare Poche assicuriamoci di aver installato l’estensione php5-sqlite:

apt-get install php5-sqlite

E riavviamo apache con:

service apache2 restart

Scarichiamo l’ultima versione di Poche tramite wget nella cartella /var/www:

wget http://r.cdetc.fr/latest-poche

Estraiamolo con:

unzip latest-poche

Rinominiamo la cartella per semplicità:

mv poche-1.3.0/ poche/

Assegniamo l’utente www-data alla cartella poche/:

chown -R www-data:www-data poche/

Ora entriamo nella cartella e procediamo con l’installazione

cd poche/

Installazione in ambiente shared

Poiché per l’installazione Poche fa uso di Composer per la risoluzione delle dipendenze, in un ambiente shared, come Hostinger, è possibile installarlo scaricando questo pacchetto estraendolo nella cartella principale di Poche.

Installazione tramite Composer

Per l’installazione tramite Composer, scarichiamo Composer nella cartella principale di Poche:

curl -s http://getcomposer.org/installer | php

E lanciamo l’installazione con:

php composer.phar install

Rinominiamo ora il file di configurazione:

cp inc/poche/config.inc.php.new inc/poche/config.inc.php

Nella variabile SALT Poche richiede una stringa robusta, generiamola con:

salt=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c20;`

e inseriamola nel file config.inc.php tramite sed:

sed "s/define ('SALT', '');/define ('SALT', '$salt');/" inc/poche/config.inc.php -i

Configurazione del database

Poche può essere utilizzato con un database sqlite, MySQL o postgresql.

Per utilizzarlo con sqlite basta che si copia il database dalla cartella install/ in db/:

cp install/poche.sqlite db/

e proseguire con la finalizzazione dell’installazione.

Per proteggere il proprio database sqlite è possibile usare questo snippet per la sua protezione, creiamo un file .htaccess nella cartella principale di Poche e inseriamo il seguente codice:

Options -Indexes
<Files ~ ".sqlite$">
    Order allow,deny
    Deny from all
</Files>

Per chi usa nginx la configurazione da utilizzare è:

location ~ /(db) {
    deny all;
    return 404;
}

Se invece si vuole utilizzare MySQL o postgresql basta importare il file del database, per prima cosa creiamo un database per Poche, effettuiamo l’accesso alla console MySQL con:

mysql -u root -p

E creiamo il database con:

mysql> CREATE DATABASE poche;

Usciamo con exit e importiamo il database con:

mysql -u root -p poche < install/mysql.sql

Successivamente modifichiamo i seguenti parametri del file config.inc.php con le credenziali del database:

# only for postgres & mysql
define ('STORAGE_SERVER', 'localhost');
define ('STORAGE_DB', 'poche');
define ('STORAGE_USER', 'poche');
define ('STORAGE_PASSWORD', 'poche');

riassegniamo i www-data:www-data ai file generati da composer:

chown -R www-data:www-data *

Ed eliminiamo la cartella /install:

rm -r install/

Collegandoci su http://indirizzoip/poche otterremo la pagina di installazione di Poche

Poche - Installazione

Compilando il modulo creeremo l’account principale per gestire Poche, una volta “registrati” otterremo nella pagina principale dell’applicazione

Poche - Dashboard

Caratteristiche

Home

La pagina principale mostra gli ultimi link inseriti nel database.

Favorites

Questa sezione mostra i link che sono stati marcati come preferiti tramite il simbolo stella (☆).

Archive

L’archivio mostra tutti i link che sono stati marcati come letti tramite il simbolo

Tags

La sezione tags mostra l’elenco dei tags utilizzati per ordinare la propria collezione di link.

Config

Nella sezione config troviamo vari link per poter scaricare estensioni per aggiungere facilmente link alla propria installazione di Poche per Firefox, Chrome, Android, Windows Phone e un bookmark da utilizzare con un browser qualsiasi.

Inoltre è presente un form con cui è possibile inserire link nel database direttamente dall’applicazione.

E’ possibile anche generare un token per la generazione di feed rss per i tag creati, funzionalità che la trovo molto utile per la condivisione dei propri salvataggi in rete, oppure utilizzarli insieme a If This Then That per creare le ricette più curiose e simpatiche.

Importazioni dei link

Sempre nella sezione config è possibile importare link da servizi esterni come Pocket, Instapaper e Readability.

Per importare per esempio i link salvati su Pocket, effettuiamo l’accesso al servizio e esportiamo i dati nella sezione export delle impostazioni.

Successivamente carichiamo il file dentro la cartella principale di Poche e clicchiamo sul link di importazione.

Conclusione

Personalmente trovo questo progetto open source interessante e l’applicazione nella sua semplicità funzionale, la mancanza di un motore di ricerca interno come Pocket si fa sentire ma l’uso dei tag semplifica molto l’organizzazione dei propri link.

Come sempre consiglio di configurare un certificato SSL self signed per proteggere la connessione tra l’applicazione e il proprio browser.