Planet Libre

Pierre-Alain Bandinelli : ownCloud 9 : activer le cache APCu pour améliorer (un peu) les performances

Pour améliorer les performances d'ownCloud, il est très facile d'activer un memcache facilement en quelques actions seulement :

  • on installe le paquet php5-apcu avec la commande (sous Debian, sinon il faudra adapter le gestionnaire de paquet et le nom du paquet) :
apt install php5-apcu
  • on redémarre Apache :
service apache2 restart
  • on ajoute alors cette ligne dans le ficheir de configuration d'ownCloud :
'memcache.local' => '\\OC\\Memcache\\APCu',

Et le tour est joué !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : ownCloud 8.2.2 à ownCloud 9.0 : attention aux applications tierces

La version 9.0 d'ownCloud a été annoncée il y a quelques semaines.

La base

La migration de 8.2.2 vers 9.0 réalisée de manière manuelle se passe très bien pour les applications de base :

  • on fait une sauvegarde de la base de données ownCloud et de l'applicatif 8.2.2
  • on télécharge la dernière version et on la déploie sur l'hébergement
  • on recopie le fichier config.php de l'ancienne version vers la nouvelle version
  • on lance la commande suivante pour mettre à jour la base de données :
sudo -u www-data php occ upgrade

Un seul comportement erroné sur mes installations : le message d'erreur "There were problems with the code integrity check. More information…" s'affiche à cause d'un fichier .htaccess modifié. Il semble que la version 9.0.1 qui doit arriver bientôt corrige ce comportement toutefois non bloquant !

Les applications tierces

En revanche, pour les applications tierces, c'est un peu plus compliqué !

L'application Passwords fonctionne bien à condition d'en télécharger la dernière version : https://apps.owncloud.com/content/show.php/Passwords?content=170480.

Pour Rainloop, il est nécessaire de modifier le fichier owncloud/apps/rainloop/lib/RainLoopHelper.php comme décrit ici : https://github.com/RainLoop/rainloop-webmail/issues/975.

Calendar-plus, Contacts-plus et Tasks-plus ne sont pour le moment pas données pour fonctionner su oC 9. Et il est probable qu'elles ne soient jamais portées pour fonctionner sur oC 9 quand on lit les commentaires ici... méfiance donc !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

wilfried caruel : Présentation de Viewnior Le logiciel libre

Présentation Viewnior

Je vais vous présenter un logiciel pour visualiser vos images sous votre poste sous « Linux ».
Ce logiciel s’appelle « Viewnior ».

Ce logiciel est disponible par défaut sous l’environnement de bureau « XFCE » mais est utilisable quel que soit votre « DE »,

Ce logiciel permet de visualiser les formats suivant :

  • JPG
  • PNG
  • BMP
  • etc

Parmi les fonctionnalités du logiciel il y a :

    • Le zoom
    • La rotation
    • Le miroir
    • Découper
    • Diaporamas
    • etc

Le logiciel est disponible sous la licence « GPLv3 ».

Les fonctionnalités :
  • Fullscreen & Slideshow
  • Rotate, flip, crop, save, delete images
  • Animation support
  • Browse only selected images
  • Navigation window
  • Set image as wallpaper
  • EXIF and IPTC metadata
  • Simple interface
  • Configurable mouse action
  • etc

Cette visionneuse d’image nous a été développée par « Siyan Panayotov ».

La vidéo

Mon avis :

