Installer symfony sur ubuntu 8.04

Ne pas utiliser apt, la version qu’il installe va générer des erreurs.

PHP Fatal error: Uncaught Error: Call to undefined method Composer\Package\RootPackage::getConfig() in /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/Config/ConfigBuilder.php:111
Stack trace:
#0 /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/Config/ConfigBuilder.php(74): Fxp\Composer\AssetPlugin\Config\ConfigBuilder::getConfigBase(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#1 /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/FxpAssetPlugin.php(82): Fxp\Composer\AssetPlugin\Config\ConfigBuilder::build(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#2 /usr/share/php/Composer/Plugin/PluginManager.php(215): Fxp\Composer\AssetPlugin\FxpAssetPlugin->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#3 /usr/share/php/Composer/Plugin/PluginManager.php(188): Composer\Plugin\PluginManager->addPlugin(Object(Fxp\Composer\AssetPlugin\FxpAssetPlugin))
#4 /usr/share/php/Composer/Plugin/PluginManager.php(240): Composer\Plugin\PluginManager->registerPackage(Obje in /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/Config/ConfigBuilder.php on line 111

Si vous l’avez déjà installée, supprimez la avec

sudo apt-get remove composer

ensuite, tapez la commande suivante dans un terminal:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Et ça fonctionne

Mettre à jour une ancienne version d’ubuntu

Si vous avez une vielle version d’ubuntu qui n’est plus soutenue, il vous est encore possible d’installer certains logiciels ou d’effectuer un upgrade vers une version plus récente.

Les dépôts des anciennes releases qui ne sont plus supportées (comme la 10.04, 11.04, 11.10 et 13.04) sont déplacés vers un serveur d’archives. Ces dépôts sont accessible à  http://old-releases.ubuntu.com

La raison en est qu’elles sont désormais « hors support » et ne reçoivent plus ni mises à jour, ni correctifs de sécurité.

Si vous souhaitez continuer à utiliser une version périmée, alors éditez votre fichier /etc/apt/sources.list et modifiez archive.ubuntu.com en old-releases.ubuntu.com

Vous pouvez le faire avec sed en tapant la commande suivante dans un terminal:

sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

puis upgradez avec:

sudo apt-get update && sudo apt-get dist-upgrade

Parfois, il est plus rapide de faire une sauvegarde des données importantes et d’installer une version récente que de faire la mise à jour ainsi.

Cependant, cela peut vous permettre d’installer des logiciel provisoirement ou de passer sur une LTS plus récente pour vous laisser le temps de planifier une réinstallation.

[Mémo] Désactiver la mise en veille sur un ordinateur portable

Portable ferméJ’ai eu besoin d’utiliser un ordinateur en tant que serveur (DHCP et fichiers) sur un réseau et, pour diverses raisons, j’ai préféré utiliser un ordinateur portable pour rendre ces services.

Cependant, la fermeture de l’écran mettait l’ordinateur en veille, et les services n’étaient plus rendus. Normal.

Pour désactiver ce fonctionnement qui est normalement désiré lors de l’utilisation en tant que poste de travail, il suffit d’aller modifier une variable dans un fichier.

Sur Ubuntu et Debian, éditez le fichier /etc/systemd/logind.conf , dé-commentez et modifiez la valeur de la ligne HandleLidSwitch.

Il suffit ensuite de mettre la valeur voulue pour le comportement désiré, dans le cas présent, ignore pour ignorer la fermeture de l’écran.

HandleLidSwitch=ignore

source: http://ubuntuhandbook.org/index.php/2013/12/change-behavior-when-lid-is-closed/

[Memo] Supprimer une règle Iptables

Lister les règles avec un numéro de ligne :
iptables -L INPUT -n --line-numbers

Supprimer une ligne particulière (avec le numéro de la colonne de gauche) :
iptables -D INPUT numeroDeLaLigneASupprimer

 

Source: http://nicolasolivero.wordpress.com/2010/01/24/supprimer-une-regle-iptables/

Désactiver l’environnement graphique sur Ubuntu Desktop

Une petite astuce rapide pour me rappeler comment désactiver le lancement de lightdm sur une machine qui n’a pas besoin d’environnement graphique permanent, sans avoir à désinstaller quoi que ce soit.

Dans /etc/default/grub, modifier la ligne

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

en

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
puis lancer la commande sudo update-grub dans un terminal.

L’ordinateur démarrera désormais en mode texte, sans lancer lightdm. En effet, dans /etc/lightdm.conf, on trouve ceci:


# Check kernel command-line for inhibitors, unless we are being called
# manually
for ARG in $(cat /proc/cmdline); do
if [ "$ARG" = "text" ]; then
plymouth quit || :
stop
exit 0
fi
done

qui indique de quitter plymouth si le mot text est dans les arguments.

  • Il suffit d’effectuer l’opération inverse (supprimer le mot « text » du fichier de configuration de grub) pour réactiver le lancement graphique.
  • Une fois l’ordinateur démarré, il suffit de se logguer en console et de lancer la commande startx pour activer l’interface graphique.
  • Notez qu’il est possible de modifier les arguments de grub lors du menu de sélection en appuyant sur la touche « e » et de supprimer le mot « text » de la ligne adéquate pour lancer ponctuellement l’ordinateur avec l’environnement graphique automatique.

source: http://askubuntu.com/questions/16371/how-do-i-disable-x-at-boot-time-so-that-the-system-boots-in-text-mode

MYSQL: start: Job failed to start

Ou

error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock »

La première chose à faire est de consulter le fichier de log d’erreurs .

Attention: sur mon installation, je me suis fait avoir parce que j’avais un fichier /var/log/mysql.err vide. Or, le fichier est /var/log/mysql/error.log !


root@pouf:/var/log/mysql# tail error.log
130911 14:18:52 InnoDB: Compressed tables use zlib 1.2.3.4
/usr/sbin/mysqld: Can't create/write to file '/tmp/ibUjgCIe' (Errcode: 13)
130911 14:18:52 InnoDB: Error: unable to create temporary file; errno: 13
130911 14:18:52 [ERROR] Plugin 'InnoDB' init function returned error.
130911 14:18:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130911 14:18:52 [ERROR] Unknown/unsupported storage engine: InnoDB
130911 14:18:52 [ERROR] Aborting
130911 14:18:52 [Note] /usr/sbin/mysqld: Shutdown complete

Le message d’erreur (sur la deuxième ligne lue) indique qu’il ne peut pas créer de fichier temporaire dans /tmp. Un coup d’oeuil sur les permission de tmp nous le confirme.

root@pouf:/# ls -l /|grep tmp
4849665 drwxrwxr-x 16 manu manu 20K sept. 11 14:20 tmp

Les propriétaire/groupe ne sont pas bons, et les permissions non plus! Il s’agit sans doute d’un script ou d’un paquet mal construit qui a modifié tout ça (en particulier les dpkg -x qui changent les permissions du répertoire courant!)
sudo chown root:root /tmp
sudo chmod 777 /tmp
sudo chmod +t /tmp

Problème corrigé, mysql redémarre alors correctement. C’est tout bête, mais j’ai perdu une heure à comprendre pourquoi mon système, et en particulier mysql ne fonctionnait plus correctement.
Si ça peut aider…

Déplacer les base mysql sur Ubuntu

J’ai voulu déplacer des bases mysql pour les placer sur une autre partition, mais sur Ubuntu, il ne suffit pas de déplacer les bases pour pourvoir relancer le serveur, même en ayant modifié le fichier my.cnf.

L’erreur était la suivante dans le fichier /var/log/mysql/error.log

/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
120902 16:57:07 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120902 16:57:07  InnoDB: Initializing buffer pool, size = 8.0M
120902 16:57:07  InnoDB: Completed initialization of buffer pool
120902 16:57:07  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

J’ai heureusement trouvé la solution sur La case de l’oncle tom après avoir beaucoup cherché mais en n’ayant trouvé que des suggestions non fonctionnelles pour mon problème.

Le problème vient de apparmor qui ne considère pas le nouvel emplacement comme fiable. Il suffit donc de modifier le fichier /etc/apparmor.d/usr.sbin.mysqld comme indiqué pour pouvoir relancer mysql.

Pourtant, comme le dit Daniel, le fichier my.cnf comporte bien l’avertissement suivant:

# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

Comme quoi, vouloir aller trop vite pour gagner du temps et se jeter sur le net n’est pas toujours la bonne solution…

Note a moi même: prendre l’habitude de lire les commentaires des fichiers de configuration, ça peut aider.

Source: La case de l’oncle tom

Ubuntu: system halted ou le poste ne s’éteint pas

L’ordinateur ne s’éteint pas

J'ai dit halte!
Depuis ubuntu 11.04 ((il me semble)), un problème récurent se produit: lors d’une demande d’arrêt, le poste reste sous tension et un message indique laconiquement:

*Will now halt
[...] System halted

C’est d’autant plus embêtant que parfois la commande entrée manuellement dans un terminal fonctionne sans provoquer ce problème, mais que dans un script ou avec certains logiciels, le système ne se coupe pas. Et si le système n’est pas coupé, impossible de démarrer les postes par wake on lan!

J’avais écrit à ce sujet en donnant une solution de contournement qui ne fonctionnais pas systématiquement non plus…

A noter que ce problème apparait lors d’une mise à jour ou d’une installation neuve, quelle que soit la distribution basée sur ubuntu (voyager, mint, Xubuntu, …)

Je suis tombé sur l’explication de Steve Langasek (vorlon) sur bugs.launchpad qui éclaire ce problème:

Ok, j’ai travaillé à ma façon sur toutes les formes de ce bug maintenant, et je dois conclure que ce comportement ne peut pas / ne devrait pas changer.

– La commande «shutdown» a trois options: « -h » (arrêt ou mise hors tension), ‘-H’ (arrêt), et «-p» (hors tension).
– La commande «halt» fait référence à -H,  par défaut.
– La commande «poweroff» fait référence à -p, par conception.
– La configuration de /etc/default/halt affecte *uniquement* le comportement lorsque ni -H ni -P n’a été spécifié.
– Il n’y a pas moyen de faire «halt» correspondre par lui-même à «poweroff», sans qu’il soit impossible de faire un véritable «arrêt».
– Ce sont toutes des options standard qui ne devraient pas être changé.

Donc, je ferme ce rapport de bug comme «wontfix». Le comportement actuel est incompatible avec le comportement arriviste précédent, mais ce comportement était bogué. Le comportement actuel est correct, et je crains que les gens vont juste devoir apprendre que «halt» ne signifie pas ce que vous avez été amené à croire que cela signifie.

