Skip to content →

Tag: WebApplis

Laverna, une application web de Notes

En cherchant une application pour auto-héberger mes notes et remplacer EverNote, j’ai été séduit par l’application Laverna.

Les fonctionnalités qui m’ont attirées sont les suivantes :

  • Gérer vos notes, même lorsque vous êtes déconnecté
  • Cryptage sécurisé côté client (AES)
  • Possibilité de synchroniser avec DropBox – ce que je ne ferais pas bien entendu 🙂
  • Boutons de contrôle WYSIWYG
  • Coloration syntaxique 
  • Raccourcis clavier

Pour une démonstration : https://laverna.cc/

Pour l’installation, il suffit de faire un git clone du repository dans un Virtual Host sécurisé : https://github.com/Laverna/laverna

Bref, une application web de plus auto-hébergée !

One Comment

Installation de mailpile et de RainLoop

Après recherche de solutions remplaçant un Roundcube pour mon webmail perso, je suis tombé sur plusieurs projets :

  • MailPile, un webmail python, en cours de développement
  • RainLoop, un webmail PHP/Ajax, qui semble plus fini

 

Installation de RainLoop

L’installation de RainLoop est assez simple :

cd /var/www/html/rainloop/
find . -type d -exec chmod 777 {} ;
find . -type f -exec chmod 666 {} ;
wget -qO- http://repository.rainloop.net/installer.php | php

Ensuite, il suffit de créer un vhost sur votre apache (ici en SSL sur myhost.beufa.net) :

<VirtualHost *:443>
        ServerAdmin postmaster@beufa.net
        ServerName  myhost.beufa.net
        DocumentRoot /var/www/html/rainloop
        SSLEngine on
        SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
        SSLProtocol all -SSLv2
        SSLStrictSNIVHostCheck on
        SSLOptions StrictRequire
        SSLCertificateFile      /etc/ssl/certs/myhost.cert
        SSLCertificateKeyFile   /etc/ssl/private/myhost.key
        #GnuTLSEnable on
        #GnuTLSPriorities SECURE:!ANON-DH:!MD5
        #GnuTLSCertificateFile cert.pem
        #GnuTLSKeyFile cert.pem
        #GnuTLSCertificateChainFile cert.pem
        #GnuTLSCACertificatePath /

        <Directory /var/www/html/rainloop>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        <Directory /var/www/html/rainloop/data>
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
        </Directory>

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        ErrorLog /var/log/httpd/myhost.beufa.net/error_log
        CustomLog /var/log/httpd/myhost.beufa.net/access_log combined

</VirtualHost>

Et vous obtiendrez alors le webmail après une configuration sur https://myhost.beufa.net/?admin (Le login / mot de passe par défaut est admin :: 12345, il faut donc le changer !)

Une version de démonstration est disponible ici : http://rainloop.net/try-now/

Installation de MailPile

MailPile est encore en développement, et honnêtement, ca a l’air loin d’être fini. Curieux, j’ai quand même gratter pour l’installer :

# Installation des dépendances (suivant votre système, ici en CentOS 6.5)
yum install python-imaging python-jinja2 python-lxml python-devel python-pip python-setuptools

# Clone git du repository github
cd /opt/
git clone https://github.com/pagekite/Mailpile.git 
cd Mailpile

# Installation des dépendances pip (upgrade de jinja2 pour éviter l'erreur sur les templates)
pip install -r requirements.txt
pip install jinja2 --upgrade

# Setup de Mailpile
./mp --setup

# On ajoute un compte et son dossier de stockage
./mp --set "profiles.0.email = mymail@beufa.net"
./mp --set "profiles.0.name = My Name FirstName"
./mp --add /opt/vmail/mymailhost.net/myname/  --rescan all

# On démarre le démon www
./mp --www

Le démon écoutant sur localhost et le port 33441, le plus simple est de créer un Reverse Proxy Apache pour le test :