Je ne  suis pas trop photo, ou image j’utilise plus ce genre de logiciel pour ce blog.
donc j’ai des besoins « Basic » donc ce n’est que mon avis et cela comme pour tous les articles du blog n’appartient qu’à moi.
J’aime bien ce logiciel, même si je le trouve trop austère (je ne connais pas d’autre logiciel plus intéressant ou plus beau (en opensource).
Je n’utilise rien de spéciale, juste la visionneuse, aucune option (rotation, miroir etc).
Je ne vous le recommanderais pas, je vous informe juste de cette possibilité car si j’aime bien ce logiciel, s’il peut suffire à la plupart des personnes, il doit bien y avoir d’autres logiciels de ce genre.

Et vous quel logiciel « visionneuse d’image utilisez- vous ?

Installation :

Archlinux

su pacman -S viewnior

Fedora

yum install viewnior

Debian

sudo apt-get install viewnior Liens

Site officiel
Téléchargement

Gravatar de wilfried caruel
Original post of wilfried caruel.Votez pour ce billet sur Planet Libre.

Articles similaires

elementary OS : Plank fait un saut en version 0.11

Plank vient de recevoir une mise à jour et passe maintenant de la version 0.10 à la version 0.11.

Plank 0.11 ne fonctionne pas sur elementary OS freya

Cette version n’est pas prévue pour tourner sur elementary OS Freya, ne tentez pas de l’installer : certains packages nécessaires sous Freya seront remplacés en passant par cette version.

Depuis ma machine actuelle, on voit que malgré la mise à jour des paquets, aucune version n’est disponible pour installation

nikos@nikos-freya:~$ sudo apt-cache policy plank plank: Installé : 0.10.1-0elementary1~ubuntu14.04.2 Candidat : 0.10.1-0elementary1~ubuntu14.04.2 Table de version : *** 0.10.1-0elementary1~ubuntu14.04.2 0 500 http://ppa.launchpad.net/elementary-os/stable/ubuntu/ trusty/main amd64 Packages 100 /var/lib/dpkg/status

 

Après quelques recherches, ce package peut-être mis à jour sur des versions d’Ubuntu type Xenial voir sur la future version d’elementary OS Loki :

nikos@nikos-virtual-OS:~$ sudo apt-cache policy plank plank: Installé : 0.11.0-0ubuntu1 Candidat : 0.11.0-1elementary1~ubuntu0.4.1 Table de version : 0.11.0-1elementary1~ubuntu0.4.1 500 500 http://ppa.launchpad.net/elementary-os/daily/ubuntu xenial/main amd64 Packages *** 0.11.0-0ubuntu1 500 500 http://fr.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

 

Chaque version dispose de son propre nom de développement, la version 0.10 se nommait « Bartonschmeer » et cette nouvelle release se voit attribuée du nom de code « Eddy » (NDLR : Est-ce que Rico Tzschichholz serait fan de la série animée Ed, Edd et Eddy ?).

Plusieurs fonctionnalités ont fait leur apparition dans cette version 0.11, les plus visibles sont le support des docklets, ce sont des petites applications et fonctionnalités permettant d’étendre les possibilités de Plank, voici ceux actuellement disponibles :

  • Clippy, pour la gestion du clipboard
  • Clock, pour afficher l’horloge
  • Desktop, pour masquer/afficher les différentes fenêtres de votre bureau
  • Trash, vous permettra d’accéder directement au contenu de votre corbeille.

Plank intégre la gestion des docklets

 

Le zoom de survol des éléments du dock est maintenant intégré à cette version :

Plank supporte le zoom sur les dockitems

Cette version comporte les améliorations et corrections suivantes (issues du README) :

0.11.0 « Eddy » (2016-03-12) :

  • Utilisation d’une transition d’entrée/sortie non linéaire lors d’un état de zoom
  • Les docklets sont maintenant supportés (Clippy, Horloge, Bureau, Corbeille) (LP: #731915)
  • La configuration du dock est maintenant sauvgeardée via GSettings (Les thèmes et les fichiers dockitem restent à leurs emplacements) (LP: #994007)
  • Consolidation de l’API publique (casse certains anciens thèmes et fichiers dockitem, ceux-ci seront convertis si cela est possible)
  • Ajout d’une option « CascadeHide » pour les thèmes.
  • Ne prend pas en compte les données d’entrées et les annules si DragItem a pour valeur null (LP: #1517897)
  • Ajout du support des runtime gtk+ 3.19.1+ (LP: #1523208)
  • Affiche les bulles d’aide pour les actions de type external-dnd (LP: #1512998)
  • Mise à jour du format de appdata vers 0.6+
  • Masque le message « Garder sur le Dock » lorsque LockItems est actif (LP: #1530963)
  • N’applique pas deux fois window-scale-factor sur foreground-icon-size
  • Lors de la mise à jour d’un élément présent sur le dock (mise à jour d’un statut de l’application trop rapide par exemple), le rafraichissement du dock se fera moins rapidement (LP: #1514201)
  • Mise à disposition de l’API pour supporter les clients DBus LauncherEntry
  • Etend le dock lors d’un drag and drop d’un fichier desktop (LP: #1007058)
  • Retrait du support de gee-1.0, gee-0.8 est obligatoire
  • Requiert glib >= 2.40 et gtk+ >= 3.10
  • Lors de la mise à jour d’une application, le raccourci de celle-ci n’est pas retirée. (LP: #1522917)
  • Ajout d’un mode « experimental » pour supporter le multi-dock
  • Suit le paramètrage de l’environnement pour afficher les notifications (LP: #1523266)
  • La fonction SurfaceCache peut être réduite si le temps de recréation de l’affichage est beaucoup trop important (LP: #1502429)
  • Ajout du paramétrage TooltipsEnabled (LP: #1553246)
  • Les périphériques de type Touchpad sont maintenant capable de faire pression sur une barrière aussi.
  • Quelques modifications sur les thèmes par défaut
  • Mise à jour des traductions

Le billet Plank fait un saut en version 0.11 a été publié sur le site de la elementary OS -

Gravatar de elementary OS
Original post of elementary OS.Votez pour ce billet sur Planet Libre.

Articles similaires

Goffi : Configuration avancée du conteneur Libervia

Cet article fait suite à l'article de la semaine dernière indiquant comment installer Libervia en moins de 10 min. Nous allons voir aujourd'hui comment utiliser un certificat TLS existant, intégrer le conteneur dans une configuration Apache, ou lancer automatiquement le service au démarrage de la machine.

Utiliser votre certificat TLS existant

Au premier lancement des conteneurs, un certificat auto-signé est automatiquement créé pour pouvoir utiliser Prosody ou le serveur HTTPS de Libervia. Ce genre de certificat est très bien pour du test, mais d'une part provoquera un avertissement dans les navigateurs, et d'autre part son authenticité n'est assurée par aucun organisme (les certificats TLS sont signés par des organismes que votre navigateur et/ou système connaissent, ce qui permet de les valider – principe qui n'est pas idéal, mais c'est un autre sujet –).

Pour utiliser votre propre certificat plutôt que celui généré par les conteneurs, il faut utiliser la variable d’environnement SAT_CONT_TLS_DIR avec un chemin absolu vers vos certificats.

Il faut qu'à l'intérieur de ce dossier se trouvent les fichiers « libervia.key » pour votre clef privée, et « libervia.crt » pour votre certificat public. Ces noms de fichiers sont fixés car déjà configurés dans Libervia et Prosody, si vous voulez les changer il faudra changer les 2 configurations à l'aide de ./libervia_cont.sh config et ./libervia_cont.sh config prosody, comme indiqué dans le dernier article.

Au niveau des permissions des certificats, vous pouvez les laisser accessibles uniquement au « group ID » 9999 qui correspond au groupe « tls-cert » sur les conteneurs.

Let's Encrypt

Comme Let's Encrypt est (à juste titre) à la mode, voyons voir de plus près ce cas particulier.

Le but ici est de ne pas avoir à changer la configuration à chaque renouvellement, qui ont lieu au plus tard tous les 3 mois. Let's Encrypt met ses certificats (par défaut, adaptez au besoin) dans /etc/letsencrypt/archive/, mais les noms de fichiers changent à chaque renouvellement, et met un lien symbolique vers les certificats en cours dans /etc/letsencrypt/live/.
Vous ne pouvez pas utiliser directement /etc/letsencrypt/live/ car vous auriez des liens symboliques pointant dans le vide, il va falloir monter le dossier archive également.

La variable d'environement SAT_CONT_DK_EXTRA permet de spécifier des paramètres pour la commande « docker run » qui seront utilisés pour tous les conteneurs (sauf sat_data). Nous allons l'utiliser pour monter toute l'arborescence letsencrypt, comme suit :

export SAT_CONT_DK_EXTRA="-v /etc/letsencrypt:/etc/letsencrypt"

Il va falloir éditer les configurations de Libervia et Prosody pour pointer vers les bons fichiers.
Pour Libervia, utilisez ./libervia_cont.sh config puis spécifiez dans la section [libervia] :

[libervia] tls_private_key = /etc/letsencrypt/live//privkey.pem tls_certificate = /etc/letsencrypt/live//cert.pem tls_chain = /etc/letsencrypt/live//chain.pem

N'oubliez pas l'option tls_chain qui permet de spécifier la chaîne de validation.

Pour prosody, c'est ./libervia_cont.sh config prosody qu'il faut utiliser, vous devez avoir modifié votre option ssl pour qu'elle ressemble à :

ssl = { key = "/etc/letsencrypt/live//privkey.pem"; certificate = "/etc/letsencrypt/live//fullchain.pem"; }

dans les 2 cas il faut bien évidemment remplacer par votre nom de domaine tel qu'il apparaît dans /etc/letsencrypt/live. Assurez vous aussi que les permissions sont correctes, vous verrez si Prosody ou Libervia n'arrivent pas à lire les fichiers à l'aide de docker logs -f prosody et docker logs -f libervia respectivement.

Intégration à un serveur Apache

Si vous avez déjà un serveur Apache qui tourne, vous préfèrez sans doute intégrer Libervia à la configuration existante plutôt que sur un port séparé.

Pour cela nous allons utiliser un « proxy inverse » (reverse proxy) qui va rediriger une adresse de votre domaine sur le serveur de Libervia.

Si vous avez une configuration HTTPS, elle sera gérée par Apache lui-même, donc commençons par désactiver le serveur HTTPS de Libervia, et par supprimer le message d'avertissement en cas de connexion HTTP. Éditez sat.conf à l'aide de ./libervia_cont.sh config, et mettez ceci dans la section [libervia] :

[libervia] connection_type = http security_warning = 0

Désormais seul le port HTTP sera disponible.

Maintenant, nous allons configurer apache pour qu'il redirige les URL correspondant à votre instance de Libervia vers le serveur. Dans le répertoire /etc/apache2/mods-available/ créez un fichier libervia.conf qui ressemble à peu près à ça :

ServerName www. ServerAlias libervia. ServerAdmin webmaster@votre-server.tld ErrorLog /var/log/apache2/libervia-error.log CustomLog /var/log/apache2/libervia-access.log ProxyPass / http://127.0.0.1:8080/ nocanon ProxyPassReverse / 127.0.0.1 AllowEncodedSlashes On RequestHeader set X-Forwarded-Proto "http" Require all granted

Il faut bien entendu remplacer par votre nom de domaine, adapter SeverName et ServerAlias à ce que vous souhaitez utiliser, ainsi que les ports pour qu'ils correspondent à ceux que vous utilisez en pratique (si vous avez tout laissé par défaut, les ports indiqués sont valables).

Quelques explications sur la configuration : Passons sur les premières lignes et VirtualHost qui sont des classiques de configuration Apache, vous trouverez les informations nécessaires facilement sur le web au besoin. Les directives qui nous intéressent ici sont à partir de ProxyPass.

  • ProxyPass indique à Apache de rediriger les connexions sur le serveur local au port 8080, soit l'instance en cours de Libervia. Notez bien le « nocanon » qui est très important, il indique à Apache de ne pas utiliser des adresses canoniques, soit en d'autres terme de ne pas modifier les URLs envoyées à Libervia.
  • ProxyPassReverse concerne les redirections
  • AllowEncodedSlashes est nécessaire pour accepter les URLs contenant des « / » (%2F), qui sont utilisées dans Libervia.
  • RequestHeader permet d'ajouter l'en-tête « X-Forwarded-Proto » indiquant à Libervia le protocol utilisé au niveau du proxy

Quand un proxy est utilisé, l'adresse utilisée « vue » de l'extérieur (http(s)://www./[…]) n'est pas la même que celle utilisée pour accéder par Libervia, qui est ici http://127.0.0.1:8080. Or Libervia a besoin de connaître cette adresse pour construire des chemins absolus vers les documents, par exemple dans le flux Atom.
Normalement, ceci est fait automatiquement et vous n'avez besoin de toucher à rien pour que Libervia utilise les bonnes URL ; mais si jamais les URL produites n'étaient pas correctes, vous pourriez utiliser l'option « base_url_ext » pour forcer l'utilisation de la base indiquée. Ainsi pour forcer l'utilisation de http://www.goffi.org, je peux indiquer ceci dans ma configuration Libervia :

base_url_ext = http://www.goffi.org

Ou même « //www.goffi.org » pour laisser Libervia gérer le schema (c.-à-d. le protocol : http ou https). Encore une fois tout ceci devrait être géré automatiquement (*), et il est très peu probable que vous ayez à utiliser cette option. Venez me contacter sur sat@chat.jabberfr.org pour plus d'explications si nécessaire.

Une fois la configuration faite, il vous suffit pour activer le proxy de demander à Apache de prendre en compte la nouvelle configuration. Nous allons également nous assurer que le mode proxy_http est activé, aussi nous allons utiliser les commandes suivantes (en root) :

# a2enmod headers # a2enmod proxy_http # a2ensite libervia.cont # systemctl reload apache2

(*) si vous avez téléchargé les images la dernière fois, ce comportement a été modifié depuis, c'est l'occasion de tester « ./libervia_cont.sh update ».

Utilisation d'un cache

Apache a des modules permettant la gestion d'un cache, qui permettra à la fois d'économiser les ressources, et de fournir la dernière page connue en cas d'indisponibilité du serveur (lors d'une maintenance par exemple). Dans le cas de Libervia, c'est principalement utile pour le blog statique.

Assurez-vous d'abord que le cache est activé à l'aide de :

# a2enmod cache_disk

qui activera à la fois les modules cache et cache_disk. Ensuite à l'intérieur de la configuration du VirtualHost que nous avons faites plus haut :

CacheEnable disk / CacheRoot "/var/cache/apache2/mod_cache_disk/libervia/" CacheDirLevels 3 CacheDirLength 5 CacheIgnoreHeaders Set-Cookie CacheMaxFileSize 200000000 CacheIgnoreNoLastMod On CacheDefaultExpire 300

Vous pourrez vous reporter à la documentation pour la plupart des directives utilisées ici, mais il est nécessaire d’en préciser quelques-unes :

  • CacheIgnoreHeaders Set-Cookie évitera de mettre en cache les cookies qui sont utilisés pour la session dynamique de Libervia, cette directive est essentielle pour la sécurité
  • CacheIgnoreNoLastMod On permet de mettre en cache des documents qui ne possèdent pas de date de dernière modification, ce qui est le cas actuellement des pages servies par Libervia
  • CacheDefaultExpire indique un cache qui expire après 10 min. Libervia ne gère pas (encore) les indications nécessaires à une gestion automatique du cache, aussi on indique ici la durée voulue. Le cache étant essentiellement utilisé pour le blog statique, j'ai mis 10 min pour qu'une mise à jour apparaîsse suffisament vite.

À moins d'avoir un site extrêmement populaire, il ne devrait pas y avoir de problème de performance pour le blog statique même sans cache, il est à mon sens surtout utile ici pour continuer à servir les pages pendant les maintenances.

Utilisation de tls

L'utilisation de TLS n'est pas plus compliquée que pour un autre site Apache.
Voici à quoi peut ressembler une configuration si vous activez le proxy, le chiffrement TLS, et un cache :

ServerName www. ServerAlias libervia. ServerAdmin webmaster@ LogFormat "h %l %u %t \\"%r\\" %>s %O \\"%{Referer}i\\" \\"%{User-Agent}i\\" %{cache-status}e" with_cache ErrorLog /var/log/apache2/libervia-error.log CustomLog /var/log/apache2/libervia-access.log with_cache ProxyPass / http://127.0.0.1:8080/ nocanon ProxyPassReverse / http://127.0.0.1:8080/ AllowEncodedSlashes On Require all granted SSLCertificateFile /etc/letsencrypt/live//cert.pem SSLCertificateKeyFile /etc/letsencrypt/live//privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateChainFile /etc/letsencrypt/live//chain.pem CacheEnable disk / CacheRoot "/var/cache/apache2/mod_cache_disk/libervia/" CacheDirLevels 3 CacheDirLength 5 CacheIgnoreHeaders Set-Cookie CacheMaxFileSize 200000000 CacheIgnoreNoLastMod On CacheDefaultExpire 300

Notez que le « RequestHeader set X-Forwarded-Proto » a désormais la valeur "https" ainsi que le « with_cache » dans les logs, ajoutant des informations utiles (est-ce que la page est servie par le cache ou Libervia ?).

Pour le reste, reportez-vous à la documentation Apache.

Démarrage automatique

Dernier point de cette partie sur la configuration avancée, nous allons voir comment lancer automatiquement notre instance de Libervia au démarrage de la machine. Nous allons pour cela utiliser SystemD qui est désormais le gestionnaire de démarrage par défaut de la plupart des distributions, donc probablement de la vôtre.
Il vous suffit d'utiliser une configuration similaire à la suivante, dans un fichier libervia.service à placer dans /etc/systemd/system :

[Unit] Description=Libervia (Salut à Toi) XMPP Docker service After=docker.service Requires=docker.service [Service] User=libervia Environment= \\ SAT_CONT_DOMAIN=votre_domain.tld \\ SAT_CONT_PORT_8080=8000 ExecStartPre=/home/goffi/dev/sat_docs/docker/libervia_cont.sh start -p ExecStart=/usr/bin/docker wait libervia ExecStop=/home/goffi/dev/sat_docs/docker/libervia_cont.sh stop [Install] WantedBy=multi-user.target

Ce fichier indique que le containeur doit attendre que Docker soit lancé. L'utilisateur ici est libervia, changez-le pour celui que vous avez ajouté au groupe « docker ».
Environment vous permet de configurer les options comme le port ou le nom de domaine utilisé, notez bien le "\\" en fin de ligne (dernier caractère avant le retour à la ligne, sans espace) qui indique de considérer la ligne suivante comme la suite de la commande.

Le serveur est en fait lancé avec la directive ExecStartPre, afin de pouvoir connaître sont état avec « docker wait ». C'est une petite astuce qui évite des complications, car les conteneurs sont lancés par le démon Docker et non le script lui-même.

À suivre…

Voilà pour cette seconde partie de la série sur l'installation d'un blog Libervia. Ce n'était pas la partie la plus amusante, mais vous n'avez a priori à faire cette configuration qu'une seule fois, et elle n'est pas si compliquée que cela.

La prochaine fois nous importerons un blog depuis Dotclear.

Gravatar de Goffi
Original post of Goffi.Votez pour ce billet sur Planet Libre.

genma : 17ème Journée du logiciel libre

Comme chaque année, l'Association Lyonnaise pour le Développement de l'informatique Libre (ALDIL) et ses partenaires : La Maison pour Tous et l'association ILLYSE organisent deux jours de rencontres sur l'informatique Libre.

Les 2 et 3 avril 2016 auront lieu la 17ème édition des Journées du Logiciel Libre (JDLL) à Lyon à la Maison Pour Tous – Salle des RANCY (3ème arrondissement).

Pour en savoir plus, il y la page Texte repris du site officiel, page Journées du logiciel libre - Présentation générale et le site http://www.jdll.org pour avoir le programme, les informations pratiques etc.

Le thème de cette année est : « Créativité, Citoyenneté, Diversité : Le logiciel libre, du code, mais pas que ! ».

Au cours des ceux jours, vous me trouvere à jongler entre les stands Mozilla, Café vie privée - Chiffrofête - Cryptoparty et Framasoft, à parler de mes sujets de prédilection, à rencontrer du monde voir, si je peux, à assister à quelques conférences (mais j'en doute).
Mais surtout, je donnerai une conférence d'une 40aine de minutes.

De l'importance de l'éducation populaire au numérique

Résumé

L'Informatique et Internet sont partout dans nos vies quotidiennes. Il me semble important que le grand public, tout à chacun soit à même de s'approprier les connaissances nécessaires et suffisantes pour comprendre ces outils qui changent les fondements mêmes de notre société, dans notre accès à l'information, aux connaissances, au partage, à la communication... Comment communiquer vers ce public, comment faire de l'éducation populaire au numérique ?

Détail

A travers son expérience acquise via des formations, des conférences et des ateliers destinés au grand public, des libristes, des journalistes ou à des geeks hackitvistes, et des mes différents activités dans le milieu associatif libriste (Framasoft, FirefoxOS, Café vie privée etc.) je souhaite montrer l'importance de la communication et de la vulgarisation pour que l'éducation populaire se fasse et pour que l'on cesse de faire de l'entre-soi, que l'on ne pense plus "RTFM". Ainsi chacun et chacune aura les moyens de s'approprier le numérique et de comprendre les enjeux (neutralité du net, importance de la vie privée, lutte contre les GAFAM etc.).

Le support de la conférence est déjà en ligne et disponible ici, il est succeptible encore d'évoluer. Sources en LaTEX/Beamer.

Conclusion

Ami-e-s Lyonnais et de la région, libristes ou non, je ne peux que vous inviter à venir aux JDLL et à communiquer autour de vous sur cet événement, qui a la vocation d'aller au-delà des sphères informaticiennes et libristes, en allant vers l'autre, en arrêtant de faire de l'entre-soi (la suite, ce sera lors lors de ma conférence :-)

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : Fail2ban pour protéger Samba de Locky

Face à la menace du "ransomware" Locky, j'ai décidé de protéger les données de mon serveur Samba à l'aide de Fail2ban. L'idée est simple : si des mouvements pouvant correspondre à une action de Locky sont détectés, alors l'IP à l'origine de l'action est bannie du serveur Samba.

Étape 1 : activer l'audit dans Samba

Samba dispose de puissantes fonctions d'audit qui permettent de garder trace de toutes les opérations sur un partage. Elles s'activent à l'aide des options full_audit dans le fichier /etc/samba/smb.conf. Attention toutefois à la volumétrie que cela peut représenter : si le serveur Samba est très sollicité, la taille des logs sera fort importante (surtout si l'on suit l'événement "open" qui est déclenché régulièrement lors de toute navigation sur le partage Samba) !

Plaçons donc le paramétrage suivante dans la section "Global" du fichier de configuration de Samba (/etc/samba/smb.conf par défaut) :

full_audit:priority = notice full_audit:facility = local5 full_audit:success = mkdir rmdir rename unlink open full_audit:failure = connect full_audit:prefix = %u|%I|%S

puis redémarrons Samba :

service samba restart

et voilà le fichier /var/log/samba/audit.log qui se remplit et recense tous les mouvements sur le serveur Samba. Une bonne rotation des logs sera nécessaire pour ne pas se faire piéger ! Attention également à la petite perte de performance que cette écriture régulière demandera.

Étape 2 : paramétrer le nouveau filtre d'exclusion pour Fail2ban

Nous allons demander à Fail2ban de bannir tout ordinateur qui effectuerait une opération sur fichier *.locky ou *.xxx sur le serveur. On crée le fichier /etc/fail2ban/filter.d/antilocky.conf suivant :

[Definition] failregex = \\|\\|NomDePartage\\|.*\\|ok\\|.*.locky \\|\\|NomDePartage\\|.*\\|ok\\|.*.xxx ignoreregex =

en remplaçant "NomDePartage" par le nom du partage Samba concerné.

Étape 3 : paramétrer une nouvelle prison dans Fail2ban

On paramètre comme il se doit Fail2ban dans /etc/fail2ban/jail.local en ajoutant notamment la section suivante :

[antilocky] enabled = true filter = antilocky backend = auto logpath = /var/log/samba/audit.log maxretry = 2 banaction = iptables-allports port = all

On peut alors redémarrer Fail2ban par :

service fail2ban restart

et vérifier dans les logs /var/log/fail2ban.log que la nouvelle prison se charge correctement.

Et voilà Fail2ban prêt à bannir tout ordinateur qui se connecterait au serveur Samba en manipulant des fichiers *.locky ou *.xxx. Evidemment il peut y avoir des faux positifs. Il est donc recommandé d'être vigilant et d'activer peut-être la notification par courriel des bannissements de ce type pour être en mesure de débannir dans le cas d'un faux positif et d'intervenir sur le poste infecté s'il s'avère qu'une réelle infection est en cours.

Étape 4 : limitations

La principale limitation est l'usage de l'extension de nom de fichier comme critère de signalement. Si des variantes du virus adoptent d'autres extensions (par exemple .pdf) alors il ne sera plus possible de détecter l'action frauduleuse de la sorte. On pourra éventuellement suivre le nombre d'opérations sur le partage Samba et alerter l'administrateur lorsque de trop nombreuses opérations de suppression sont en cours...

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Francois Aichelbaum : Lenovo T450 Wireless AC 7265 not working on Linux

Lately I discovered an issue with my WiFi adapter on my professional laptop (a Lenovo T450) : it was not working. Pretty inconvenient. After some digging, I tested and had to adapt part of things I found on Google.

So, to begging with, the symptoms :

  • no more wireless adapter in my NetworkManager or any other tools, including ifconfig
  • dmesg reports issues loading the iwlwifi firmware

The dmesg output looks like :

[ 4.237444] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-7265D-12.ucode failed with error -2 [ 4.237466] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-7265D-11.ucode failed with error -2 [ 4.237479] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-7265D-10.ucode failed with error -2 [ 4.237482] iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-7265D-10.ucode' failed. [ 4.237493] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-7265D-9.ucode failed with error -2 [ 4.237495] iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-7265D-9.ucode' failed. [ 4.237497] iwlwifi 0000:03:00.0: no suitable firmware found!

I tried to download the official firmware from Intel, namely iwlwifi-7265-ucode-25.30.14.0, with no luck. Though, I decided to keep the ucode files from this archive in my /lib/firmware/.

Note that, depending on your distro, this previous step might be enough. To check :

update-initramfs -u reboot

Then, further dig pointed some issues with the iwlwifi package not handling properly this version of the AC 7265. From lspci :

03:00.0 Network controller [0280]: Intel Corporation Wireless 7265 [8086:095b] (rev 59) Subsystem: Intel Corporation Dual Band Wireless-AC 7265 [8086:5210]

Here, the main points are the main ID 095b and the Subsystem ID 5210.

To solve this, let’s recompile the backport package of iwlwifi with a tiny difference (the sed line is to adapt with your IDs) :

sudo apt-get install build-essential linux-headers-$(uname -r) wget https://www.dropbox.com/s/gyuvdlhzx5ho277/backports-20150731.tar.gz tar -zxvf backports-20150731.tar.gz cd backports-20150731/ sed -i 's/IWL_PCI_DEVICE(0x095B, 0x9200, iwl7265_2ac_cfg)/IWL_PCI_DEVICE(0x095B, 0x5212, iwl7265_2ac_cfg)/' drivers/net/wireless/iwlwifi/pcie/drv.c  make defconfig-iwlwifi make sudo make install update-initramfs -u reboot

Now, if you check your dmesg, you’ll see :

[ 3.950804] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-7265D-15.ucode failed with error -2 [ 3.952513] audit: type=1400 audit(1458119598.627:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/sbin/dhclient" pid=657 comm="apparmor_parser" [ 3.952521] audit: type=1400 audit(1458119598.627:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=657 comm="apparmor_parser" [ 3.952525] audit: type=1400 audit(1458119598.627:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=657 comm="apparmor_parser" [ 3.953091] audit: type=1400 audit(1458119598.627:8): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=657 comm="apparmor_parser" [ 3.953100] audit: type=1400 audit(1458119598.627:9): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=657 comm="apparmor_parser" [ 3.953362] audit: type=1400 audit(1458119598.627:10): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=657 comm="apparmor_parser" [ 3.955605] iwlwifi 0000:03:00.0: loaded firmware version 25.30.14.0 op_mode iwlmvm [ 3.975336] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input7 [ 4.001495] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 7265, REV=0x210 [ 4.001843] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled [ 4.002290] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled

And, voilà, your wireless adapter is back online !

NB: you’ll have to redo these steps after every kernel update, except if the iwlwifi module got fixed.

The post Lenovo T450 Wireless AC 7265 not working on Linux appeared first on Here and Now ... Then and There.

Gravatar de Francois Aichelbaum
Original post of Francois Aichelbaum.Votez pour ce billet sur Planet Libre.

Articles similaires

Philippe Scoffoni : Simplifier vos recherches dans Dolibarr

Dans l’utilisation quotidienne d’un logiciel de gestion d’entreprise, la recherche d’informations occupe une place privilégiée dans le quotidien de l’utilisateur. Ce dernier doit en permanence, et souvent le plus rapidement possible, retrouver la dernière commande pour le client X qui vient d’appeler ou vérifier si une facture fournisseur a bien été réglée. Nous allons voir comment simplifier cette activité dans le logiciel libre Dolibarr.

Etat des lieux

Zone de recherche Dolibarr 3.8Que propose Dolibarr par défaut ? Regardons dans la version 3.8 les outils disponibles. Les plus accessibles sont des zones de recherche que l’on peut activer dans les paramètres d’affichage en fonction des modules que l’on utilise. C’est déjà un début.

Par contre si votre recherche porte sur un numéro de facture ou de commande, il vous faut d’abord aller sur la page du module concerné : Compta/Tréso ou Commercial selon le cas. Un ensemble de zones de recherche sont alors disponibles.

Zonne de recherche commercialVous avez ensuite la possibilité d’affiner vos recherches en utilisant les filtres disponibles dans les différentes « Listes ». D’une manière générale, c’est suffisant pour travailler, mais pas forcément idéal, car il faut enchaîner les clics et sélectionner les bons contextes. Peut-on faire mieux ?

Dolibarr 3.9

Cette version vient d’être officiellement publiée. Une des nouveautés de cette version est une nouvelle zone de recherche.

Recherche globale Dolibarr 3.9

Entités dans la zone de recherchComme vous pouvez le constater, elle est déjà idéalement positionnée et s’affiche en haut du menu latéral gauche toujours bien en vu. Deuxième point important, elle permet de rechercher dans bien plus d’entités qu’auparavant. Vous commencez à saisir quelques caractères et une liste déroulante s’affiche pour vous permettre de sélectionner l’entité sur laquelle vous souhaitez lancer la recherche.

Il ne vous reste plus qu’à valider par la touche « Entrée » pour lancer la recherche. Le résultat vous est affiché dans une liste. L’augmentation du périmètre de la recherche dans les entités et la profondeur au sein de ces entités permet de gagner pas mal de temps. Quand je parle de profondeur, il s’agit des informations associées à l’entité. Ainsi lorsque je sélectionne « Tiers », la recherche s’effectue sur les champs suivants du tiers : Nom du tiers, Nom alternatif, Code client, Code fournisseur, Email, URL, Numéro de TVA, Identifiant professionnel 1, Identifiant professionnel 2, Identifiant professionnel 3, Identifiant professionnel 4.

Bref, cette nouvelle recherche va bien optimiser l’usage de Dolibarr. Mais peut-on faire encore mieux ?

Modules complémentaires

J’en ai retenu deux :

Le premier de ces modules ajoute une zone de recherche dans le menu de droite appelée « Recherche globale ». Une fois la recherche lancée celle-ci affiche un tableau avec les différentes entités pour lesquelles la valeur a été trouvée.

Sélection_232Il vous suffit de cliquer sur l’information qui vous intéresse.

Recherche instantanéeL’approche proposée par le second module est différente. L’objectif est de vous proposer en « temps » réel une liste de résultats dans laquelle vous allez piocher celui qui vous intéresse. Une fois activée, une zone de recherche façon Dolibarr 3.9 s’affiche au sein du menu de gauche. Lorsque vous commencez à saisir les premiers caractères, le module fait immédiatement une recherche dans les entités pour vous proposer un résultat. Vous pouvez alors cliquer sur l’élément qui vous intéresse. Vous pouvez également afficher les résultats sur une page récapitulative comme le propose le module Recherche globale.

Personnellement, j’apprécie l’approche ergonomique proposée par le module Recherche avancé en temps réel. À noter que ce dernier présente quelques dysfonctionnements avec la version 3.8 que j’ai remontés au développeur avec les corrections à apporter.

Le module Recherche globale propose par contre une recherche plus étendue sur les entités Agenda, Projets et Tâches.

À noter que je n’ai pas pu faire fonctionner ces deux modules sur la version 3.9 de Dolibarr.

À vous de privilégier la solution qui répondra le mieux à votre besoin. J’aurais rêvé de la fusion des deux, mais qui sait cela viendra peut-être :-)

 

Réagir à cet article

Article original écrit par Philippe Scoffoni le 16/03/2016. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Gravatar de Philippe Scoffoni
Original post of Philippe Scoffoni.Votez pour ce billet sur Planet Libre.

Articles similaires

PostBlue : Debian Jessie sur un Kimsufi KS-2A

Petite marche à suivre à peu près généraliste pour configurer un serveur dédié Kimsufi.

Installation

Le schéma d’installation que j’ai utilisé diverge de celui par défaut pour Debian Jessie proposé par OVH.

Est configuré par défaut dans le template d’installation Debian 8.3 stable (Jessie) :

  • une large partition /home dans le schéma de partition par défaut :
    • une partition primaire / de 20Go ;
    • une partition primaire /home prenant l’espace restant, soit un peu moins de 980Go dans mon cas ;
    • une partition swap obligatoire de 512Mo ;
  • un noyau Linux « maison ».

Inconvénients pour un serveur web comme le mien :

  • j’utilise majoritairement les partitions /var (/var/www pour les sites en PHP, /var/lib pour le stockage de données des applications comme MariaDB, Prosody, etc.) et /srv (services divers balancés sur un port public)
  • avoir une partition /home séparée et prenant 98% de l’espace disque ne me sert à rien ;
  • le noyau maison n’est disponible dans aucun dépôt apt et doit être mis à jour à la main (wget), en allant le chercher depuis un serveur FTP, ce qui est rédhibitoire pour moi.

Donc, pour installer à ma façon :

  • template d’installation Debian 8.3 stable (Jessie) ;
  • cocher l’utilisation du noyau de la distribution à la place du noyau ;
  • éditer le schéma de partitionnement pour supprimer la place indue que prendrait /home et maximiser l’espace de la racine /.
Considérations d’installation
  • une partition /boot séparée de / ;
  • un partitionnement du disque (/var, /src) plus fin, en essayant de prévoir la place que prendraient ces partitions ;
  • utiliser le noyau avec les patchs de sécurité grsecurity, à l’instar du noyau OVH qui les intègre ;
  • ne pas activer de compte root mais directement un utilisateur appartenant au groupe sudo pour ne pas avoir à le désactiver par la suite.
Première connexion

Après l’installation de la distribution, OVH envoie un mail contenant le code du compte root permettant de se connecter au serveur. On va donc s’y connecter en forçant la demande de mot de passe (puisqu’il n’y a pas encore de clé SSH forgée est installée).

ssh root@ip.du.serveur -o PreferredAuthentications=password

Une fois connecté, je conseille de changer au plus vite le mot de passe du compte root :

passwd

Entrez le mot de passe actuel une première fois, puis entrez-en un nouveau par deux fois. Voilà, il ne devrait plus exister de copie de votre mot de passe root.

Pour désactiver complètement le login du compte root (après avoir créé un nouvel utilisateur appartenant au groupe sudo) :

sudo passwd -dl root

Pour continuer, mettre à jour des dépôts.

apt update systemd

Utiliser les différents services de systemd renvoie l’erreur suivante :

Failed to create bus connection

Pour corriger, il suffit d’installer le paquet dbus manquant.

apt install dbus NTP

Maintenant que systemd est réparé, on peut l’utiliser comme service de synchronisation du temps de la machine au lieu d’installer un second paquet pour NTP.

timedatectl set-ntp 1 Hostname

Le nom d’hôte (hostname) inscrit dans le fichier /etc/hostname est un nom de domaine hostname.ip-x-y-z.eu. Pour n’avoir que le nom court :

hostnamectl set-hostname $(hostname -a)

Puis éditer /etc/hosts pour remplacer hostname.ip-x-y-z.eu avec hostname.sondomaine.tld tel que défini dans sa zone DNS (sinon, le faire, j’utilise celle de Gandi).

Pour plus d’informations sur le renommage de la machine, voir le Debian Wiki HowTo/ChangeHostname.

Firewall et Fail2ban

Pas envie de m’emmerder à maintenir un pare-feu complexe, je teste UFW (Uncomplicated Firewall).

apt install ufw ufw allow SSH # ouvre le port 22 ufw allow ’Nginx Full’ # ouvre les ports 80 et 443 ufw enable # active ufw

Si vous voulez utiliser fail2ban pour prévenir des attaques par force brute, il est possible de le faire utiliser directement ufw plutôt qu’iptables.

apt install fail2ban

Pour configurer la bête, créer un fichier /etc/fail2ban/jail.local : chargé après le fichier de configuration principal /etc/fail2ban/jail.conf, les valeurs qu’il contient écrasent celles contenues dans le premier, inutile donc de copier intégralement le contenu du fichier de configuration (comme j’ai pu le voir par-ci par-là). Y changer l’adresse à laquelle les notifications sont envoyées, et configurer le programme pour utiliser ufw :

[DEFAULT] destemail = mail@domaine.truc banaction = ufw Yapyt

Yapyt est clone de yaourt (commande Arch Linux) développé par Thuban pour Debian. Très utile pour nettoyer son système et supprimer les résidus d’applications désinstallées.

wget http://git.yeuxdelibad.net/coolrepo/plain/yapyt/yapyt.py -O /usr/local/bin/yapyt chmod +x /usr/local/bin/yapyt

Pour le nettoyage, yapyt nécessite deborphan et aptitude :

apt install aptitude deborphan Certificats

Installer le client Let’s Encrypt disponible dans le dépôt jessie-backports activé par défaut dans le source.list déployé par OVH (qui utilise les miroirs d’OVH également), mais aussi les certificats racine de CACert qui sont à nouveau disponible dans un paquet séparé.

apt -t jessie-backports install letsencrypt ca-cacert Dotdeb

Dotdeb is an extra repository providing up-to-date packages for your Debian servers : Nginx ; PHP 7.0, 5.6, 5.5, 5.4 (obsolete) and 5.3 (obsolete) ; useful PHP extensions : apcu, imagick, mongo, Pinba, xcache, Xdebug, XHprof… ; MySQL 5.5 and 5.6 ; Zabbix ; etc.

Installer la clé du dépôt :

wget https://www.dotdeb.org/dotdeb.gpg -O- | apt-key add -

Dans /etc/apt/source.list.d/dotdeb.list :

deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all

Mettre à jour les dépôts :

apt update

Installer le serveur web :

apt install nginx-extras php5-fpm MariaDB

MariaDB is one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users include Wikipedia, Facebook and Google.

Installer la clé du dépôt :

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

Dans /etc/apt/source.list.d/mariadb.list :

deb [arch=amd64,i386] http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.1/debian jessie main deb-src http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.1/debian jessie main

Mettre à jour les dépôts :

apt update

Installer :

apt install mariadb-server Prosody

Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.

Installer la clé du dépôt :

wget https://prosody.im/files/prosody-debian-packages.key -O- | apt-key add -

Dans /etc/apt/source.list.d/prosody.list :

deb http://packages.prosody.im/debian jessie main

Mettre à jour les dépôts :

apt update

Installer Prosody et ses dépendances optionnelles :

apt install prosody-trunk lua-event lua-zlib lua-dbi-sqlite3 lua-bitop

Je renvoie à mon article Prosody sur Debian Wheezy/Jessie pour plus d’informations quant à la configuration du service.

NodeJS LTS

Installer nodejs (v0.10.29) et npm (v1.4.21) depuis les dépôts Debian, dans /usr/bin.

apt install npm

Installer le gestionnaire de version n dans /usr/local/bin.

npm install -g n

Utiliser n pour installer la dernière version LTS de nodejs (v4.3.2) dans /usr/local/bin.

n lts

Installer la dernière version de npm (v2.14.12) dans /usr/local/bin.

npm install -g npm node-gyp

Supprimer les binaires de npm et nodejs qui trainent dans /usr/bin pour ne plus avoir que les derniers installés.

apt remove npm apt-get autoremove Superutilisateur

Plutôt que de continuer à utiliser le compte root, je me crée un utilisateur aux droits restreints, que j’ajoute néanmoins au groupe sudo pour l’utiliser à des fins de maintenance du système.

apt install sudo adduser username gpasswd -a username sudo

Pour désactiver complètement le login du compte root :

sudo passwd -dl root SSH

Depuis un terminal sur mon ordinateur, je forge une clé SSH (inutilement grosse, pour tester) que j’autoriserai à servir d’authentification sur le compte utilisateur créé ci-dessus.

ssh-keygen -b 16384

Je la renomme $HOME/.ssh/id_rsa-nomduserver, lui met un gros gros mot de passe, puis je la copie dans les clés autorisées sur mon serveur.

ssh-copy-id -i $HOME/.ssh/id_rsa-nomduserver username@adresse.ip -o PreferredAuthentications=password

Je peux dorénavant me connecter à mon serveur par SSH avec une authentification par clé sur un utilisateur qui après entrée d’un (inutilement tarabiscoté) mot de passe, me confère des droits élevés.

ssh username@adress.ip -i $HOME/.ssh/id_rsa-nomduserver

Je renvoie au Debian Wiki pour la sécurisation de SSH : désactiver la connexion au compte root et l’authentification par mot de passe dans /etc/ssh/sshd_config.

PasswordAuthentication no PermitRootLogin no Shell ZSH et Byobu

Plutôt qu’une session SSH toute moche avec seulement BASH, j’utilise le gestionnaire de multiplexeurs de terminal Byobu (backend tmux) et ai remplacé BASH par ZSH.

ZSH, Prezto et Byobu

apt install zsh byobu git byobu-enable

La commande byobu-enable active byobu si et seulement si le shell par défaut est bash. Donc plutôt que modifier le shell de l’utilisateur (chsh -s /bin/zsh) qui empêcherait l’activation automatique de byobu, il suffit d’ajouter les lignes suivantes à $HOME/.byobu/.tmux.conf pour changer l’interpréteur de commandes du programme :

set -g default-shell /usr/bin/zsh set -g default-command /usr/bin/zsh

Installation de Prezto, un framework de configuration de ZSH. Lancer zsh et ne pas créer de fichier de configuration (touche q)

zsh

Copier le répertoire de prezto :

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

Activer prezto pour mon profil utilisateur :

setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done Etherpad Lite

Installation des dépendances :

apt install gzip git curl python libssl-dev pkg-config build-essential

Déploiement d’Etherpad Lite comme service, dans son propre dossier avec son propre user/group.

adduser --system --home=/srv/etherpad-lite --group etherpad-lite

Il faut utiliser le compte adéquat pou r la suite : pour ce faire, faire précéder les commandes suivantes de :

sudo su etherpad-lite -s /bin/bash -c "ici la commande entre guillemets"

Clônage du répertoire à la racine du dossier nouvellement créé.

cd /srv/etherpad-lite; git clone git://github.com/ether/etherpad-lite.git .

Copier le fichier de configuration.

cp /srv/etherpad-lite/settings.json.template /srv/etherpad-lite/settings.json

Configuration du backend (j’aime bien utiliser redis qui me nécessite aussi peu de configuration qu’un fichier SQLite pour des performances plus hautes) :

apt install redis-server

Dans /srv/etherpad-lite/settings.json :

//the type of the database "dbType" : "redis", //the database specific settings "dbSettings" : { "host" : "localhost", "port" : 6379, "database": 1 },

Dépendances optionnelles pour l’import/export :

apt install tidy libreoffice-writer

Dans /srv/etherpad-lite/settings.json :

/* This is the absolute path to the soffice executable. Setting it to null, disables LibreOffice exporting. LibreOffice can be used in lieu of Abiword to export pads */ "soffice" : "/usr/bin/soffice", /* This is the path to the Tidy executable. Setting it to null, disables Tidy. Tidy is used to improve the quality of exported pads*/ "tidyHtml" : "/usr/bin/tidy",

Documentation :

Ghost

Ghost is a platform dedicated to one thing: Publishing. It’s beautifully designed, completely customisable and completely Open Source. Ghost allows you to write and publish your own blog, giving you the tools to make it easy and even fun to do.

Pareillement qu’Etherpad Lite ci-dessus, je déploie Ghost comme un service, ayant son propre utilisateur et groupe.

adduser --system --home=/srv/ghost --group ghost

Comme pour etherpad, il faut utiliser le compte adéquat : pour ce faire, faire précédér les commandes suivantes de :

sudo su ghost -s /bin/bash -c "ici la commande entre guillemets"

Dans le dossier de l’utilisateur ghost, je décompresse l’archive de la dernière version disponible :

cd /srv/ghost; wget http://ghost.org/zip/ghost-latest.zip; unzip -uo ghost-latest.zip -d /srv/ghost; rm ghost-latest.zip

Ne reste plus qu‘à installer le tout.

npm install --production

Pour la configuration de Ghost, je renvoie à la documentation :

Pour aller plus loin :

ownCloud

ownCloud gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. Installation has minimal server requirements, doesn’t need special permissions and is quick. ownCloud Server is extendable via a simple but powerful API for applications and plugins.

Pour plus de facilité quant à l’installation d’ownCloud, j’utilise le dépôt. Installer la clé :

wget https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O- | apt-key add -

Créer /etc/apt/source.list.d/owncloud.list avec le dépôt :

sh -c "echo ’deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /’ >> /etc/apt/sources.list.d/owncloud.list"

Mettre à jour les dépôts et installer owncloud :

apt-get update apt-get install owncloud

Documentation :

Pour une première salve, ça suffira je crois. N’hésitez pas à commenter si je dois préciser un élément de configuration, je verrai si j’ai le temps pour compléter.

Gravatar de PostBlue
Original post of PostBlue.Votez pour ce billet sur Planet Libre.

Articles similaires

Framablog : Un financement pour pouvoir se libérer… de Framasphère !

Diaspora* est un réseau social décentralisé et respectueux de la liberté. Le terme diaspora* désigne à la fois le logiciel sous licence AGPL à installer sur un serveur pour pouvoir se connecter au réseau, et le réseau lui même, composé de toutes les différentes installations du logiciel diaspora*.

Framasphère est une de ces installations (appelées pods), et nous sommes heureux de vous fournir un accès à ce réseau depuis l’un de nos serveurs.

Démarré en Février 2010, le projet diaspora* est devenu communautaire en Août 2012. Depuis, le développement avance dans la bonne direction mais à un rythme lent : il n’est porté que par des bénévoles, principalement allemands et français.

Essayez, installez, migrez.

Senya, un développeur russe, se propose de travailler sur diaspora* à temps plein en se rémunérant grâce à une campagne de financement participatif. La fonctionnalité principale visée pour cette campagne est la possibilité de migrer son compte diaspora* d’une installation vers une autre.

migration diaspora

C’est une fonctionnalité qui nous tient à cœur, car elle touche un point clef de notre approche de la diffusion du logiciel libre : « cultiver son jardin », c’est à dire avoir sa propre installation du logiciel.

En effet, le projet Dégooglisons fonctionne en 3 étapes : vous faire découvrir le logiciel / service, vous permettre de l’essayer, puis vous permettre de l’installer chez vous, pour être le seul maître de vos données.

Vous pourrez enfin changer de pod !

Si pour certains services ce cheminement est facile, il devient nettement plus compliqué dès qu’il n’est pas possible d’extraire vos données de l’installation de Framasoft pour les réimporter dans votre propre installation.

Qui voudrait installer son propre nœud diaspora* si cela implique de perdre tous les contacts, messages, photos, etc. postés depuis des mois sur Framasphère ? Voilà pourquoi nous encourageons vivement Senya dans son crowdfunding.

Et bonne nouvelle ! Depuis quelques jours, les 3500 euros demandés ont été atteints, Senya va pouvoir travailler sur la migration entre les serveurs diaspora* !

5 jours pour aller plus loin…

Cependant, le financement se poursuit jusqu’au 20 Mars, car Senya se propose maintenant d’ajouter les mentions dans les commentaires si 4200 euros sont atteints, et la fédération des tags entre les pods si 5000 euros sont atteints (oui, les tags ne sont actuellement pas fédérés en tant que tels, voir cet article de blog pour les détails techniques). Ces fonctionnalités sont elles aussi très intéressantes, nous vous encourageons donc vivement à donner si vous le pouvez !

diaspora

En participant à ce crowdfunding, vous ne permettez pas seulement à Framasphère et à toutes les installations de diaspora* d’être plus complètes et de mieux fonctionner, créant une alternative fiable à l’horreur qu’est Facebook. Vous montrez aussi que vivre en écrivant du code Libre est quelque chose de possible.

Non seulement vous aidez Senya, qui prend le risque de faire financer son travail par la communauté plutôt que de trouver un emploi stable traditionnel, mais vous incitez aussi les autres développeurs à se tourner vers le financement participatif pour faire vivre tous les beaux logiciels Libres que nous aimons tant !

Alors, n’hésitez plus, participez !

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.

Articles similaires

David Mercereau : [API OVH] Reboot d’un VPS via un script PHP

OVH possède une API qui peut s’avérer très pratique pour automatiser des tâches du manager : https://api.ovh.com

J’ai choisi d’utiliser le PHP pour ces scripts car il est déjà installé sur mes machines, je n’ai donc pas besoin de supplément.

Premier test, lister mes VPS

Je commence gentils, je fais un script qui listera simplement les VPS disponible chez OVH.

Télécharger et décompressé la dernière version de « php-ovh » et ces dépendances : https://github.com/ovh/php-ovh/releases

root@monsrv:~# mkdir ovhphp/ root@monsrv:~# cd ovhphp/ root@monsrv:~/ovhphp# wget https://github.com/ovh/php-ovh/releases/download/v2.0.0/php-ovh-2.0.0-with-dependencies.tar.gz root@monsrv:~/ovhphp# tar -xzvf php-ovh-2.0.0-with-dependencies.tar.gz

Ensuite on crée un tocken via cette URL : https://api.ovh.com/createToken/?GET=/vps ou on ne va autoriser que le GET sur /vps.

On va obtenir la page suivante, il va falloir conserver Application Key, Application Secret & Consumer Key pour les mettre dans le script :

OVH api keys résulstatOn va pouvoir créer le script suivant (pensez à recopier vos Application Key, Application Secret & Consumer Key dans les variables) :

#!/usr/bin/php <?php // This script is a skeleton of script or application using OVH APIs // You can launch it with the command php script.php // Or include it into a website be deleting the first line require __DIR__ . '/vendor/autoload.php'; use \\Ovh\\Api; //////////////////////////////////////////////////// // Dont forget to update your credentials // //////////////////////////////////////////////////// // Please read the documentation to get your credentials // https://github.com/ovh/php-ovh $applicationKey = "hsNT*************"; $applicationSecret = "8FcOC***********************"; $consumer_key = "bU5j**************************"; // Information about API and rights asked $endpoint = 'ovh-eu'; // Get API connector instance $conn = new Api( $applicationKey, $applicationSecret, $endpoint, $consumer_key); //////////////////////////////////////////////////// // Your logic will be inserted here // //////////////////////////////////////////////////// // This is an example // Here, use the API connector as you want. Here, we are getting all hosting services $vps = $conn->get('/vps'); print_r($vps); ?>

Lancement du script, voici le résultat :

root@romeo:~/ovhphp# php getvps.php Array ( [0] => vks00000.ip-XX-XX-XX.eu )

vks00000.ip-XX-XX-XX.eu c’est le nom de mon VPS (pour l’exemple), ça fonctionne.

Les choses sérieuses :  un reboot

Même script avec action cette fois, pour tester le reboot d’un VPS via un script.

De nouveau la création d’API  avec l’url https://api.ovh.com/createToken/?POST=/vps/vks00000.ip-XX-XX-XX.eu/reboot. Ici on va autoriser le POST sur /vps/vks00000.ip-XX-XX-XX.eu/reboot.

#!/usr/bin/php <?php require __DIR__ . '/vendor/autoload.php'; use \\Ovh\\Api; $applicationKey = "fCj********"; $applicationSecret = "vqm**************"; $consumer_key = "Zja************************"; $endpoint = 'ovh-eu'; $conn = new Api( $applicationKey, $applicationSecret, $endpoint, $consumer_key); $vps_reboot = $conn->post('/vps/vks00000.ip-XX-XX-XX.eu/reboot'); print_r($vps_reboot); ?>

Au lancement on obtient le numéro de la tâche :

root@romeo:~# php postrebootvps.php Array ( [progress] => 0 [id] => 5119979 [type] => rebootVm [state] => todo )

Et ça fait bien redémarrer le VPS…

La finalité

De temps en temps mon VPS est inaccessible. C’est très variable (1 à 2 fois par mois environ) et je ne trouve pas la cause (OVH / système  / attaque ?). La seul solution pour le faire repartir c’est un reboot via le manager OVH. En attendant de trouver la cause (je ne désespère pas) j’ai mis en place ce script sur un serveur tiers afin de déclencher un reboot si le serveur est inaccessible.

#!/usr/bin/php <?php // Version 0.1 15/03/2015 // Reboot d'un VPS OVH (via l'API OVH) si celui-ci ne répond pas // Par David Mercereau : http://david.mercereau.info // Script sous licence BEERWARE require __DIR__ . '/vendor/autoload.php'; use \\Ovh\\Api; // Identifiant API OVH : https://api.ovh.com/createToken/ $applicationKey = "fCj********"; $applicationSecret = "vqm*************"; $consumer_key = "Zja***********************"; $endpoint = 'ovh-eu'; // Host à monitorer (IP du VPS) $serveurMonitorIp = 'A.B.C.D'; // Port à monitorer (doivent être ouvert sur le VPS) $serveurMonitorPorts = array(80, 22, 25);; // Site qui permettent de vérifier la connexion internet $hostsCheck = array('www.wordpress.com', 'fr.wikipedia.org', 'www.ovh.com'); function checkInternet($hostsCheck) { $return = true; foreach ($hostsCheck as $hostCheck) { if (!$sock = @fsockopen($hostCheck, 80, $num, $error, 5)) { echo "CheckInternet : Le serveur $hostCheck ne répond pas sur le port 80. Il n'y a pas internet ?\\n"; $return = false; } } return $return; } function serveurMonitor($serveurMonitorIp, $serveurMonitorPorts) { $return = true; foreach ($serveurMonitorPorts as $serveurMonitorPort) { if (!$sock = @fsockopen($serveurMonitorIp, $serveurMonitorPort, $num, $error, 5)) { echo "ServeurMonitor: Le serveur $serveurMonitorIp ne répond pas sur le port $serveurMonitorPort, Il n'est H.S. ?\\n"; $return = false; } } return $return; } if (! serveurMonitor($serveurMonitorIp, $serveurMonitorPorts)) {     echo "...second test dans 2 minutes, c'est peut être temporaire...\\n";     sleep(120);     if (! serveurMonitor($serveurMonitorIp, $serveurMonitorPorts)) {         if  (checkInternet($hostsCheck)) {             echo "Reboot de $serveurMonitorIp\\n";             // Conneixion à l'API             $conn = new Api(    $applicationKey,                                 $applicationSecret,                                 $endpoint,                                 $consumer_key);             $vps_reboot = $conn->post('/vps/vks10057.ip-37-59-126.eu/reboot');             print_r($vps_reboot);         } else {             echo "Le serveur est peut être planté mais peut être pas... il ne semble pas y a voir interne, on fait rien !\\n";         }     } } exit(0); ?>

En tâche planifiée :

15,45 * * * * /root/ovhphp/check-serveur.php

 

Gravatar de David Mercereau
Original post of David Mercereau.Votez pour ce billet sur Planet Libre.

Articles similaires

genma : Ubuntu sur un disque externe ? Oui c'est possible

Afin de pouvoir faire de la veille technologique en utilisant un PC sans pour autant installer tout et n'importe quoi sur celui-ci, j'ai utilisé la possibilité d'installer Ubuntu sur un disque dur externe.

La procédure est très simple.

Pour éviter tout risque d'erreur à l'installation de Grub, j'ai enlevé le disque dur interne avant de commencer. Puis depuis un live USB d'installation classique, j'ai installé Ubuntu en mode chiffré (option choisie au moment de l'installation) sur le disque dur externe branché en USB. Une installation standard, classique.

Maintenant lorsque je le souhaite, je branche ce disque externe en USB, je demande au PC de démarrer en USB. Il alimente alors le disque dur, Grub s'affiche et je lance Ubuntu. Je tape ma phrase de passe (rappel mon disque externe est chiffré).

J'ai testé le fait que ce disque dur USB marche sur différents PC à la configuration assez proche. Base Intel, un DELL Inspiron assez ancien (Core2duo) et un Lenovo Thinkpad (Core I5). C'est transparent pour moi, je n'ai aucun message d'erreurs (Je pense que cela es lié au fait que le noyau Linux d'Ubuntu se débrouille très bien avec le changement de matériel vu que ce dernier est très proche).

J'ai eu des mises à jour du noyau, Grub s'est mis à jour en conséquence. Je n'ai pas eu à retiré à nouveau le disque dur interne.

Avec Ubuntu sur ce disque dur externe en USB, j'ai tous les avantages d'un système live, mais en plus je peux installer et conserver applications et documents, vu que je suis sur un disque dur.

En terme de performance, le fait d'être en USB au lieu d'être dans le PC ne se fait pas sentir. Le disque est en SATA (1), sur de l'USB2. Ubuntu est en installation par défaut, je n'ai fait aucune optimisation. Le chiffrement du disque ne change pas les performances.

Une bonne solution pour transporter un système mobile complet.

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Progi1984 : Docker: utiliser SASS, PHPMyAdmin, MailDev et Sentry

Dans mon précédent article, j’ai mis en place un environnement de développement basé sur des containers Docker avec Nginx, PHP-fpm et MySQL. Dans cet article, nous allons mettre en place différents containers Docker pour installer les outils suivants : SASS, PHPMyAdmin, MailDev et Sentry.

Logo Docker

Nous allons mettre les interfaces web des divers outils sur plusieurs ports :

  • 81 : PhpMyAdmin ;
  • 82 : MailDev ;
  • 83 : Sentry.

Le port 80 reste pour notre application.

PHPMyAdmin

Pour PhyMyAdmin, il faut ajouter dans le fichier

docker-compose.yml les lignes suivantes :

## Tools : PhpMyAdmin pma: image: nazarpc/phpmyadmin ports: - "81:80" links: - db:mysql environment: MYSQL_ROOT_PASSWORD: root

Pour faire fonctionner PhpMyAdmin, la ligne de commande suivante le télécharge et l’active :

c:\\wamp\\www\\myProject>docker-compose up

MailDev

Pour MailDev, il faut ajouter dans le fichier

docker-compose.yml les lignes suivantes :

## Tools : MailDev maildev: image: djfarrelly/maildev restart: always ports: - "82:80"

Pour faire fonctionner MailDev, on exécute

docker-compose up. SASS

Pour MailDev, il faut ajouter dans le fichier

docker-compose.yml les lignes suivantes :

## Tools : SASS sass: image: larryprice/sass volumes: - ./:/src

Automatiquement, chaque fichier SCSS sera transformé en fichier CSS dès que SASS verra une modification et affichera les erreurs en cas de problème :

 Log de SASS

Pour faire fonctionner SASS, on exécute

docker-compose up. Sentry

Pour Sentry, il faut ajouter dans le fichier

docker-compose.yml les lignes suivantes :

## Tools : Sentry sentry: image: slafs/sentry restart: always ports: - "83:9000" environment: SECRET_KEY: "" SENTRY_URL_PREFIX: "" SENTRY_ADMIN_USERNAME: Progi1984 SENTRY_ADMIN_PASSWORD: mysecretpass SENTRY_ADMIN_EMAIL: progi1984@gmail.com SENTRY_PUBLIC: "true" SENTRY_INITIAL_TEAM: "myProjectTeam" SENTRY_INITIAL_PROJECT: "myProject" SENTRY_INITIAL_PLATFORM: "php" SENTRY_INITIAL_KEY: ":"

Toutes les clés composant le noeud « environment » sont décrites ici : https://hub.docker.com/r/slafs/sentry/.

Pour faire fonctionner Sentry, on exécute

docker-compose up. Conclusion

Comme nous avons pu le voir, il est assez simple des composants à notre environnement de développement. Docker étant basé sur des containers, ajouter ou supprimer un composant à notre environnement se relève d’autant plus simple que Docker Compose permet de tout faire en un seul fichier.

Cet article Docker: utiliser SASS, PHPMyAdmin, MailDev et Sentry est apparu en premier sur RootsLabs.

Gravatar de Progi1984
Original post of Progi1984.Votez pour ce billet sur Planet Libre.

Cyrille BORNE : Linux et la sécurité, quelques éléments factuels

On a coutume de déclarer le système Linux comme très bien sécurisé et il ne fait aucun doute que niveau sécurité les utilisateurs de Linux ont bien moins de problèmes que ceux de Windows, mais pour combien de temps encore ?

Les linuxiens rencontrent moins de mauvaises surprises, certes, mais la situation est loin d'être aussi simple et, avec le temps, du fait de la prépondérance du noyau Linux dans la plupart des smartphones, des systèmes embarqués, et bien d'autres services encore il faut s'attendre à ce que le système Linux soit de plus en plus la cible des pirates. Or comme jusqu'à il y a peu les attaques étaient bien plus rares sur Linux que sur les systèmes Windows, la sécurité parfois, je dis bien parfois, est passée au second plan dans certains contextes et solutions proposées. En disant cela je ne nie tout de même pas le très gros travail fourni par les développeurs, sur le noyau comme sur d'autres produits, pour chasser et corriger sans cesse les failles.

Il y a quelque temps je lisais un article sur un blog déclarant le noyau Linux comme moins fiable que celui de Windows, et cette affirmation se basait sur la liste des vulnérabilités recensées par le CERT-FR en 2015. Je ne vais pas polémiquer sur la méthode, sur le fait qu'il aurait fallu détailler les « multiples vulnérabilités » recensées dans les bulletins, le fait qu'il y a un noyau Linux d'origine et des déclinaisons par distributions, les possibles doublons, ni sur la démarche curieuse de baser sa conclusion uniquement sur des corrections de failles, corrections faites en toute transparence par les mainteneurs des noyaux. Bref, à moins de détailler très précisément le décompte faille par faille et correction par correction aucun chiffre valable ne peut être fait sur ces bases. Je doute d'ailleurs que l'on puisse arriver à une quelconque étude digne de foi à un instant T sauf à comparer des machines faisant tourner chacune un noyau différent sur chaque distribution Linux principale et des Windows toujours en service afin de vérifier toutes les failles connues et bien entendu aussi si possible en trouver des non encore découvertes. Il faudra alors aussi vérifier la sécurité de toutes les applications car un Os ne se compose pas uniquement d'un noyau. Bref, travail immense et surtout sans fin. Et sans intérêt au final, tellement les solutions proposées aussi bien avec Linux que Windows sont nombreuses, différentes, et doivent réponde aussi à des besoins divers et variés.

Personnellement je me bornerai à dire que j'ignore quel système est le plus sûr, je sais seulement que j'obtiendrai de meilleurs résultats avec celui que je connais le mieux, c'est à dire Linux. Et il peut tout à fait en être différemment pour d'autres.

Pour autant cet article de dsfc.net, bien au-delà de la provocation facile a un gros avantage, il attire l'attention du lecteur sur un problème ayant besoin d’être moins négligé par le plus grand nombre et à sortir d'une forme d'insouciance pour certains acteurs du libre, acteurs parfois à la marge des grandes réalisations d'ailleurs, mais pas seulement eux.

Une autre chose sur le noyau Linux. Si l'on veut le sécuriser plus que d'ordinaire il existe des patchs pour répondre à certains cas, des noyaux spécialisés, comme le noyau grsecurity de Yves-Alexis Perez. À noter d'ailleurs qu'un noyau pré compilé est disponible avec Debian Sid et qu'il s'installe avec les outils dédiés et ses dépendances attr gradm2 linux-grsec-base linux-image-4.3.0-1-grsec-amd64 pax-utils paxctl. Mais attention, il ne suffit pas d'installer le noyau, il faudra le configurer. Pour cela voir corsac.net et les forums.grsecurity.net/ ou par exemple le wiki gentoo même si ces dernières pages dans l'ensemble datent un peu.

Alors, peut-on dire que le système Linux est parfaitement sûr ? Bien évidement non, et d'ailleurs qui oserait le prétendre. Comme tout système il a ses failles même si elles sont régulièrement corrigées. Mais on pourrait dire aussi que malgré ses grandes qualités, le système des droits sur les fichiers, la possibilité de les étendre encore plus avec selinux, la séparation entre user et admin, la centralisation des dépôts et bien d'autres éléments encore en matière de sécurité Linux a aussi des faiblesses.

Les faiblesses de Linux en général.

En matière de sécurité toutes les distributions ne sont pas égales. Bien entendu les distributions principales comme Debian ou Redhat, voir aussi Archlinux, Gentoo, Fedora, Ubuntu, Mageia, Suses, vont suivre et appliquer très rapidement les correctifs de sécurité sur leurs produits, il n'en sera pas de même pour toutes les distributions ou plus exactement pour tous les forks qui, faute de moyens, voire parfois par négligence ou même par incompétence, ne feront pas le travail nécessaire dans les mêmes conditions.

À titre d'exemple je prendrai la Mint, et plus exactement sa version LMDE 2 Betsy. Là, c'est flagrant, ses utilisateurs courent des risques, et plus particulièrement s'ils font les mises à jour avec l'utilitaire dédié, mintupdate. Ce dernier va récupérer la liste des paquets à mettre à jour, liste bien différente de ce qui se passe si on utilise apt ou aptitude pour maintenir sa distribution à jour. Par exemple à l'heure ou j'écris ce billet, sur une LMDE 2 amd64 (mais c'est la même choses avec une i386) le dernier noyau disponible est le noyau Debian 3.16.0-4 version 3.16.7-ckt7-1 du 01 mars 2015 alors que la Debian Stable propose le 3.16.7-ckt20-1+deb8u4 du 29 février 2016 incorporant jusqu'au CVE-2016-2550.

Si vous voulez connaître les correctifs appliqués entre le 1 mars 2015 et aujourd'hui si vous utilisez une Debian vous pouvez passer la commande :
:~$ aptitude changelog linux-image-3.16.0-4-amd64
et vous verrez qu'ils sont très très nombreux. À noter que sur une Debian Stable on peut aussi disposer du noyau des backpots, à savoir à ce jour le 4.3.5-1~bpo8+1 (2016-02-23).

Si on utilise aptitude ou apt pour les mises à jour, ou activer les niveaux 4 et 5 de mintupdate désactivés par défaut, on pourra installer le dernier noyau ainsi que de nombreux autres paquets non pris en charge par leur programme mintupdate. Mais alors quid de la gestion de toutes les dépendances ? S'ils ne les incorporent pas c'est qu'ils ont des raisons. Et puis cela n'est pas conseillé à des débutants, cœur des utilisateurs de Mint paraît-il.

La situation de la Mint 17 Qiana basée sur Ubuntu n'est guère meilleure au niveau du noyau puisque en standard est utilisé le 3.16.0-29 du 16 décembre 2014 et là, même si vous activez les 5 niveaux de préférence de mintupdate, il ne vous en sera pas proposé d'autre, sauf à passer par la ligne de commande où vous aurez le 4.2.0-30 disponible à l'installation

Je vous parle de Mint, je suis sévère dans les lignes qui précèdent pourtant cette distribution a de grandes qualités et le travail accompli est très intéressant, ce qui me fait regretter d'autant tous ces défauts, ces faiblesses qui, au final pourraient être facilement corrigées à condition de revoir le tempo, les procédures de mises à jour. Et d'ailleurs on pourrait attribuer ces mêmes faiblesses à bien d'autres forks maintenus par de petites équipes car elles ne sont pas l'apanage de Mint. À vérifier.

Là ou les problèmes se compliquent et les faiblesses se multiplient, indépendamment des noyaux, c'est lorsqu'on installe sur sa distribution, et c'est valable pour toutes, des programmes sensibles, par exemple Owncloud. Je cite Owncloud mais je pourrais en prendre bien d'autres. Il faut alors faire très attention aux correctifs apportés par les développeurs à la source et la rapidité avec laquelle ces mêmes correctifs ont été incorporés par les mainteneurs de ces paquets dans les distributions. Ils ne sont pas forcément coupables de laisser-aller ou de négligences car cela demande un travail considérable d'adaptation et parfois aussi la communication n'est pas parfaite au niveau des développeurs à la source. Et pourtant il peut dans certains cas y avoir des failles béantes non corrigées pendant un certain temps. Pour Owncloud il peut être utile dans certains cas d'installer le programme empaqueté par les développeurs Owncloud directement, quite parfois à se passer d'une meilleure intégration avec le système.

D'autres failles encore peuvent exister dans des programmes non incorporés dans les distributions, comme des systèmes de wiki, des galeries photos, des partages de données, développés par des passionnés très compétents et dévoués dans leurs branches, par exemple le php, mais moins au fait des problèmes de sécurités.

Alors, à ces faiblesses peut-on apporter des solutions ? Dans certains cas il appartient aux développeurs de ne pas négliger la sécurité, d'avoir ce problème toujours à l'esprit, d'anticiper.

Mais parfois il en va de la responsabilité de l'utilisateur. Ne pas installer n'importe quel programme sans être certain du sérieux du développeur doit faire partie de ses préoccupations. On trouve à sa disposition, en général en dehors des circuits et miroirs des grands distributions des programmes mal fichus, qui par exemple ne respectent pas la bonne gestion des droits des fichiers alors que ceci fait partie intégrante du premier rempart sécuritaire. Il y a aussi des forks réalisés à la va vite ou parfois avec des dépôts non suffisamment sécurisés comme on l'a vu dernièrement avec Mint dont un serveur a été compromis et une ( une ? ) iso contenait une porte dérobée. À l'utilisateur donc de savoir faire le tri et éviter de choisir des forks dont la plus grosse qualité reste en fin de compte la qualité du papier peint, ou sont basés sur des solutions prétendument miracles pour se démarquer de la concurrence.

Alors au final que conclure ? Oui Linux a de grandes qualités de sécurité et son développement en toute transparence est un gage de sérieux sur ce plan mais pour autant il ne faut pas se voiler la face, il y a des failles et des faiblesses, parfois dues aux développeurs, et parfois aussi à la négligence de ses utilisateurs qui, en fin de compte, en la matière ne diffèrent guère de certains utilisateurs de Windows et que l'on remarquait d'avantage car il était le système le plus utilisé. Le choix des sources de logiciels, la multiplication des ppa n'est pas innocent en matière de stabilité mais aussi de sécurité.

Windows a fait des progrès certains en matière de sécurité ces dernières années et il appartient à Linux de ne pas s'endormir sur ses lauriers. On pourrait aussi dire que certains forks peu scrupuleux ou du moins attentifs en matière de sécurité peuvent nuire sérieusement à la réputation de Linux. Et cela est d'autant plus grave si ces forks se trouvent en tête de gondole de sites comme Distrowatch. Il appartient aussi aux utilisateurs avancés de vérifier le sérieux des forks avant de les conseiller au grand public, ceci pourrait éviter aux débutants de se fourvoyer et d'en pâtir un jour.

Mais, bien plus que sur Linux, c'est sur Android que l'on risque de voir très bientôt les attaques se multiplier à l'infini.

Gravatar de Cyrille BORNE
Original post of Cyrille BORNE.Votez pour ce billet sur Planet Libre.

fgallaire : Quel DPL pour 2016 ?

Le temps passe vite, et cela fait déjà presque un an que Neil McGovern a été élu Debian Project Leader (DPL). Chaque développeur Debian pouvait donc se porter candidat entre le 6 et le 12 mars à la suite du traditionnel appel à candidatures.

Dès le 7 mars, Neil exprimait le souhait de ne pas se représenter :

Just for avoidance of doubt, I do /not/ intend on re-standing for my post. I would encourage any candidates to put themselves forward.

Malheureusement, peu de développeurs semblent motivés par la charge de DPL comme l’exprimait Lars Wirzenius :

After some serious thinking, I’ve decided not to nominate myself in the Debian project leader elections for 2016. […] Why not run? I don’t think I want to deal with the stress. I already have more than enough stress in my life, from work.

et il n’y aura donc finalement qu’un candidat cette année :

La question de la légitimité d’un scrutin avec un seul candidat a été posée par Paul Wise, mettant en avant le fait qu’il ne s’agissait pas cette fois de renouveler sa confiance à un DPL déjà en poste comme c’était le cas de Zack en 2011.

Cependant, il est important de préciser que Mehdi avait fait un très bon résultat l’année dernière en finissant deuxième pour sa première tentative, et qu’il se positionnait ainsi comme un candidat très sérieux pour cette année.

Les presque mille développeurs Debian seront libres de voter du 3 au 16 avril lors d’un vote utilisant la méthode Condorcet.

Vous pouvez retrouver tous les débats de la campagne sur la mailing list debian-vote.

Tweet

Gravatar de fgallaire
Original post of fgallaire.Votez pour ce billet sur Planet Libre.

Articles similaires

Journal du hacker : Liens intéressants Journal du hacker semaine #10

Pour la 10ème semaine de 2016, voici 5 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Planet Libre : Brèves du Planet Libre - lundi 14, mars 2016

Où en est la version GNU/Linux de Firefox côté performances ? - Journal sur LinuxFR.org Firefox Linux

antistress : Vous l'avez peut-être remarqué, différentes fonctionnalités sont dans les tuyaux tandis que certaines sont déjà activées – mais à un rythme différent selon les systèmes d'exploitation. D'où l'idée de faire le point sur ce qui est déjà implémenté et activé, déjà implémenté mais pas activé, ou pas encore implémenté… En bonus, un comparatif des performances du mode multi-processus selon les OS et selon les navigateurs.

Google applique le droit à l'oubli à toutes les recherches faites en Europe - Numerama CNIL Google anonyme oubli recherche pistage

antistress : "Les nouvelles règles de Google en matière de droit à l'oubli entrent en vigueur cette semaine. Désormais, les résultats n'apparaîtront plus que si l'on effectue ses recherches en dehors de l'Union européenne. Suffisant pour satisfaire la CNIL ?"

Gravatar de Planet Libre
Original post of Planet Libre.Votez pour ce billet sur Planet Libre.

Articles similaires

Philippe Scoffoni : Installation de MyPads sur Debian 8

logo_mypadsVendre du MyPads ?

Allons droit au but, si je me lance dans cette installation c’est dans l’idée d’évaluer la faisabilité de proposer un service payant basé sur ce logiciel. Pour l’instant, j’en suis aux premières expérimentations. De nombreuses questions sont encore en suspens tant sur le plan technique que commercial.

Comment facturer ce service ? Une facturation au compte utilisateur impliquerait d’interdire les pads publics, sinon comment comptabiliser les utilisateurs :-) ?

Le nombre de pads créés pourrait être un autre critère, mais là aussi ce n’est pas évident si l’on permet des pads publics. Il me semble que c’est plus le nombre d’utilisateurs qui génère la charge machine  que le nombre de pads créé. Un pad public utilisé par 200 personnes ce ne doit pas être rien en terme de charge.

Reste la solution, et c’est peut-être la plus simple, de mettre à disposition des instances dédiées avec des ressources allouées. Ce sont elles qui limiteront de fait les capacités d’usage de MyPads. L’avantage est de ne pas avoir à se soucier du nombre d’utilisateurs. En effet, il peut y avoir des utilisateurs ponctuels, réguliers, etc. De plus l’ouverture de pads publics redevient envisageable.

J’ouvrirais probablement une bêta avec des comptes ou instances gratuites pour voir un peu le comportement en charge de l’engin. En attendant, je vais déjà l’utiliser dans le cadre de mes prestations ou de projets en lien avec la formation.

Reste à savoir s’il y a un marché pour ce type d’offre… Face aux Google Apps ou à Office 365 dont les fonctionnalités sont bien plus avancées, j’ai quelques doutes… Mais il y a peut-être une micro-niche dans le domaine de l’éducation ou de la formation.

Mais commençons par le début : la mise en place. Je procède à un installation dans un serveur virtuel sous Proxmox 3 et une machine virtuelle OpenVZ équipé d’une Debian 8.

Installer Etherpad

C’est la première étape, MyPads a été développé comme un module complémentaire du logiciel libre Etherpad. Framasoft a déjà pensé à nous et met à disposition un tutoriel pour l’installation d’Etherpad. Si je prends, je donne, allez voir sur la page mécènes, vous y trouverez ma société :-) . Je suggère fortement à toutes les entreprises qui utilisent Mypads sur leurs serveurs d’en faire autant.

Etherpad est basé sur NodeJS. Ce dernier est disponible dans les dépôts de Debian 8 ce qui n’est pas le cas pour la version 7. Il vous faudra procéder comme expliqué sur le tutoriel de Framasoft dans ce dernier cas. Donc pour NodeJS :

apt-get install nodejs

et pour Node Package Manager :

apt-get install npm

Toujours rien de bien difficile. Continuons de suivre le tutoriel en créant un utilisateur dédié à Etherpad et en installant git et tout ce qu’il faut pour compiler.

Enfin, voici le moment venu de cloner le dépôt d’Etherpad sur la machine. A ce stade, il vous faudra également ajouter la commande curl

apt-get install curl

et créer le lien symbolique node pointant vers nodejs

ln -s /usr/bin/nodejs /usr/bin/node

Vous pourrez alors lancer le script d’installation. Effectuez la configuration comme indiqué sur le tutoriel et installer Mongodb. A noter qu’il n’est plus utile d’indiquer « sessionKey » dans le fichier json. La valeur est désormais générée automatiquement.

apt-get install mongod

Appliquez les modifications de configuration du tutoriel. Si vous n’avez pas fait d’erreur, la console va vous afficher :

Ensure that all dependencies are up to date...  If this is the first time you have run Etherpad please be patient. npm WARN package.json async-stacktrace@0.0.2 No repository field. npm WARN package.json channels@0.0.4 No repository field. npm WARN package.json tinycon@0.0.1 No repository field. Ensure jQuery is downloaded and up to date... Clearing minified cache... Ensure custom css/js files are created... Started Etherpad... [2016-02-27 20:59:07.483] [INFO] console - Installed plugins: [2016-02-27 20:59:07.496] [INFO] console - Report bugs at https://github.com/ether/etherpad-lite/issues [2016-02-27 20:59:07.497] [INFO] console - Your Etherpad version is 1.5.7 (d880527) [2016-02-27 20:59:07.578] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/ [2016-02-27 20:59:07.578] [INFO] console - The plugin admin page is at http://0.0.0.0:9001/admin/plugins

Well done :-)
Sélection_207

Il vous faudra encore installer un proxy web pour rediriger selon vos besoins un nom de domaine sur votre installation. Dans mon cas ce dernier existe déjà, il m’a suffi de déclarer mon nouveau sous-domaine et le faire pointer vers la bonne machine virtuelle.

Dans les éléments de configuration d’Etherpad, j’ai changé la langue par défaut positionné à « en-gb » par ‘fr » dans le fichier /home/etherpad/etherpad-lite/settings.json aux environs de la ligne 73.

Autres détails, j’utilise pour l’instant l’utilitaire screen pour lancer Etherpad et bénéficier d’une vue sur la console. Ce n’est probablement pas la solution finale que j’adopterais, mais pour l’instant elle me permet de voir ce qui se passe côté serveur simplement.

Ajoutons MyPads

Là, cela devient enfantin, puisqu’il suffit de se rendre sur la page d’administration sous l’url http://example.com/admin/plugins et de faire une recherche sur Mypads. Cliquez ensuite sur « Install ». Vous n’avez plus qu’à vous rendre sur votre url http://example.com/mypads.

Pour accéder à la page d’administration de MyPads, il vous faut utiliser l’utilisateur que vous avez configuré dans le fichier /home/etherpad/etherpad-lite/settings.json.

Dans zone de recherche saisissez mypads et cliquez sur Install. A ce stade, j’ai également ajouté les plug-ins suivants :

  • adminpads : pour gérer tous les pads qui ont été créés sur l’instance et faire le ménage facilement ;
  • sync_status: pour voir un petit message et se rassurer sur la bonne sauvegarde de ses modifications ;

Quand je compare mes pads à ceux du Framapad, je me dis qu’il doit me manquer encore quelques plug-ins. Si un admin de Framasoft passe par là et peut laisser la liste des plug-ins en commentaires, cela serait sympa :-)

Il me faut personnaliser la page d’accueil et limiter ou au moins contrôler les possibilités de création de comptes. Je n’ai pas retrouvé l’information sur qui avait développé au final MyPads. Là encore, laissez l’information en commentaire, j’aimerais bien le contacter pour chiffrer les évolutions qui me sont nécessaires pour pouvoir proposer une offre de services pour MyPads.

Réagir à cet article

Article original écrit par Philippe Scoffoni le 12/03/2016. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Gravatar de Philippe Scoffoni
Original post of Philippe Scoffoni.Votez pour ce billet sur Planet Libre.

Articles similaires

ephase : Démarrage PXE avec Openwrt, Dnsmasq et FreeNAS

Ajourd'hui j'ai décidé de simplifier mon architecture réseau , je me sépare donc de mon serveur DHCP(dhcpd) et décide d'utiliser celui de mon routeur sous OpenWRT. Il y a tout de même un petit couac : mon vieux serveur me permettait de démarrer en PXE pour différentes architectures x86 : efi, efi64 et Bios.

Si la configuration du PXE sous dhcpd est très documenté, avec dnsmasq c'est pas vraiment le cas. Je vous livre ici le résultat de mes recherche avec un exemple qui fonctionne très bien.

Ce que j'ai

J'ai un routeur TPLink sous OpenWRT et un serveur Freenas qui fournit des services SMB, NFS et TFTP. FreeNAS et déjà configuré et fonctionnel puisque je l'utilisait déjà avec mon serveur DHCP.

Le démarrage PXE est assuré par iPXE. Le tout doit me permettre de démarrer des machines via le réseau soit pour installer des Windows, soit cloner / restaurer des machines avec Clonezilla ou encore dépanner / récupérer des données avec SysrecueCD. Las machines clientes sur lesquelles j'interviens vont du vieux portable en Core Duo à l'ordinateur fixe en Core i7 en passant par des Mac (bon je triche, là iPXE démarre depuis une clé USB : pas de vrai PXE possible).

Voilà un schéma de ce que je veux :

img

Sur mon FreeNAS, TFTP est activé, les fichiers sont rangés comme ceci :

  • tftp/efi
    • ipxe.efi : le chargeur de démarrage ipxe en mode efi64
    • ipxe_32.efi : le chargeur de démarrage ipxe en mode EFI 32 bits, ce n'est pas très utile normalement mais il arrive encore de trouver des machines efi32 …
  • tftp/bios
    • ipxe.pxe : le chargeur de démarrage ipxe en mode Bios
  • /tftp/c
    • boot.ipxe : le fichier de configuration contenant le menu qu'ipxe appelle lorsqu'il démarre.
configuration du routeur

J'ai donc besoin de configurer dnsmasq sur le routeur pour lui permettre de choisir le bon fichier de démarrage par le réseau en fonction de ma machine cliente.

Je me connecte sont en SSH sur mon routeur, puis j'édite le fichier /etc/dnsmasq.conf comme ci dessous :

# mach arch type for proper pxe Boot dhcp-match=bios,option:client-arch, 0 dhcp-match=efi32,option:client-arch, 6 dhcp-match=efix64,option:client-arch, 7 dhcp-match=efix64,option:client-arch, 9 #Special case : iPXE boot dhcp-match=ipxe,option:user-class,iPXE # Boot now! dhcp-boot=tag:bios,bios/ipxe.pxe,srvtech,192.168.10.250 dhcp-boot=tag:efix32,efi/ipxe.efi,srvtech,192.168.10.250 dhcp-boot=tag:efix64,efi/ipxe.efi,srvtech,192.168.10.250 dhcp-boot=tag:ipxe,c/boot.ipxe,srvtech,192.168.10.250

Le principe est très simple, on colle une étiquette en fonction de l'architecture du client avec l'option dhcp-match. La syntaxe est dhcp-match=tag:[étiquette],option:[option_a_comparer],[valeur_a_comparer].

Cette étiquette servira ensuite au dhcp d'envoyer à la machine client le bon ordre de récupération du fichier de démarrage avec l'option dhcp-boot avec comme syntaxe dhcp-boot=tag:[étiquette],[fichier_de_demarrage],[nom_du_serveur],[adresse_du_serveur].

Étant donné qu'iPXE vient chercher son fichier de configuration lui aussi en mode PXE, notre serveur DCHP attribue à sa demande une étiquette spéciale afin qu'il récupère convenablement celui-ci.

Il suffit ensuite de redémarrer le service dnsmasq avec la commande /etc/init.d/dnsmasq restart.

Il suffit maintenant de tester un démarrage par le réseau mais attention, pensez a désactiver le Secure Boot dans les paramétrages de l'EFI sur vos machines clientes...

Gravatar de ephase
Original post of ephase.Votez pour ce billet sur Planet Libre.

Articles similaires

Pages