Si vous voulez que le système se coupe, vous avez besoin pour fonctionner soit de « shutdown -h now», «halt -p», ou «poweroff». Toutes ces trois commandes fonctionnent. «halt -p» est la plus courte et probablement la plus compatible avec la mémoire musculaire existante.

Même si le ton est un peu hautain à mon goût ((pour les pauvres utilisateurs perturbés que nous sommes, et vraiment nombreux au vu des pages complètes de google à ce sujet)) , il est logique de comprendre que « halt » arrête le système informatique ((ce qu’il fait d’ailleurs très bien comme le prouve le message « system halted »)) et que « poweroff  » coupe l’alimentation matérielle.

Le problème est que pendant des années nous avons appris à utiliser « halt » plutôt que « shutdown -h » ou « poweroff » et qu’il nous semble que ce nouveau comportement est un bug, alors que c’est l’ancien comportement qui était anormal. Il va falloir commencer à changer certaines habitudes…

On peut contourner ce comportement en modifiant les aliases (alias halt= »halt -p ») mais c’est à faire pour tous les utilisateurs et ne fonctionne pas pour les scripts ou programmes qui ne lancent pas un shell.

De plus, sur la 10.04, vous constaterez que « halt » est un lien vers la commande « reboot »… D’autant plus surprenant que « reboot » fonctionne…

Eteindre ubuntu ET l’ordinateur

Note: la solution proposée par chmd dans les commentaires est en effet plus propre et conseillée.

Je me trouve confronté à des logiciels écrits il y a quelques années qui font appel à la commande halt et à qui je peux difficilement expliquer ((pour diverses raisons…)) que c’est une mauvais habitude, mais une solution de comportement existe en interceptant la commande halt et en la renvoyant vers poweroff

  • renommez la commande halt en autre chose

sudo mv /sbin/halt /sbin/haltorig

  • Créez un programme /sbin/halt qui fera appel à « poweroff » ou « shutdown -h now »

#!/bin/sh
/sbin/poweroff

puis sudo chmod +x /sbin/halt

On retrouve ensuite un comportement « normal » ((le comportement attendu, à savoir une coupure propre, même s’il vaudrait mieux prendre la bonne habitude immédiatement)) du système.

Depuis quelques jours que je teste cette modification, je n’ai remarqué aucun effet de bord, ni graphiquement, ni sur le fonctionnement des autres programmes. À part que c’est un bonheur de pouvoir à nouveau éteindre ses machines par cron ou ssh et de pouvoir les relancer par WOL.

J’ai pensé que vous trouveriez cet article utile ;oD

Activer XDMCP sur Ubuntu Lucid 10.04

Cette astuce fonctionne peut être avec les versions suivantes, mais je ne l’ai pas testée. A confirmer.

Si vous avez besoin d’utiliser XDMCP sur votre réseau, vous constaterez qu’avec la « nouvelle » version de GDM, il n’est plus possible de l’activer facilement ((en tout cas, pas aussi facilement qu’avant)).

Or, il suffit de quelques manipulations pour la remettre en place.

Paramétrer le serveur XDMCP

Tout d’abord, il faut créer le fichier /etc/gdm/custom.conf qui va enregistrer les options de GDM, et en particulier celles concernant XDMCP.

Remplissez le avec ceci:

[daemon]
 User=gdm
 Group=gdm
[security]
 DisallowTCP=true
[xdmcp]
 Enable=true
 DisplaysPerHost=2
 HonorIndirect=false
 MaxPending=4
 MaxSessions=16
 MaxWait=30
 MaxWaitIndirect=30
 PingIntervalSeconds=60
 Port=177
[greeter]
[chooser]
 Multicast=false
[debug]
 Enable=false

Il suffit ensuite de redémarrer le service GDM pour activer le XDMCP.

service gdm restart

Cependant, si vous avez désactivé IPV6 sur votre réseau, cela ne fonctionnera pas, puisque XDMCP écoute par défaut en IPV6 désormais. Vous pouvez le voir en root avec la commande netstat:

root@test4:/home/manu# netstat -putan|grep 177
udp6       0      0 :::177        :::*        646/gdm-binary

Il faut alors désactiver IPV6 sur l’ordinateur qui diffusera son affichage, par exemple en le désactivant au niveau du noyau.

On peut le faire en rajoutant une option au fichier de configuration de grub. Modifiez les fichier /etc/default/grub pour ajouter l’option « ipv6.disable=1 »

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

Reconstruisez le fichier de configuration de grub par « sudo update-grub » puis redémarrez votre ordinateur. Netstat vous indique alors que XDMCP écoute en IPV4 ((notez le 6 qui a disparu et la notation des adresses))

root@test4:/home/manu# netstat -putan|grep 177
udp       0      0 0.0.0.0:177        0.0.0.0*        658/gdm-binary

Utiliser le client XDMCP

On peut utiliser Xming depuis Windows, mais depuis Linux, il est plus simple d’utiliser tsclient. Dans la liste des protocoles, si vous ne voyez pas XDMCP, c’est qu’il vous faut l’installer le paquet xnest

sudo apt-get install xnest

tsclient avec XDMCPEnsuite, pour la connexion, c’est du classique.

Un client XDMCP en console

Si vous désirez lancer une session XDMCP systématiquement, il est inutile se charger gnome ou un gestionnaire de fenêtres simplement pour lancer tsclient puis votre session XDMCP. Il est possible de lancer celle ci directement.

Désactivez le lancement de GDM, puis logguez vous sur l’ordinateur et tapez la commande suivante:

/usr/X11R6/bin/X -query 192.168.1.2

où 192.168.1.2 est le serveur sur lequel vous avez activé XDMCP.

Sources:

Tftpd-hpa sur Lucid (erreur TFTP open timeout)

La mise à jour du programme tftpd-hpa sur lucid modifie son fichier de configuration par défaut. Si vous utilisez des clients légers avec LTSP, vous vous retrouvez avec des clients qui s’arrêtent à l’erreur PXE: TFTP open timeout juste après avoir obtenu leur adresse IP du dhcp.

Avant, votre fichier de configuration était ainsi:

root@ltsp:#cat /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Or, maintenant, le fichier se présente ainsi:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS=""

Du coup, le serveur ne se lance plus (il n’apparait pas dans les processus) même si vous avez un message disant qu’il est déjà en cours de fonctionnement lorsque vous tentez de le relancer.

Il suffit alors de modifier votre fichier de la manière suivante:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Relancez ensuite votre serveur tftpd et vos clients devraient démarrer.

Si vous avez utilisé des outils qui paramètrent automatiquement le fichier de configuration avec l’ancienne version, réinstallez le paquet pour obtenir le nouveau fichier de configuration:

sudo apt-get install --reinstall tftpd-hpa

puis effectuez manuellement les modifications.

Désactiver le lancement de GDM sur Lucid

Sur l’une de mes machine, destinée à un usage spécifique dont je parlerais plus tard, j’avais besoin d’avoir une interface graphique pour l’installation et le réglage d’un logiciel particulier.

Mais une fois celui ci configuré, je souhaitais que GDM ne se lance plus, sauf à la demande. J’ai donc installé une version « desktop » puis j’ai cherché à désactiver GDM.

Or, si cela était évident (ou du moins connu) dans les versions précédentes, en supprimant le lien de lancement dans /etc/rc2.d ou avec update-rc.d, avec upstart c’est désormais différent.

Les programmes lancés au démarrage sont situés dans des fichiers de configuration placés dans /etc/init. Celui qui nous intéresse est gdm.conf.

Il faut modifier le fichier de la manière suivante:

de

# gdm - GNOME Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
 
description    "GNOME Display Manager"
author        "William Jon McCann &lt;<a class="linkification-ext" title="Linkification: mailto:mccann@jhu.edu" href="mailto:mccann@jhu.edu">mccann@jhu.edu</a>&gt;"
 
start on (filesystem
          and started dbus
          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
          or stopped udevtrigger))
stop on runlevel [016]
 
emits starting-dm
 
env XORGCONFIG=/etc/X11/xorg.conf
...

à

# gdm - GNOME Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
 
description    "GNOME Display Manager"
author        "William Jon McCann &lt;<a class="linkification-ext" title="Linkification: mailto:mccann@jhu.edu" href="mailto:mccann@jhu.edu">mccann@jhu.edu</a>&gt;"
 
start on []
#start on (filesystem
#          and started dbus
#          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
#          or stopped udevtrigger))
stop on runlevel [016]
 
emits starting-dm
 
env XORGCONFIG=/etc/X11/xorg.conf
...

Relancer ensuite l’ordinateur, GDM ne se lancera plus au démarrage, et vous pourrez alors vous connecter sur les consoles.

Ce n’est pas une astuce exclusive, mais j’ai perdu assez de temps à chercher la réponse que je le note pour savoir où le retrouver.

Ne vous affolez pas parce que vous serez en mode texte, vous verrez qu’on arrive à faire des choses sympas ensuite.

Par exemple, vous pouvez vous identifier avec votre mot de passe et lancer la commande startx pour lancer votre environnement graphique.

Dans un prochain article, nous verrons qu’il y a mieux…

Voir l’occupation des dossiers avec NCDU

Vous connaissez certainement Baobab, qui permet de naviguer rapidement dans le système de fichier pour trouver quel est le dossier ou le fichier qui prend tant de place (( L’équivalent pour windows est WinDirStat )).

Mais quand on se trouve sur une machine qui n’a pas d’interface graphique, ou par SSH ?
Effectivement, on peut s’en sortir à grand coup de du, grep et find .

Par exemple, et vous conviendrez que c’est facile à mémoriser :

du -cks * | sort -rn | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e  « ${size}${unit}\t${fname} »; break; fi; size=$((size/1024)); done; done.

Mais il n’est pas du tout pratique de se construire une représentation de l’arborescence pour agir efficacement et rapidement.

Confronté à un manque surprenant de place sur un NAS distant venant à peine d’être installé (500 Go / 1 mois), j’ai recherché un outil me permettant de trouver quel utilisateur squattait la place.

NCDU, pour NCurses Disk Usage, permet d’analyser le système de fichier, en tout cas l’arborescence dans laquelle vous vous trouvez ou celle que vous lui indiquez, et de naviguer dedans. Et de supprimer les fichiers/dossiers inutiles que vous rencontreriez.

Dans mon cas, supprimer le dossier de films de vacances (( mouais… )) d’un utilisateur a permis de retrouver de quoi travailler confortablement pour les autres.

NCDU se trouve dans les dépôts officiels, et un simple sudo apt-get install ncdu vous permettra de profiter de ce formidable cli tool.

Denyhosts: dé-blacklister une adresse IP valide