<VirtualHost *:443>
        ServerAdmin postmaster@beufa.net
        ServerName  myhost.net
        #DocumentRoot /var/www/html/mailpile
        SSLEngine on
        SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
        SSLProtocol all -SSLv2
        SSLStrictSNIVHostCheck on
        SSLOptions StrictRequire
        SSLCertificateFile      /etc/ssl/certs/myhost.net.cert
        SSLCertificateKeyFile   /etc/ssl/private/myhost.net.key
        #GnuTLSEnable on
        #GnuTLSPriorities SECURE:!ANON-DH:!MD5
        #GnuTLSCertificateFile cert.pem
        #GnuTLSKeyFile cert.pem
        #GnuTLSCertificateChainFile cert.pem
        #GnuTLSCACertificatePath /

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass / http://localhost:33411/
        ProxyPassReverse / http://localhost:33411/

        <Location />
                Order allow,deny
                Allow from all
        </Location>
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        ErrorLog /var/log/httpd/myhost.net/error_log
        CustomLog /var/log/httpd/myhost.net/access_log combined

</VirtualHost>

Vous pouvez alors tester sur le vhost reverse proxy ainsi créé. Par contre, par encore de formulaire d’authentification, ce qui fait que votre mail est accessible “all around the world” ! Protégez l’interface à minima avec un htaccess ou une authentification basique dans le vhost.

En résumé

RainLoop semble un produit fini, mais il y a certaines choses manquantes :

  • Pas d’import possible des contacts
  • Fonctionnalités et configuration très très basiques
  • Gestion des threads de conversation limitée et pas forcément pratique
  • Pas d’affichage des headers mail comme sur Roundcube
  • Pas de vérification des sous dossiers IMAP

Pour MailPile, même si le projet est prometteur (Support OpenPGP, chiffrement des pièces jointes …), il manque encore :

  • Un formulaire d’authentification !!!
  • Une interface d’administration à minima comme sur RainLoop
  • La gestion des dossiers IMAP
  • Un produit fini et utilisable tout simplement.

Je vais suivre donc ce dernier plus spécifiquement, RainLoop me semblant agréable pour l’instant en plus de RoundCube, que je garde pour l’usage avancé (gestion des filtres Sieve/ManageSieve). La bonne nouvelle de ces 2 projets est qu’ils supportent tous les deux mon serveur Dovecot / Postfix avec SASL pour IMAPS et SMTP/STARTTLS.

Bref, deux produits intéressants à suivre !

2 Comments

Apache et Roundcube, sécurisation et obfuscation de version

Après installation d’un serveur de mail pour remplacer Google Apps sur mon domaine perso, j’ai trouvé que Roundcube était le seul webmail qui me plaisait à peu près.

Quelques tips et tricks sur la sécurisation de Apache / PHP et Roundcube, pas sur les serveurs Postfix / Dovecot, qui je l’espère, viendront ici alimenter le blog avec du fail2ban …

  • Configuration du vHost et sécurisation dossiers “sensibles”
<VirtualHost *:443>
        ServerAdmin postmaster@beufa.net
        ServerName  x.beufa.net
        DocumentRoot /var/www/x
        SSLEngine on
        SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
        SSLProtocol all -SSLv2
        SSLStrictSNIVHostCheck on
        SSLOptions StrictRequire
        SSLCertificateFile     cert.pem
        SSLCertificateKeyFile  cert.pem
        #GnuTLSEnable on 
        #GnuTLSPriorities SECURE:!ANON-DH:!MD5
        #GnuTLSCertificateFile cert.pem
        #GnuTLSKeyFile cert.pem
        #GnuTLSCertificateChainFile cert.pem
        #GnuTLSCACertificatePath /

        <Directory /var/www/roundcube>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        <Directory /var/www/roundcube/config>
                Options -FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/roundcube/temp>
                Options -FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/roundcube/logs>
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
        </Directory>

        <Directory /var/www/roundcube/plugins/enigma/home>
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
        </Directory>

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        ErrorLog ${APACHE_LOG_DIR}/05.x.beufa.net_error.log
        CustomLog ${APACHE_LOG_DIR}/05.x.beufa.net_access.log combined

</VirtualHost>
  • Supprimer les headers de mail PHP verbeux dans /etc/php5/apache2/php.ini
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header).  It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = Off
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
; Example for Roundcube : X-PHP-Originating-Script: 33:main.inc in each mail sent 
mail.add_x_header = Off
  • Avoir des logs Apache / PHP dans un fichier spécifique
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log = /var/log/mail.apache-php.log

Bientôt d’autres tips sur le couple Postfix / Dovecot / Roundcube !

Comments closed

Auto héberger son RSS Reader, part 2