J’ai déjà parlé de denyhosts et de tous le bien que j’en pensais (dans l’article filtrer-les-connexions-ssh) mais il arrive parfois qu’une adresse IP valide et ne devant pas être bloquée se retrouve blacklistée ((parce qu’on a fait des essais, qu’on a oublié le mot de passe ou fait une erreur dans le port à utiliser…Et c’est du vécu.)). Du coup, l’adresse se retrouve systématiquement listée dans le fichier /etc/hosts.deny, ce qui fait qu’il est impossible de se connecter sur le serveur depuis ce site. Ce qui est catastrophique quand on a interdit toute connexion, SAUF depuis cette IP fixe…qui vient de se faire blacklister!.

Tout d’abord, lorsque vous mettez denyhosts en place sur un serveur, si vous avez une IP fixe depuis le site d’accès, pensez à vous autoriser en permanence afin de ne pas vous trouver renfermé dehors. Pour ce faire, il suffit d’ajouter la ligne suivante au fichier /etc/hosts.allow, en remplaçant les XXX par votre adresse IP fixe ((si votre IP est variable, ça ne sert strictement à rien. )):

ALL: XXX.XXX.XXX.XXX

Si vous êtes déjà enfermé dehors et que vous n’avez pas physiquement accès au serveur, il vous faut absolument changer d’adresse IP. Rebootez votre modem, ou allez chez un ami, un cybercafé ou au McDonald pour vous connecter au serveur et corriger le problème. Pensez ensuite à changer tous les mots de passe utilisés dès que vous rentrez chez vous.

Si vous avez blindé les accès au serveur et que vous n’arrivez pas à entrer, il va vous falloir être inventif. Dites vous que c’est comme ça qu’on apprend le métier et à être prudent ((Il existe deux types d’administrateurs : Ceux qui ont fait une très grosse connerie en tant que root et ceux qui vont en faire une… )) . J’ai bien fait 1000 km AR en voiture juste pour re-démarrer un serveur qui avait pris un « halt » dans la mauvaise console, ce qui ne m’est plus jamais arrivé…

Mais si vous avez réussi à rentrer sur votre serveur, vous avez fait le plus gros:

  1. Arrêtez denyhosts (/etc/init.d/denyhosts stop)
  2. Supprimez l’entrée du fichier /etc/hosts.deny correspondant à votre IP
  3. Profitez en pour ajouter votre IP au fichier /etc/hosts.allow comme indiqué plus haut
  4. Allez dans le dossier /var/lib/denyhosts ((sur Ubuntu. Dans le cas d’autres distributions, cela peut varier. Il semblerais que sur certaines versions ce soit dans/usr/share/denyhosts/data/ )). Vous devriez y trouver des fichiers comme ci dessous. Supprimez de ces fichiers toute occurrence à l’adresse IP concernée en supprimant complètement les lignes. la commande rgrep « xxx.xxx.xxx.xxx » /var/lib/denyhosts/ vous dira dans quels fichiers vous devez agir.
  5. Relancez ensuite denyhosts (/etc/init.d/denyhosts start)
  6. Envoyez moi une petite bénédiction
  7. Rentrez chez vous et allez vous coucher ((c’est en général parce qu’on est fatigué qu’on fait ce type de bêtise.))

Liste des fichiers du dossier /var/lib/denyhosts:

112253 -rw-r--r-- 1 root root 140K 2010-12-08 22:26 hosts
112142 -rw-r--r-- 1 root root 140K 2010-12-08 22:26 hosts-restricted
112251 -rw-r--r-- 1 root root 140K 2010-12-08 22:26 hosts-root
112146 -rw-r--r-- 1 root root 140K 2010-12-08 22:26 hosts-valid
112148 -rw-r--r-- 1 root root  108 2010-12-08 22:26 offset
113817 -rw-rw-rw- 1 root root  27K 2010-12-08 11:42 purge-history
112147 -rw-r--r-- 1 root root    0 2010-12-08 22:26 suspicious-logins
112143 -rw-r--r-- 1 root root  109 2010-12-08 22:26 users-hosts
112145 -rw-r--r-- 1 root root  14K 2010-12-08 22:26 users-invalid
112144 -rw-r--r-- 1 root root  118 2010-12-08 22:26 users-valid

Vérifiez quand même que l’IP n’est pas bloquée pour de bonnes raisons. Ça m’est arrivé dernièrement à cause de mauvais droits sur le home de l’utilisateur, donc le serveur SSH m’envoyait systématiquement bouler. Par conséquent, au bout d’un certain nombre d’essais échoués, denyhosts a considéré que j’étais illégitime et a blacklisté l’IP.

Je confirme avoir cherché un moment ((que de souvenirs passionnant et haletants j’aurais à conter à mes petits enfants…! )).

Convertir un carnet d’adresse LDIF en VCF (Thunderbird vers Roundcube)

Thunderbird exporte son carnet d’adresses en format LDIF ou CSV ou  TSV. Or, quand on veut importer son carnet d’adresses dans Roundcube qui n’importe que le format VCF, on est un peu coincé…

Du coup, j’ai écrit rapidement un petit programme python qui fait la conversion (ldif2vcf.py) d’un carnet d’adresses rapidement, puisque je n’ai pas trouvé de solution sur le net ((vive les formats ouverts!)).

Comme il est destiné à Roundcube et que celui ci n’utilise pas (pour l’instant) tous les champs disponibles dans une vcard, seules sont converties les informations de nom, prénom, nom à afficher et adresse mail principale. Par conséquent, si vous voulez l’utiliser pour autre chose, ne vous étonnez pas si toutes les informations ne sont pas récupérées dans le fichier de sortie ((mais la modification de code serait simple pour tout récupérer)).

Le fonctionnement est simple: vous indiquez le fichier d’entrée (.ldif) avec l’option « -f » et le fichier de sortie (.vcf) avec l’option « -o« . Si vous n’indiquez pas de fichier de sortie, le résultat s’affiche à l’écran.

Il faut bien sûr exporter préalablement votre carnet d’adresses depuis Thunderbird quelque part sur votre ordinateur.

exemple:

python ldif2vcf.py -f /tmp/adresses_personnelles.ldif

ou

python ldif2vcf.py -f /tmp/adresses_personnelles.ldif -o /tmp/sortie.vcf

L’option « -h » affiche une aide succincte.

[Apache2] Résoudre « Code d’erreur : ssl_error_rx_record_too_long »

En essayant de paramétrer un site en SSL sur Lucid, j’ai obtenu cette erreur de la part de Firefox ((à noter qu’Opera donne un autre type d’erreur, mais que je ne l’ai pas notée (erreur fatale 550, si ma mémoire est bonne) )). Erreur qui ne veut rien dire par elle même et une recherche sur le net ne vous donnera que peu de résultat au vu de la variété de réponses, parfois loufoques.

La première chose à faire est de vous assurer que le serveur réponde bien en HTTPS et non en HTTP, et de faire un GET:


telnet 82.XXX.XXX.XXX 443
Trying 82.XXX.XXX.XXX...
Connected to 82.XXX.XXX.XXX.
Escape character is '^]'.
GET /
<html>
<body>

<h1>It works !</h1>
<br />
</body>
</html>
Connection closed by foreign host.

Si vous obtenez du code html, comme c’est le cas ci dessus , au lieu d’une bouillie de caractères (ou de …rien), c’est que vous n’êtes pas en HTTPS mais en HTTP tout court.
Or, comme firefox s’attend à recevoir un certificat dont la longueur est faible, mais qu’il reçoit le code html complet d’une page, forcément il dit que c’est trop long.

Ce qui se trouve confirmé par la lecture du fichier /var/log/apache2/error.log:
[Sat Oct 09 14:40:18 2010] [error] [client 10.0.0.1] Invalid method in request \x16\x03
qui dit que la méthode d’accès n’est pas la bonne.

C’est pas très parlant, mais vu que j’ai galéré pour trouvé d’où venait le problème, j’essaye d’en faire profiter les autres.

Ah, au fait! Mon problème venait que dans la conf de mon virtualhost en SSL je mettais l’IP publique, vu que c’est le seul serveur en DMZ et que tout renvoie dessus. Je croyais le firewall transparent, vis à vis d’apache.
Je me trompais. Il faut mettre l’IP sur le réseau local, vu par la carte réseau elle même.
Après, ça va tout de suite mieux.

Mysql: Résoudre l’erreur « La connexion au « controluser » tel que défini dans votre configuration a échoué. »

Après une réorganisation de serveurs, et migration de mes bases Mysql vers une autre machine, j’ai pu voir dans la fenêtre de phpmyadmin l’erreur suivante:

« La connexion au « controluser » tel que défini dans votre configuration a échoué.« mysql

Comme je passe de la hardy vers la jaunty (LTS to LTS) pendant le déplacement, je me suis dit que quelques différences pouvaient exister et afficher ce message d’erreur qui ne m’empêchait pas de me connecter à phpmyadmin.

Puis je me suis souvenu que pendant l’installation de ce programme, il m’avait demandé plusieurs fois la configuration de MySql sans arriver à s’y connecter. Et dans le speed de la migration, j’ai oublié de vérifier que ça fonctionnait correctement, vu que j’arrivais à me connecter. Et que les principales opérations étaient effectuées en ligne de commande.

Après une recherche un peu plus poussée dans le code des fichiers de phpmyadmin, je me suis rendu compte qu’il cherchait à utiliser l’utilisateur phpmyadmin. Utilisateur visible dans les privilèges de l’ancien serveur, mais pas sur les privilèges du nouveau.

J’ai donc créé un nouvel utilisateur nommé « phpmyadmin » pour le serveur « localhost » ((très important: « localhost », pas autre chose)) avec le mot de passe permettant tous les privilèges, à savoir celui de root, et j’ai donné un droit d’usage simple, non Grant.

Il parait que lancer sudo dpkg-reconfigure phpmyadmin peut résoudre le problème, mais cela n’a pas fonctionné dans mon cas, au contraire de la création manuelle de l’utilisateur.

Classé dans la catégorie « ça a fonctionné pour moi ».

Ubuntu Lucid: résoudre l’erreur « service xxx start: exec:129: start: not found »

Sur certains système Ubuntu Lucid fraichement installés, j’ai remarqué une erreur étrange qui n’est pas systématique, alors que le disque d’installation est le même (pas une copie, mais véritablement le même) et que les ordinateurs sont parfois différents mais parfois identiques.

Je viens de reconstater l’erreur sur deux ordinateurs strictement identiques (seuls les numéros de série changent), installés l’un après l’autre avec le même disque d’installation.

Sur l’un des systèmes, pas de problème. Sur l’autre, des erreurs non flagrantes apparaissent:

A l’installation d’un programme lançant un service, il apparait une erreur de ce type:

...
Paramétrage de cups-pdf (2.5.0-12) ...
   * Reloading Common Unix Printing System: cupsd                        [fail]

Quand on relance manuellement le service, on a ceci:

#service ssh restart
exec: 129: restart: not found

C’est bien sûr la même chose avec stop, restart, …

Après beaucoup de recherches, j’avais trouvé que c’était un problème dû à udev. Je ne me souviens plus de la raison donnée à l’époque.

Comme le problème vient de m’arriver de nouveau, je vous donne la solution, au cas où vous vous trouveriez dans le même cas: il faut réinstaller udev et redémarrer l’ordinateur (facultatif, mais préférable pour que tous les services soient lancés dans l’ordre prévu)

sudo apt-get install --reinstall udev
sudo apt-get install --reinstall upstart

Je dis que ce n’est pas flagrant, parce que la première fois, j’ai livré l’ordinateur sans constater de dysfonctionnement à l’usage. Alors que j’avais testé le fonctionnement général, comme à chaque fois. C’est le fait de devoir relancer manuellement cups à chaque fois pour pouvoir imprimer qui a révélé le problème.

Aujourd’hui, je ne me fais plus avoir.

Ubuntu ne sera plus soutenu sur SPARC et Itanium

processeur sparcLe comité technique de Canonical a voté, lors de sa réunion d’août, le choix de ne plus apporter de soutien aux versions  IA64 et Sparc du fait que ces deux plateformes ont été sans soutien dédié depuis un certain temps, et le manque de qualité de ces versions.  Les utilisateurs de ces plates-formes bénéficieront des mises à jour et correctifs de sécurité pour la version 10.04 jusqu’en avril 2013.

Du fait du peu d’utilisation de ces processeurs, ou de leur utilisation très spécifique, les développeurs se concentraient (ou migraient) vers les versions x86. Cette décision fait suite à une réflexion lancée sur le sujet par un développeur de Canonical, Scott James Remnant.

Donc, à partir d’Ubuntu 10.10, le caractère multi plateforme de la distribution sera moins universel. Cependant, Ubuntu continuera de ne pas être seulement présente uniquement  sur les processeurs x86, puisque les processeurs ARM, équipant entre autres les tablettes et les terminaux mobiles, intéresse les développeurs pour les applications mobiles et embarquées.

Rappelons que les processeurs ARM possèdent une faible consommation électrique, ce qui fait qu’on les trouve principalement dans les systèmes embarqués, mais le fondeur Marvell a annoncé la sortie de processeurs gravés en 40 nm destinés à des serveurs simples tels des serveurs web sur ARM. Or, à l’époque des économies imposées et du déficit énergétique de la terre, je pense que diviser la consommation électrique des datacenters par 5 risque d’en intéresser plus d’un, google le premier. Actuellement, seul le vieillissant windows CE fonctionne sur cette architecture, et un dirigeant de Microsoft a annoncé que Windows 7 ne gèrera pas les processeurs ARM. Une opportunité à saisir pour GNU/Linux, même si je reste persuadé qu’une réaction de Microsoft se fera sentir dès que ce marché ne sera plus un marché de niche.

Espérons que l’abandon d’une architecture profitera aux autres.

Communiquer par un tunnel crypté SSH avec votre serveur comme relai (depuis Linux)

tunnelierLorsque vous êtes en déplacement, connecté en wifi à une borne gérée par on ne sait qui, il est délicat d’accéder à vos comptes bancaires ou votre messagerie en ayant l’esprit tranquille.

En effet, rien n’empêche le propriétaire du point d’accès de surveiller tous les échanges sur cette borne, ou un pirate de sniffer les communications.

Il est possible d’utiliser votre serveur qui tourne à la maison, (voire même un serveur kimsufi, dédibox, ou autre), comme relai pour vos communication, à la fois pour la navigation web et pour les mails. L’important étant que vous ayez confiance dans la machine qui va vous servir d’intermédiaire et du réseau sur lequel elle est connectée.

L’avantage, c’est que c’est rapide et simple à mettre en place, même au dernier moment.

Précisions

Un tunnel ssh ne permet de passer que des protocoles basés sur TCP, au contraire d’un VPN qui permet de transporter tout type de trame IP et non IP en plus d’apporter un routage complet. Ce n’est donc pas un VPN au sens réel du terme, mais cela va vous permettre d’utiliser la sécurité du SSH sur la partie du réseau qui n’est pas fiable.

Creusons le tunnel

Votre ordinateur relai devra, bien évidemment, avoir un serveur SSH accessible depuis l’extérieur. L’idéal étant de pouvoir s’y connecter par clef plutôt que par mot de passe, ce qui vous permettra de fermer l’authentification par clef et de limiter les attaques. Mais les deux fonctionnent.

Je vous laisser lire la documentation pour mettre en place un serveur ssh si vous ne savez pas encore le faire.

Nous allons donc lancer une connexion vers notre serveur, et « binder » (lier) cette connexion à un port local afin que tout ce qui arrive sur le port local soit transféré sur la connexion SSH (et vice versa). Dans un terminal, qu’il faudra laisser ouvert tout le temps de la session, entrez ceci:

ssh -D 1234 utilisateur@serveur_relai

Un man ssh vous donnera plus de détails sur le fait que l’option -D fait que SSH se comporte comme un serveur SOCKS et vous rappellera que seul root peut utiliser les ports privilégiés. Nous utilisons arbitrairement le port 1234, mais vous pouvez utiliser n’importe quel port local supérieur à 1024 (lancé par un utilisateur non root) à condition qu’un service ne tourne pas déjà sur ce port.

Si votre serveur ssh ne tournait pas sur le port par défaut, vous pourrez alors utiliser cette commande en précisant le port de votre serveur:

ssh -D 1234:port_ssh utilisateur@serveur_relai

par exemple

ssh -D 1234:443 utilisateur@serveur_relai

ou

ssh -D 1234 -p 443 utilisateur@serveur_relai

Si vous fermez le terminal dans lequel vous avez ouvert le tunnel, la communication serait fermée et vos logiciels ne pourraient plus sortir. Il faudra donc ne pas le fermer tout le temps de la session.

Hey Ho, Hey Ho, on rentre … dans le tunnel

Maintenant que nous avons créé notre tunnel, il faut indiquer aux logiciels de l’utiliser.

Par exemple, pour firefox:

menu Édition > Préférences > Avancé > Réseau > Paramètres

Utilisez un proxy SOCKS qui est donc votre ordinateur (point de départ de la connexion SSH) sur le port indiqué (1234 dans ce cas) tel que ci dessous

Paramétrage pour Firefox

Pour vous convaincre que vous passez par votre serveur et non par la connexion wifi en cours, allez visiter un site comme http://www.monip.org/ qui vous montrera votre adresse IP externe. Si votre serveur a une IP fixe, vous reconnaitrez facilement votre IP. Sinon, visitez le site, un coup sans proxy, un coup avec, et vous verrez que l’ip n’est pas la même.

Par exemple, pour thunderbird:

Les avantages de cette solution, pour envoyer du mail, sont:

  • vous n’aurez pas à modifier le serveur SMTP d’envoi à chaque fois, même si des extentions existent pour compenser ce problème.
  • pas d’interception de vos mails par un éventuel proxy ou sniffer sur le réseau
  • l’adresse IP d’expédition est celle de votre serveur, pas celle de votre emplacement actuel (vie privée respectée)

Rendez vous à menu Édition > Préférences > Avancé > Réseau et espace disque > Paramètres et paramétrez tel que sur l’image suivante:

Paramétrages de mozilla thunderbird

Lorsque vous enverrez un mail, il passera par le tunnel et sera donc réellement envoyé par votre serveur relai vers votre propre fournisseur d’accès, indépendamment du FAI depuis lequel vous êtes actuellement connecté.

Pour les autres logiciels:

Le principe du paramétrage est identique aux exemples ci dessus. Cherchez dans leur configuration comment utiliser un proxy socks.

Ça peut aussi ne pas fonctionner!

En effet, si un proxy est paramétré sur votre réseau (pas chez vous, là où vous êtes connecté) et qu’il ne laisse pas passer le ssh, vous êtes bloqué. Mais il existe parfois des solutions:

  • Si le blocage du ssh est dû aux ports qui sont autorisés, il vous faudra mettre votre serveur ssh (chez vous) en écoute sur un de ceux ci. Il y a de fortes chances pour que le http et le https soient autorisés (sinon le proxy ne servirait à rien, autant débrancher le câble…).
  • Si le blocage est dû à l’analyse des flux par le proxy et que le ssh est refusé, il faudra passer par un tunnel http dans lequel vous ferez passer un tunnel ssh (ou ce que vous voudrez). Vous pouvez utiliser l’excellent http-tunnel qui vous sortira de l’impasse.
  • Si le proxy utilise un filtrage applicatif en plus du reste… c’est que l’admin est un acharné et que vous n’arriverez pas à sortir par cette voie.

Notez qu’il est possible de faire la même chose avec putty et Windows mais je vous laisser faire ça seuls, n’ayant plus de licence depuis longtemps, et encore moins l’envie de me salir les mains avec ça.

A lire aussi:

Accéder à un serveur MYSQL sur le réseau

Lorsque vous installez un serveur MYSQL (ou un serveur LAMP avec tasksel), celui ci est paramétré par défaut pour n’autoriser que les connexions provenant de localhost, pour des raisons de sécurité.

[root@halter]:# telnet 10.0.0.134 3306
Trying 10.0.0.134...
telnet: Unable to connect to remote host: Connection refused

Si on effectue un scan de port sur l’ordinateur hébergeant le serveur Mysql, on voit bien que le port par défaut de Mysql, le 3306, n’apparait pas. Il est donc impossible de se connecter à se serveur depuis un autre ordinateur du réseau.

[root@halter]:# nmap 10.0.0.134</code>
 