Après vous avoir indiquer comment installer Tiny Tiny RSS pour auto héberger son ex futur Google Reader, voici quelques retours et aperçus.

Pour ce qui est de la home, rien de plus classique :

Tiny Tiny RSS HomePage
Tiny Tiny RSS HomePage

Mais ça remplit son rôle et ça fournit quelques options en plus de Google Reader (et en moins) :

  • ++ Quand on clique sur “marquer tous comme lus”, on passe directement à la catégorie suivante qui permet de lire en bloc des articles (j’avoue ne pas tout lire dans mes RSS, juste survoler les titres dans certaines catégories).
  • + La fenêtre qui s’affiche ouvre un volet de lecture façon Outlook qui n’est pas déplaisant. Cependant comme la majorité des RSS ne publient pas des flux de données entiers, il est irréaliste de pouvoir l’utiliser vraiment.
  • – L’affichage “Magic” marche beaucoup moins bien, les articles sont parfois désordonnés en terme de polling (i.e. des articles sont plus vieux, mais non lus, mais apparaissent plus tard dans le désordre, en fonction du polling php)
  • — En comparaison, j’ai l’impression que je perds certains flux, mais au moins je sais ceux qui ne marchent pas/plus (erreur 404 ou autre, l’appli propose directement de le supprimer ^^)

La version mobile est sympa aussi, mais pas pratique avec mes systèmes d’authentification à moi (authentification Basic Apache pour mon serveur web chez moi et monocompte Reader).

Tiny Tiny RSS Mobile Web
Tiny Tiny RSS Mobile Web

Une version Android est quand même plus pratique.

Tiny Tiny RSS Reader for Android
Tiny Tiny RSS Reader for Android

Perso j’apprécie cette application web et elle me parait aussi simple que d’utiliser mon Google Reader et chez moi.

J’ai quand même quelques soucis encore avec le polling des RSS, mais en se résolvant, ça devrait me permettre de gagner en confort et de supprimer les – et — affichés plus haut 😉

 

Comments closed

Auto-héberger son Reader RSS Web

Marre, marre de la nouvelle politique de confidentialité Google.

Du coup, je me suis dit, pourquoi ne pas héberger un Google Reader like sur mon serveur dédié, vu que refusant un compte G+, je ne peux même plus partager à mes “amis GMail” des articles sans passer par le mail, ce qui n’est pas très fun (surtout quand avant G+ cela fonctionnait très bien.

Figurer vous, que comme souvent sur le net, une bonne recherche sur Google :p m’a donné mon bonheur, il s’agit de Tiny Tiny RSS, aka tt-rss. Bonus : l’appli dispose d’une API et des applis existent déjà officielles sur l’Android Market (avec un ptit bonus sécurité puisque l’appli supporte l’authentification basic HTTP en plus de l’identification à l’API)

Tiny Tiny RSS Reader - Version Web
Tiny Tiny RSS Reader – Version Web

 

Pour l’installer, rien de bien compliqué, il vous suffit de le télécharger ici (http://tt-rss.org/download/),

Suivre ces instructions (http://blog.rom1v.com/2011/06/tiny-tiny-rss-auto-hebergement-des-flux-rss/).

Installer une base MySQL pour le stockage des flux :

mysql> CREATE DATABASE flux;
Query OK, 1 row affected (0,00 sec

mysql> GRANT ALL PRIVILEGES ON flux.* TO rss@localhost IDENTIFIED BY 'rssreader';
Query OK, 0 rows affected (0.04 sec)

mysql> USE flux
Database changed

mysql> . ttrss_schema_mysql.sql

Copiez le fichier config.php initial dist et configurer le pour votre DB nouvellement créée.

L’application vous permet ensuite de configurer vos flux, d’importer vos ou votre Google Reader en OPML, en mode multi-utilisateurs ou non

Une fois installé et configuré à votre sauce, vous pouvez installer tt-rss sur votre Android ou y accéder depuis votre URL /mobile pour les iPhone.

Un bon moyen de sortir de l’emprise de Google assez simplement finalement.

Je galère encore un peu à cette heure à finaliser mon install (dodo), mais il n’y a plus qu’à comprendre le fonctionnement du poller en PHP et ça sera parfait.

Les pages du projet pour la doc, super cool à utiliser en Redmine :

http://tt-rss.org/redmine/

 

 

 

One Comment
en_USEN