Starting Nmap 4.76 ( http://nmap.org ) at 2010-04-04 15:15 CEST
Interesting ports on vdomaine.com (10.0.0.134):
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
2000/tcp open  callbook
MAC Address: 00:1E:2A:B4:CA:xx (Netgear)

Pour indiquer au serveur qu’il doit autoriser les connexions provenant d’autres ordinateurs du réseau, il faut modifier le fichier de configuration de Mysql, le fichier /etc/mysql/my.cnf et modifier 2 lignes:

La première, dé-commentée par défaut, indique au serveur d’ignorer les requêtes extérieures. Il faut donc la commenter (ou la supprimer)

#skip-external-locking

La seconde indique au serveur sur quelle adresse il faut écouter les requètes. Par défaut, il s’agit de 127.0.0.1. Si vous voulez autoriser le réseau local, n’indiquez pas une adresse réseau mais bien l’adresse du serveur sur le réseau. D’où l’intérêt d’avoir des réglages IP fixes ou des baux permanents attribués par le DHCP. Dans le cas contraire, je vous promet des heures de recherche infructueuses avant de revenir dessus.

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 10.0.0.134

Une fois le serveur Mysql relancé, un nouveau scan montre l’ouverture effective pour Mysql:

[root@halter]:# nmap 10.0.0.134</code>
 
Starting Nmap 4.76 ( http://nmap.org ) at 2010-04-04 15:16 CEST
Interesting ports on vdomaine.com (10.0.0.134):
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
2000/tcp open  callbook
3306/tcp open  mysql
MAC Address: 00:1E:2A:B4:CA:xx (Netgear)

A partir de ce moment, une connexion au serveur a déjà beaucoup plus de chances de réussir:

manu@halter:~$ mysql -p -h 10.0.0.134 -u othtest -P 3306
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.1.41-3ubuntu11 (Ubuntu)
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql&gt;

Ce n’est pas une astuce extraordinaire, mais maintenant que j’en ai fait un article, je suis sûr de m’en souvenir et de ne plus perdre une matinée à trouver le problème lorsque je rechangerais mon adressage… Alors, j’imagine que ça sera utile pour d’autres que moi.

Gestionnaire de fichiers en ligne:jbc-explorer

Mes recherches sur un gestionnaire de fichier me permettent d’avoir des retours et des suggestions sur des programmes que je n’avais pas trouvé lors du défrichage du sujet. On m’a suggéré d’essayer jbc-explorer, ce que j’ai fait sans peur ni angoisse.

jbc-explorer est un programme GPL qui permet d’accéder à des fichiers que vous voudriez partager. Il ne répond absolument pas à mon cahier des charges, mais si j’en parle, c’est que j’en vois une utilité simple dont je parlerais après la présentation.

Ce logiciel ne permet pas, de base, d’envoyer des fichiers sur le serveur. Il ne permet QUE la consultation/téléchargement des documents en ligne, sans gestion d’utilisateurs et de droits associés. Considérez le donc comme un navigateur de documents en ligne plus que comme un gestionnaire de fichiers.

Le site en fait la présentation ainsi, et il faut reconnaitre (vous le verrez) que c’est juste:

Cet Explorateur Web permet de consulter des fichiers sur un serveur web comme sur son propre ordinateur. Il se comporte de la même manière que l’explorateur de fichiers de Microsoft Windows tel que nous le connaissons tous. De cette manière il est totalement intuitif d’utilisation.

Avertissements:

  • La dernière archive disponible sur le site date de septembre 2006. On peut donc considérer que le développement est stoppé et qu’il existe un risque de sécurité à utiliser ce programme.
  • La dernière news date de novembre 2007 et annonce une faille de sécurité sur toutes les versions sauf la dernière… :/
  • Le forum est encore actif à cette date, mais j’ai l’impression qu’il s’agit plus de réponses aux modules, qu’au logiciel lui même.

Installation

Ultra simple, il suffit de décompresser l’archive, de la copier sur le serveur, de donner les droits à l’utilisateur du serveur (www-data) et de se rendre à l’adresse. C’est tout.

Configuration

Il n’y a pas d’utilisateur d’administration créé à l’installation, c’est la première tentative de connexion qui crée le fichier des autorisations. Attention donc à bien être le premier qui se connecte au site.

La page de configuration, accessible une fois que vous êtes identifié, ne propose que peu d’options mais vous permettra de régler l’affichage et un peu le fonctionnement du logiciel.

Fonctionnalités

Elles sont simples:

  • Téléchargement des éléments (par clic droit + enregistrer sous)
  • Visualisation des fichiers txt
  • Galerie d’images, avec possibilité de diaporama

J’avais dit que c’était simple…

Il est possible d’ajouter une grande quantité de modules qui ajouteront des fonctionnalités, en particulier l’upload, l’édition de fichiers, des thèmes, un player audio, …

Conclusion

J’ai dit que le logiciel ne convenait pas à mon cahier des charges. Si j’en parle, c’est parce qu’on me l’a suggéré comme gestionnaire de fichiers en ligne et parce que je teste, donc je « rapportise ».

Là où je trouve un point positif au logiciel, c’est qu’il est possible de lui donner simplement l’aspect de XP (et un peu de Vista) par des skins CSS.

Le fonctionnement du diaporama est identique en tous points à celui de XP, avec les mêmes boutons disponibles en bas d’écran.

De cette manière, l’intégration dans le poste de travail est parfaite et les utilisateurs n’ont pas l’impression de changer de logiciel. J’ai tellement d’utilisateurs qui préfèrent ouvrir des partages sur leur windows dans tous les sens pour permettre ponctuellement au voisin d’accéder à des documents que rapidement le réseau entier est partagé dans tous les sens, en permanence, ce qui rend les virus heureux et facilite leur prolifération.

Je me dis que l’utilisation de ce logiciel, en attribuant un répertoire à chacun des utilisateurs, résoudrait le problème des partages (qui seront alors désactivés sans possibilité de les remettre). Du fait de ce que l’aspect reste proche de ce qu’ils connaissent, j’ai bon espoir que les habitudes ne soient pas un frein au changement de fonctionnement.

Par contre, par précaution et par sécurité, je n’autoriserais qu’un fonctionnement en interne, sans accès depuis internet.

Donc, ce n’est pas le gestionnaire de fichiers en ligne absolu que je recherche, mais je suis quand même content de l’avoir découvert.

Si vous désirez tester le logiciel, vous pouvez accéder à  la démo sur le site de jbc-explorer.

PS: le logiciel fonctionne bien avec l’UTF-8 à condition que le serveur web envoie la bonne information d’encodage.

Gestionnaire de fichiers en ligne: AjaxPlorer

Suite de mes recherches de gestionnaires de fichiers en ligne autonomes selon mon cahier des charges.

Voici le test d’AjaxPlorer, dont je sais que l’un des auteurs me lit, qui est un logiciel publié sous LGPL license et tous les modules utilisés sont des logiciels libres.

Attention à ne pas le confondre avec ajaxbrowser, ça n’a rien à voir.

L’installation

Décompression de l’archive téléchargée dans un répertoire du serveur web, attribution des droits à apache, puis accès avec le navigateur. J’ignore à quoi servent les deux fichiers xml (manifest et parameters) dans l’archive, mais il faut copier le dossier Ajaxplorer-2.5.5 contenu dans le zip sur le serveur web, et non le dossier issu de la décompression du zip.

Un premier test est effectué sur les droits du dossier et les paramétrages d’options. Bon point. Moins bon, c’est en anglais. Mauvais point, le lien pour expliquer l’erreur tombe sur une page 404…

A l’installation, création automatique d’un utilisateur admin avec le mot de passe admin . Je préfèrerais, vu qu’on m’impose déjà le login de l’admin, qu’on me demande le mot de passe à lui attribuer, plutôt que de rappeler de le modifier immédiatement. D’autant que si on découvre le logiciel, on peut ne pas trouver immédiatement l’endroit. La page des réglages devrait s’ouvrir immédiatement dès la première connexion de l’admin.

Ce fut le cas lors de ma deuxième installation, pas lors de la première. Peut être une mise à jour entre les deux?

Le look

Propre et épuré. J’aime bien, mes utilisateurs moins. Ça tranche avec leur environnement de bureau. Et puis, tout est en angles droits. Bon, les gouts et les couleurs, ça ne se discute pas mais on en parle pendant des heures. Et puis, ce que retiennent les gens d’un logiciel, c’est l’aspect graphique qui plait ou pas. Les 15 premières secondes sont primordiales, et si ça ne passe pas, les fonctionnalités importeront peu.

Pour l’anecdote, j’ai des utilisateurs qui ne veulent pas lâcher leur logiciel qui ne répond pas à leur besoin parce que celui qu’ils on leur plait. C’est idiot, mais comme ce sont eux qui choisissent, je ne peux pas les forcer à en changer…

Le bouton pour fermer les fenêtres est à gauche, or, c’est à droite qu’on va le chercher. C’est fatiguant à la longue. Pourquoi remettre en cause des années d’habitudes? A noter que c’est une modification que Lucid risque d’apporter et que ça rouspète grave sur les listes de discussion à ce sujet. Personnellement, je n’aime pas, et mes utilisateurs non plus.

Les paramétrages

C’est tout bête, mais j’ai peiné à trouver comment créer des utilisateurs. L’accès aux réglages n’est pas intuitif. Une fois qu’on sait où les chercher, ça va mieux.

Ajout d’une bannière ou d’un pied de page

L’impossibilité simple d’ajouter une bannière en haut de page est un frein pour mon usage.

J’en ai parlé, en entreprise, en mairie, en école, tout le monde veux un produit à ses couleurs. Une simple bannière avec un logo et un texte (du style: « Documents de l’association Machintruc ») est suffisant. Si le gestionnaire de fichiers en ligne est adopté massivement, il peut se retrouver sur plusieurs serveurs avec des secteurs différents et si on ne peut rapidement faire la différence d’un site à l’autre, ça va amener des problèmes.

Heureusement, la fouille de la FAQ permet de trouver l’info: il faut modifier les fichiers VotreInstallation/client/html/usertemplate-top.html et usertemplace_bottom.html, supprimer les commentaires de la partie nécessaire et personnaliser pour obtenir un affichage adapté à vos besoins.

(pas de commentaires sur l’exemple ci dessus: c’est pour que soit bien visible)

Les dossiers et utilisateurs

On peut créer autant de dossiers que voulu, ceux ci correspondant à des dossiers accessibles au serveur web (attention aux droits) et donner l’accès en lecture et/ou écriture aux utilisateurs créés. Du classique de ce qu’on attend de ce genre de logiciel.

A noter qu’il est possible de créer des dossiers en accès « système de fichiers », « serveur FTP », « Database Mysql », « système de fichiers sur SSH » ou « serveur distant via une API ». Je n’ai testé que le système de fichier standard car c’est la seule fonction qui m’intéresse pour l’instant, mais je vais me pencher sur les autres prochainement, ça m’a l’air très intéressant.

Info à savoir, un même utilisateur peut être loggué simultanément depuis plusieurs ordinateurs. Ça peut être un avantage ou un inconvénient, selon l’usage voulu. Plusieurs utilisateurs peuvent aussi être admin dans le logiciel.

Les logs

Très complets, intéressants pour savoir qui a fait quoi à quel moment.

Les logs ont des petits problèmes avec l’UTF-8, mais à l’affichage et sur le serveur, tout va bien. Négligeable, donc.

Fonctionnalités sur les fichiers

Les images

Lors de la sélection d’une image, un aperçu avec les détails du fichier apparait dans la fenêtre. Avec un menu permettant d’agir dessus.

Le lancement de l’option « voir en grand » affiche l’image, avec la possibilité de la voir en grand écran et même de lancer un diaporama sur toutes les images du dossier. J’aime bien. Les icones des boutons mériteraient d’être réduites lorsqu’on demande le plein écran; c’est dommage de perdre de la taille d’affichage pour des boutons qui devraient, à mon avis, s’effacer devant l’image, puisque c’est un grand affichage qu’on recherche.

Par contre, encore une fois, le bouton de fermeture du diaporama se trouve à gauche…

Les fichiers audio

Comme pour les images, un aperçu donne les informations sur le fichier, avec la possibilité directe de lecture.L’écoute du répertoire complet fonctionne aussi, avec des limitations que je trouve dommage:

  • Pas d’affichage du titre en lecture
  • Pas de liste des fichiers joués ou en attente
  • Pas d’affichage de la pochette, quand elle est présente dans le dossier

Ce n’est pas primordial, et pas dans mon cahier des charges, mais c’est dommage que ces détails (parce que ça reste du détail) gâchent ce qui pourrait être une superbe fonctionnalité: écouter SA musique depuis n’importe quel ordinateur sans grosse installation.

Peut être des fonctionnalités dans la prochaine version?

L’édition de fichier

Selon votre utilisation du gestionnaire de fichiers en ligne, vous aurez peut être besoin d’éditer des fichiers. Sauf que ça ne fonctionne que sur le PHP, le xml, le css et le txt, et que j’aurais (beaucoup) aimé pouvoir éditer en ligne des fichiers python. Par contre, ça ne fonctionne pas pour les fichiers .tpl, donc impossible de modifier les templates d’un de mes sites.

Pour les fichiers acceptés, la coloration syntaxique fonctionne correctement et ça peut être très pratique pour faire des modifications rapides dans un site web.

Partage public de fichiers

J’ai peiné à trouver la fonctionnalité « Public link » qui permet d’envoyer un lien vers un fichier pour autoriser un ami à télécharger celui si sans avoir à s’identifier. Il faut en fait fouiller la FAQ pour touver la solution: le dossier accessible au public est défini dans le fichier VotreInstallation/server/conf.conf.php à la valeur public à la racine de votre site. Il faut donc créer ce dossier (ou indiquer le nom d’un dossier existant) et le rendre accessible au serveur web (www-data) en écriture. Si le dossier n’existe pas ou n’est pas accessible, le bouton n’apparait pas.

Ensuite, vous pouvez partager des documents (pas des dossiers) en indiquant une durée de validité et même en restreignant l’accès avec un mot de passe. L’emplacement réel du fichier partagé est crypté dans un fichier PHP.

J’aime beaucoup! L’idéal serait que cette fonction puisse être réglée utilisateur par utilisateur, et non pas au niveau global du logiciel.

Seule restriction, cela ne peut se faire que fichier par fichier, et pas pour des dossiers, sauf à créer un zip de celui ci.

Le reste

Classique, avec possibilité de créer, supprimer, éditer, uploader si vous avez les droits. Vous pouvez aussi copier/déplacer des fichiers d’un dossier à l’autre, soit par glisser/déposer, soit en utilisant la fonction intégrée très puissante (la sélection multiple fonctionne!). On peut même télécharger un dossier complet en une seule fois, il est transformé en zip avant download (même si les accents posent problème dans le nom du zip).

J’aimerais quand même mettre en avant le fait qu’on peut uploader plusieurs fichiers à la fois en faisant une sélection multiple et que tous les fichiers partent sur le serveur dès la validation. Et c’est très rapide!

Vous pouvez mettre des dossiers en favoris (dans AjaxPlorer), voir les fichiers en liste ou en vignettes, classer les colonnes par nom, par type, par date, choisir la langue de fonctionnement utilisateur par utilisateur (anglais, français, néerlandais, allemand, italien ou espagnol).

A noter qu’un système de plugins permet d’ajouter , entre autre, des modes d’authentification, et que j’ai trouvé quelqu’un qui utilisait LDAP pour l’accès au programme.

Un forum actif existe pour poser ses questions, et si vous maitrisez l’anglais ou les services de traduction, vous aurez de fortes chances de trouver réponse à vos questions.

Ce qui me gène…

  • L’impossibilité de skinner l’affichage. Pour les même raisons que développées plus haut, et parce que j’aimerais que le gestionnaire en ligne s’intègre aux mieux avec l’environnement du bureau. Depuis Vista/Seven, naviguer dans AjaxPlorer donne le sentiment de revenir dans le passé. Depuis Gnome, on a l’impression de lancer une appli KDE.
  • Le clic droit sur un élément est très capricieux. Le menu disparait immédiatement, ou le clic sur l’élément du menu ne fait rien, ou le menu reste ouvert en permanence et il faut re-cliquer droit sur un autre fichier pour le fermer, … Gênant pour des utilisateurs qui ne sont pas à l’aise. Les boutons de la barre d’outil fonctionnent eux correctement.
  • Ce $µ*£*!§% de bouton de fermeture de fenêtres à gauche! Je ne m’y fais pas!
  • La documentation (et le site) en anglais. OK, pour toucher le plus grand monde il faut développer en anglais. Mais c’est un peu snober ses compatriotes et se couper de retours qui peuvent être intéressants et de proximité. Ajouter ne serait ce que quelques lignes en français pour présenter le logiciel et annoncer que les demandes en français sur le forum seront traitées.

Ma conclusion

Même si j’ai donné l’impression de critiquer tout du long, j’ai été très séduit par le logiciel. Il faut bien que je critique pour signaler les points positifs. Et puis, qui aime bien châtie bien.

En fait, c’est parce que je trouve ce logiciel très bien que je suis d’autant plus déçu de ce que j’ai signalé: avec quelques modifications qui me semblent peu importantes en terme de développement (mais je peux me tromper), ce logiciel pourrait devenir la solution absolue à l’accès des fichiers partagés ou non.

J’avais peur qu’Ajax soit lourd, mais c’est d’une fluidité supérieure à certaines opérations sur l’ordinateur local. Le logiciel est assez intuitif et aucune formation supérieure à 3 minutes n’est nécessaire pour l’utiliser.

Dans tous les cas, c’est le gestionnaire qui arrive pour l’instant en tête de mes tests, car il répond à mon cahier des charges, et je vais continuer à le suivre.

Identifiants déconseillés de Février

Avec un peu de retard (boulot, boulot…) voici les identifiants à éviter sur vos ordinateurs.

******************************************************************
Classement des logins et des adresses utilisés
pour le mois de Feb 2010
pour des tentatives de connexion
sur les serveurs de la société Absolacom
******************************************************************
******************************************************************
Classement des logins utilisés (105):
******************************************************************
root            575
admin           100
test            49
oracle          47
webmaster       46
administrator   45
backup          43
guest           43
user            43
web             42
superadmin      42
server          42
ftproot         42
www             42
access          42
super           42
account         42
sql             42
data            42
database        42
sa              42
Administrator   12
ts              11
db2inst1        9
staff           7
dan             6
mysql           4
mlmb            4
bin             4
sales           4
deploy          4
eaguilar        3
PlcmSpIp        3
gruber          3
sekretariat     2
estudiante      2
teamspeak       2
gamefiles       2
alexis          2
isidro          2
stud            2
db2fenc1        2
payala          2
plcmspip        2
delta           2
nagios          2
place           2
thomas          1
scott           1
lucus           1
gt05            1
aaron           1
horvat          1
aarne.rae       1
ventrilo        1
noe             1
dark            1
anonymous       1
peeters         1
darkman         1
upload          1
neoperfect      1
fluffy          1
jeffrey         1
chuck           1
sec             1
0116331077      1
rfmngr          1
thorarne        1
troot           1
hostmaster      1
murmur          1
luis            1
post            1
apple           1
mstr            1
jesus           1
dasusr1         1
mark            1
anyone          1
redmine         1
Mueee           1
dup             1
norton          1
bluelf          1
work            1
recruit         1
nina            1
ftp             1
dana            1
user1           1
manager01       1
jensen          1
antoine         1
trash           1
designer        1
passwd          1
wwwweb          1
william         1
student         1
huabo           1
a               1
lucas           1
globus          1
stephanie       1

******************************************************************
Nombre de tentatives par plage horaire:
******************************************************************
0-1    ######### (9)
1-2
2-3    #### (4)
3-4    ###### (6)
4-5    #### (4)
5-6    ### (3)
6-7    ############ (12)
7-8    ############ (12)
8-9    ###################################### (38)
9-10    ############### (15)
10-11    ########################## (26)
11-12    ############## (14)
12-13    ########### (11)
13-14    ########################### (27)
14-15    ################ (16)
15-16    ############################### (31)
16-17    ############################## (30)
17-18    ############################# (29)
18-19    ###################### (22)
19-20    ############ (12)
20-21    ################## (18)
21-22    ############################################# (45)
22-23    ############################## (30)
23-24    ###################################################### (54)

Comme d’habitude, les données complètes peuvent être trouvées dans le fichier de février: scanresult_feb_2010

Une nette augmentation des tentatives d’accès avec le compte root: quand on vous dit qu’il faut le désactiver dans /etc/ssh/sshd_config! Admin est aussi bien placé.

Un peu plus agité le matin, démarrage à 8h, une montée entre 15 et 19 heures, mais avec aussi un beau pic dans la nuit. Je suis persuadé qu’une bonne partie des ordinateurs allumés dans la journée mériteraient un bon nettoyage…

Gestionnaire de fichier en ligne: AjaxBrowser

Dans la série des test sur les gestionnaires de fichier en ligne, voici ajaxbrowser (à ne pas confondre avec AjaxPlorer qui arrive dans le prochain test)

Ajax dans le nom? Je m’attends à de la rapidité et de l’ergonomie.

L’installation

Simplicime. Il suffit de télécharger le fichier php d’installation, de le copier dans le répertoire voulu, de donner les droits à www-data (classique) et de lancer son navigateur sur le fichier d’installation. Et c’est fini.

  • Pas bon: le fichier d’install reste en place à la fin de l’installation et pas de message disant de le supprimer. Mauvais signe.

Les paramétrages

Quand on se rend sur le site, il est demandé de créer un utilisateur d’administration.

  • Pas bon: si quelqu’un tombe sur le site avant moi, il peut créer son admin et je n’ai pas accès à mon site. Je préfèrerais créer l’admin pendant l’installation!

Les paramétrages s’ouvrent ensuite directement. Sauf qu’ils sont en anglais et que choisir le français ne suffit pas, il faut se déconnecter/reconnecter pour avoir le français.  Bon, l’anglais n’étant pas un problème pour moi, passons sur ce point.

Les réglages sont assez limités, autant pour les users que pour les droits. L’aspect graphique est simpliste, sans possibilité de skinner la page.

Utilisation

Premier point négatif: pas de message quand on se trompe dans l’identifiant/mot de passe. Me suis-je trompé, ou c’est le site qui ne marche pas ?

Je me connecte en tant qu’utilisateur sans droits, un clic sur un fichier permet de modifier le nom du fichier (même s’il ne sera pas effectif), c’est assez perturbant. On ne sais plus où cliquer pour ne pas faire de bêtise…:(

En vrac:

  • Un clic sur une image l’ouvre directement.
  • Possibilité de télécharger les fichiers en archive (même s’ils ne le sont pas) (pas testé)
  • L’édition directe du fichier ne fonctionne pas
  • Possibilité de voir le contenu des dossiers en arborescence ou en vignettes

Conclusion

Je n’irais pas plus loin avec ce navigateur de fichiers, il est loin derrière ce que j’ai pu voir par ailleurs. Autant à l’aspect graphique que pour l’ergonomie d’utilisation. Ce n’est pas une critique vis à vis du développeur qui a l’air d’être seul sur le projet, je reconnais le travail effectué (et je serais sans doute incapable de faire la même chose), mais ça ne répond pas à mon cahier des charges.

Gestionnaire de fichier en ligne: définition des besoins

Je poursuis mon enquête sur les gestionnaires de fichiers en ligne.

Je me rends compte que je n’ai pas défini clairement mes besoins (qui feront mes critères d’appréciation et de sélection). Les voici donc:

Fonctions primordiales

  • Pas de base de données pour la gestion des fichiers: mes documents doivent conserver l’arborescence qu’ils ont dans le navigateur de fichier. J’y accède en local avec un montage de la partition sur mon poste. Et je veux pouvoir conserver les programmes de sauvegarde/synchro/gestion des droits déjà en place. Et la mise en place du gestionnaire en ligne y gagne en rapidité.
  • Gestion correcte des caractères accentués dans le nom du fichier/dossier. Tous mes postes sont en full UTF8, y compris le serveur apache. Il faudra y passer un jour où l’autre, autant le faire maintenant. Donc, je ne veux pas d’un gestionnaire qui me force à fonctionner en ISO-8859-x, ni dans l’affichage des noms de fichiers, ni dans l’écriture des noms de fichiers sur le disque. D’autant que sur mon montage, moi je les écrit en UTF8.
  • Gestion correcte des utilisateurs pouvant accéder aux fichiers. Je veux que certains utilisateurs ne puissent que consulter (télécharger) et pas uploader. Je veux que d’autres aient les droits complets. Et je veux que les utilisateurs soient verrouillés dans leur espace. La sécurité des documents mis en ligne dépend très fortement des droits paramétrables dans le logiciel. Et ce n’est pas une option.
  • Sécurité d’authentification des utilisateurs: j’oublie directement les programmes qui utilisent un GET pour s’authentifier!
  • Pouvoir uploader plusieurs fichiers en même temps: l’idéal étant une sélection multiple, mais je me contenterais d’une sélection une par une, mais dans la même opération.
  • Installateur simple (une fois apache/PHP correctement configurés et les droits des fichiers d’installation corrects). Si l’installateur nécessite la création manuelle de fichiers et le paramétrage en édition texte (autre que ponctuelle) alors que PHP sait parfaitement faire ça, je n’ose imaginer le fonctionnement et la sécurité du logiciel…
  • Open source (obligatoirement, je veux savoir ce qui se fait dans le code) et avec une licence me permettant de le modifier/personnaliser. GPL idéalement. Payant possible (si je peux le tester complètement avant)
  • Simple d’usage pour un utilisateur pas trop expérimenté. Je parle d’usage, pas d’installation.
  • Projet actif: je veux pouvoir joindre le développeur pour obtenir des autorisations, reverser pour soutenir le projet et avoir un programme à jour. Pas question de prendre un risque avec la sécurité des documents, si une faille n’est pas corrigée.
  • Compatible avec Firefox: je ne croyait pas avoir à le préciser, mais je suis tombé sur un gestionnaire « optimisé » pour IE. Hors de question!

Fonctions qui seraient un plus

  • Visualisation/ouverture des documents sans téléchargement: c’est quand même plus facile d’ouvrir un fichier (texte/image/PDF) sur le serveur pour consulter une info, que de le télécharger, l’ouvrir, le supprimer. Si en plus on peut le faire pour les vidéos et les MP3, c’est parfait.
  • Possibilité de diaporama sur les fichiers: c’est vraiment une fonction dont je pourrais me passer, mais si ça le fait, c’est quand même agréable.
  • Pouvoir choisir un thème simplement: je compte l’utiliser pour plusieurs sites. S’ils se ressemblent tous, je risque de ne plus savoir sur quel site je suis. Et je n’ai aucune envie de trifouiller le code pendant des heures à chaque fois que je vais l’installer sur un site.
  • Pas de pub trop envahissante sur le logiciel dans l’usage de celui ci. Je ne supprimerais jamais* les copyrights, mais mes utilisateurs ne vont JAMAIS installer ce logiciel. Ils veulent pouvoir l’utiliser sans qu’on les bassine avec des mots comme « copyrights« , « GPL » et « NomDuLogicielVisitezMonSite! » tous les trois clics. Copyrights présents, OK, mais discrets. L’idéal étant un « A propos » accessible. Mais pour que le logiciel puisse être placé en entreprise, en haut à gauche doit être le logo de l’entreprise, pas le logo du MachinXplorer!
  • Un menu spécifique dans le clic droit. Plus l’utilisateur aura l’impression de travailler en local, moins il se rendra compte que les fichiers sont sur le net, et plus il sera bluffé de retrouver ceux ci sur un autre poste.

Ce sont MES besoins d’un gestionnaire de fichier. Ils peuvent évoluer au fur et à mesure de mes différents tests, mais je pense que l’essentiel est là.

J’en ai 3 en test actuellement (et bientôt publiés), mais n’hésitez pas à me proposer ceux que vous connaissez, s’ils correspondent à ces critères.

* par contre, je m’autorise à les déplacer au besoin. A moins que la licence l’interdise explicitement, auquel cas je n’utilise même pas le logiciel.

Gestionnaire de fichier en ligne: phpXplorer

Après mes tests sur extplorer, je me penche sur les autres gestionnaires de fichiers en ligne autonomes.

phpXplorer permet d’avoir accès à ses fichiers depuis un simple navigateur web (comme tous les autres) et ne nécessite pas de base de données, ce que je considère comme un avantage.

En effet, on peut passer ainsi d’une arborescence classique sur son ordinateur local à un accès en mode web sans modification particulière (excepté une gestion des droits), activer/désactiver cette fonctionnalité à volonté ou permettre des synchronisation ou des sauvegardes très rapides.

Test de phpXplorer

Premier point négatif, le site est vide, excepté une page de contact. Mauvais signe pour l’évolutivité du projet.

Mauvais signe aussi, les dernières modification des fichiers du programme datent de 2007 pour la version 3 preview

Difficile donc d’avoir confiance dans la sécurité des données dont l’accès peut être disponible par le net si des failles anciennes n’ont pas été corrigées.

J’ai quand même testé la version 0.9.37 proposée sur le site, afin de voir ce qu’il en était:

  • L’installation est simple. Tellement simple que je ne l’ai pas vu passer! Après copie des fichiers de l’archive et ajustement des droits à www-data, se rendre sur le site a juste affiché une page de compte rendu indiquant les fonctions de php utilisables. Pas de création d’utilisateur, d’admin ou de quoi que ce soit… La re-visite du site me connectait en guest immédiatement.
  • Création automatique, lors de l’installation, un administrateur « root » avec le mot de passe « root« . Vu qu’aucune doc n’est disponible, il m’a fallu du temps pour le trouver. Si le site avait été en ligne, c’eut été une faille de sécurité immédiate.
  • L’accès aux options d’administration n’est pas évidente, j’ai même pensé qu’il n’y en avait pas. En fait, il faut cliquer sur phpXplorer au dessus de la liste des fichiers pour obtenir un menu d’administration. L’emplacement est loin d’être standard. Bon, une fois qu’on le sait, ça n’a que peu d’importance.
  • Aucune fonction de paramétrage du logiciel lui même. Pour désactiver le bouton de connexion en guest de la page de login, il va falloir mettre les mains dans le code.
  • Gestion des droits des utilisateurs assez poussée. Trop pour le commun des mortels qui veut simplement accéder à ses fichiers.
  • Création des comptes vraiment non intuitive: il faut modifier chaque champ d’un tableau et valider à chaque opération, y compris pour le mot de passe et sa confirmation.
  • Plusieurs langues sont gérées, dont le français. Assez bien, d’ailleurs.
  • Gestion des caractères accentués catastrophique (bon, tous ceux que j’ai testé jusqu’à présent sont dans le même cas…). Il accepte de créer des dossiers avec des accents, mais pas d’y entrer, puisqu’il ne les trouve pas… Alors qu’il est bien codé en UTF8 sur le système (tout UTF8), le logiciel cherche un fichier en iso-8859 .
  • Le simple clic sur un fichier (c’est un lien) ouvre ou propose de télécharger ledit fichier. Pour des images, c’est parfait et très réactif.
  • Les home des utilisateurs en mode 777 (root y compris) ne fait rien pour me rassurer.

J’ai aussi testé la version 3 preview proposée:

  • Démarrage en allemand… Aïe! Je parle plusieurs langues, j’en lis plusieurs autres, mais pas l’Allemand. Après tests en aveugle et l’aide de google pour la traduction, j’arrive à paramétrer le root en français. Ah, non. C’est en Anglais. Pas grave, ça me va mieux.
  • L’aspect graphique est plus abouti que l’ancienne version
  • La création/modification d’utilisateurs est limitée. User et mot de passe. Pas de gestion des rôles, ce qui existait dans la version précédente.
  • Un menu d’administration apparait désormais sur la gauche et les « boutons » sont désormais en haut de fenêtre, ce qui est plus habituel.
  • Visibilité d’office des fichiers cachés. Ça me plait moins pour des utilisateurs néophytes qui vont rapidement faire du ménage, je les connais.
  • Pas d’évolution depuis 2007

Ma conclusion

L’idée est bonne, l’évolution est visible entre les versions 0.9.37 et 3.preview, mais c’est inexploitable en production. Surtout si on veut donner l’accès à des gens qui découvrent l’informatique, alors que l’utilisation de ce type de logiciel en est le but recherché. Au final, la version 0.9.37 est plus exploitable, même si elle n’est pas parfaite.

Pas d’évolution, pas de communauté, très peu d’infos sur les moteurs de recherche, …. Si vous cherchez un projet GPL dans lequel vous investir ou pour reprendre, celui ci peut être un bon candidat.

Je continuerais donc ma quête du gestionnaire de fichier en ligne autonome et simple d’usage.

Gestionnaire de fichier en mode web: eXtplorer

eXtplorer est un gestionnaire de fichier accessible par votre navigateur. Il est intégré nativement à Joomla, mais il peut fonctionner individuellement sur tout serveur Web + PHP. Aucune base de donnée n’est nécessaire à son fonctionnement.

Les fonctionnalités de ce gestionnaire de fichiers sont nombreuses : Vous pourrez parcourir l’arborescence des répertoires et des fichiers sur le serveur et éditer, copier, déplacer, renommer, supprimer, envoyer et télécharger des fichiers (en mode ftp ou fichier), gérer les utilisateurs et les droits d’accès sur répertoires et fichiers, créer et extraire des archives (ZIP, Tar, Tar/GZ, Tar/BZ).
Vous pourrez utiliser eXtplorer pour vous connecter à un serveur FTP et travailler comme si vous utilisiez un client FTP. L’interface est semblable à celle d’une interface de gestion de fichiers classique avec menu contextuel, drag&drop, grille et arborescence de fichiers.

L’installation est simplissime:

  • Téléchargez la dernière version sur sourceforge
  • Dézippez le dossier
  • Envoyez les fichiers sur votre serveur en FTP ou tout autre moyen adapté
  • Donnez les fichiers à l’utilisateur démon du serveur web. Avec Ubuntu et Apache: sudo chown -R www-data:www-data /var/www/eXtplorer-xxx
  • Connectez vous à l’interface avec votre navigateur: http://ip_du_serveur/eXtplorer-xxx ou http://nom_domaine/eXtplorer

Identifiez vous comme admin avec le mot de passe admin. Il vous est proposé de modifier immédiatement le mot de passe et je vous conseille de le faire¹. En effet, admin a tout pouvoir sur le répertoire /var/www, et par conséquent sur tous les sites qui y sont présents. Inutile de tenter le diable.
A partir de là vous pourrez créer des utilisateurs, leur donner des droits, uploader et télécharger des fichiers, …
Sauf qu’il y a quelques petits problèmes. Mais rassurez vous, je vous donne les solutions ci dessous.

Supprimer les langues inutiles

Cela ne pose pas de problèmes particuliers, mais si vous n’avez aucun utilisateur allemand ou suédois, à part faire le kéké avec 27 langues dans votre gestionnaire, ça ne sert à rien.

Donc, dans le dossier languages, supprimez tout sauf index.html, french.php, french_mimes.php, english.php et english_mimes.php.

Corriger le fichier de langue

Le programme n’étant pas écrit par des français, la traduction date un peu. Surtout, elle n’intègre pas certaines lignes qui sont pourtant nécessaire au fonctionnement du logiciel.

Vous allez rencontrer deux erreurs lors d’une tentative de téléchargement par un utilisateur ne possédant pas les droits d’amin ou de modification vous disant ceci: Notice: undefined index: _VERSION in /var/www/extplorer/include/header.php on line 45 et Notice: undefined index: message in /var/www/extplorer/include/result.class.php on line 123.

Cela peut être résolu simplement en ouvrant le fichier languages/french.php et en modifiant le début (ajoutez les 2 lignes repérées) tel que ceci:

// French Language Module for joomlaXplorer (translated by Olivier Pariseau and Alexandre PRIETO)
global $_VERSION; // ajoutez cette ligne
 
$GLOBALS["charset"] = "iso-8859-1";
$GLOBALS["text_dir"] = "ltr"; // ('ltr' for left to right, 'rtl' for right to left)
$GLOBALS["date_fmt"] = "d/m/Y H:i";
$GLOBALS["error_msg"] = array(
 // error
 "error"            =&gt; "Erreur(s)",
 "message"            =&gt; "Message(s)", // ajoutez cette ligne
 "back"            =&gt; "Page pr&amp;eacute;c&amp;eacute;dente", 
 
 // root
.....

Sauvez le fichier et fermez votre éditeur.

Gérer les droits correctement

EXtplorer est développé pour fonctionner avec Joomla et son gestionnaire d’utilisateur. Or, en mode autonome, vous pourrez constater que les utilisateurs, quels que soient leurs droits (sauf admin et modification), ne peuvent pas télécharger. Ils tombent toujours sur une erreur leur disant qu’ils ne peuvent pas utiliser cette fonction. Si vous voulez donner le droit à vos utilisateurs de modifier leur mot de passe, ils ne peuvent plus télécharger les fichiers. Ce serait dommage!

On trouve en effet ceci dans le fichier de configuration: // user permissions bitfield: (1=modify, 2=password, 4=admin, add the numbers). Sauf que le fichier de download ne prend en compte que le niveau 1 de permissions.

Ouvrez avec votre éditeur favori le fichier include/download.php et remplacez la ligne 58

if(($GLOBALS["permissions"]&amp;01)!=01) ext_Result::sendResult( 'download', false, $GLOBALS["error_msg"]["accessfunc"]);

par

if(($GLOBALS["permissions"]&amp;02)&lt;01) ext_Result::sendResult( 'download', false, $GLOBALS["error_msg"]["accessfunc"]);

Sauvegardez et fermez.

Astuces

  • C’est au moment de la création d’un utilisateur (ou lors de sa modification) que vous indiquez son home. Ne laissez pas ce qui vous est proposé par défaut, il s’agit de la racine du serveur web! Indiquez un dossier par son chemin absolu depuis la racine du système (par exemple /var/www/toto).
  • Le répertoire home des utilisateurs doit exister avant leur connexion. Je vous conseille de le créer avant de créer l’utilisateur.
  • Vous pouvez créer les dossiers des utilisateurs et ceux ci grâce à des scripts. Étudiez le contenu du dossier config, vous verrez que la structure est simple pour ajouter rapidement des dizaines d’utilisateurs.

Conclusion

J’ai découvert ce logiciel aujourd’hui³ (en pratique, parce que j’en avait entendu parler il y a quelques temps) et je n’ai pas constaté de difficulté particulière, ni à l’installation, ni à l’utilisation (une fois les fichiers modifiés comme indiqué ci dessus). Juste quelques limitations non bloquantes:

  • Tous les fichiers appartiennent à www-data². En cas de dossier partagé, impossible de savoir qui a modifié le fichier.
  • Chaque utilisateur peut avoir son propre espace de stockage, celui ci peut être partagé par plusieurs utilisateurs mais un utilisateur ne peut avoir accès à deux dossiers de deux utilisateurs autres. A moins d’utiliser des liens symboliques, mais question sécurité et confidentialité, c’est très difficile d’être sûr que les fichiers ne sont lisibles QUE par ceux qui le doivent.
  • eXtplorer a du mal entre l’UTF8 et l’iso8859-1. Certains noms sont parfois horribles, mais ça fonctionne.
  • Je n’ai pas testé la fonction permettant d’utiliser un serveur FTP depuis le logiciel, cette partie ne m’intéressant pas (mes utilisateurs se servant de filezilla qui fonctionne sur tous les OS)
  • Je suis assez réticent, pour des questions de sécurité, à utiliser ce type de gestionnaire de fichiers. Par rapport à un FTP simple, on ajoute des failles potentielles dans apache + PHP. Si un simple FTP vous suffit, contentez vous en, ce sera plus simple à sécuriser.
  • Pas de possibilité de skinner le logiciel. Il est assez beau tel quel, mais personnaliser un logiciel aux couleurs du client fait souvent toute la différence sur le contentement de celui ci. On peut bien sûr aller modifier les images une par une, mais elles sont dans des dossiers différents et je n’ai pas trouvé de règle d’utilisation de celles ci dans le code. Peut être dans la version suivante.

Il existe d’autres logiciels de gestion de fichiers en mode hébergé et je vais les regarder prochainement. EXtplorer nécessite en tout cas un peu de votre attention si vous cherchez ce type de logiciel.
1) si vous ne le faites pas, je parie qu’en moins de deux jours vous n’aurez plus du tout accès à votre serveur.
2) sur ubuntu. Sur d’autres distributions, l’utilisateur peut varier.
3) une demande d’installation d’une sorte d’ENT simple et rapide à mettre en place.

Problème d’accès au bureau à distance de XP

J’ai eu le cas d’un ordinateur sur lequel il était impossible d’accéder au bureau à distance. Pourtant, tous les réglages semblaient corrects et le firewall désactivé.

En allant regarder l’observateur d’évènement (section système), il y avait des messages indiquant Popup:\SystemRoot\System32\RDPDD.dll failed to load. Donc, le service RDP n’étant pas démarré, il n’était pas étonnant de ne pas pouvoir se connecter.

Par contre, aucun message d’erreur lorsqu’on tentait une connexion, simplement la disparition de la fenêtre de connexion à distance.

En faisant une recherche, il est apparu que le problème pouvait provenir de la carte graphique. Certains conseillent de désactiver l’accélération matérielle, mais cela n’a pas fonctionné pour moi, le panneau nvidia se plaignant en permanence de ne pouvoir afficher les options avancées.

Ce problème n’est pas spécifique à une carte graphique, quelle qu’en soit la marque, et peut même se produire aussi avec des pilotes d’imprimante. Il provient du fait que l’espace mémoire défini pour l’affichage de la session distante est trop limité pour y charger les pilotes. Cet espace mémoire est partagé pour les pilotes d’affichage et d’impression. La solution est donc d’indiquer explicitement une taille plus importante afin que le service RDP puisse se lancer correctement.

Sur les forums nvidia, on trouve la solution suivante:

  • Ouvrez regedit
  • Naviguez jusqu’à [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
  • Créez une nouvelle clef DWORD
  • Nommez la “SessionImageSize
  • Donnez lui la valeur 20, 40, 60 ou 80, ce qui va attribuer une quantité de mémoire au serveur RDP.
    • 00000020 = 32MB
    • 00000040 = 64MB
    • 00000060 = 96MB
    • 00000080 = 128MB
  • Essayez les valeurs les unes après les autres. La valeur 80 a fonctionné pour moi, pas les autres.
  • Redémarrez l’ordinateur
  • Tentez de vous connecter (depuis un autre ordinateur.  En local, il va vous jeter)
  • Si ça ne fonctionne pas, modifiez la valeur et recommencez.

J’ai quand même perdu une heure avec cette histoire. Espérons que ça vous sera utile.