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.

Tester sa vitesse de connexion Internet depuis le terminal

speedtest-cli permet de tester sa vitesse de connexion sans utiliser de navigateur, et sans les problèmes liés au flash nécessaire pour utiliser les sites de test. C’est un outil écrit en python fonctionnant sur Debian et dérivées, ainsi que sur Fedora et dérivées.

Pour l’installer, il vous faudra python-pip et lancer la commande suivante:

sudo pip install speedtest-cli

Ensuite, il suffit de lancer speedtest-cli pour avoir une idée du débit descendant et ascendant de votre ligne. Les valeurs obtenue sur la mienne sont variables (dépend de l’utilisation de la ligne, du PC, de l’heure) mais restent dans une fourchette qui permet de voir quel est le débit moyen.


usage: speedtest-cli [-h] [--bytes] [--share] [--simple] [--list]
[--server SERVER] [--mini MINI] [--source SOURCE]
[--timeout TIMEOUT] [--version]
Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli
optional arguments:
-h, --help show this help message and exit
--bytes Display values in bytes instead of bits. Does not affect
the image generated by --share
--share Generate and provide a URL to the speedtest.net share
results image
--simple Suppress verbose output, only show basic information
--list Display a list of speedtest.net servers sorted by
distance
--server SERVER Specify a server ID to test against
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--version Show the version number and exit

Résultat chez moi
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Free SAS (78.207.166.41)...
Selecting best server based on latency...
Hosted by Altanetica SL (Calonge) [80.18 km]: 188.878 ms
Testing download speed........................................
Download: 7.35 Mbit/s
Testing upload speed..................................................
Upload: 0.99 Mbit/s

Si vous utilisez l’option –share, vous obtiendrez l’adresse d’une image, montrant les résultats, que vous pourrez partager.

Pour faire la mise à jour, utilisez:

sudo pip install speedtest-cli --upgrade

[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/

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…

Faire un miroir avec apt-mirror de raspberry.org

Je ne vais pas vous réexpliquer comment faire un miroir local, mais comment arriver à faire un miroir pour le raspberry Pi.

Si vous essayez d’utiliser apt-mirror sur une version plus ancienne que Quantal, vous aurez une erreur disant que apt-mirror ne peut localiser le dépôt arm (binary-arm/Packages.gz). Or, il devrait chercher armhf (binary-armhf/Packages.gz)!

Il suffit d’aller modifier /usr/bin/apt-mirror avec un éditeur quelconque pour modifier la ligne 269 ainsi:

remplacer

if($config_line =~ /deb-(alpha|amd64|armel|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {
par

if($config_line =~ /deb-(alpha|amd64|armel|armhf|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {

en fait, on rajoute armhf avant arm, afin qu’il ne s’arrête pas sur la première correspondance, qui serait incomplète.

Sauvegardez, et ajoutez ensuite dans le fichier /etc/apt/mirror.list la ligne suivante:

deb-armhf http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

Il ne vous reste plus qu’à lancer apt-mirror pour créer votre miroir local et accélérer le téléchargement des paquets de votre Raspberry Pi.

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

Ubuntu: faire fonctionner la carte Ethernet Atheros AR8151

Ethernet controller [0200]: Atheros Communications AR8152 v2.0 Fast Ethernet [1969:2062] (rev c1)

Les derniers pilotes Athéros ne sont pas disponibles. Le serveur semble down ou cassé, mais il est possible d’installer les drivers pour faire fonctionner cette carte réseau grâce à un forum allemand.

Installons d’abord les éléments nécessaires

sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential

Nous allons ensuite installer DKMS pour installer le module

sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential dkms        # s'ils ne sont pas déjà installés
## Pour Ubuntu 10.04
wget http://media.cdn.ubuntu-de.org/forum/attachments/2666793/AR81Family-linux-v1.0.1.14_dkms.tar.gz
sudo tar xvf AR81Family-linux-v1.0.1.14_dkms.tar.gz -C /usr/src
 
# Pour Ubuntu 10.10 et supérieur
wget http://media.cdn.ubuntu-de.org/forum/attachments/2666793/AR81Family-linux-v1.0.1.14_10.10.tar.gz
sudo tar xvf AR81Family-linux-v1.0.1.14_10.10.tar.gz -C /usr/src

Création du module et installation

sudo dkms add -m atl1e -v 1.0.1.14
sudo dkms build -m atl1e -v 1.0.1.14
sudo dkms install -m atl1e -v 1.0.1.14

Chargement du module et test

sudo modprobe atl1e
dmesg | egrep 'atl1e|eth'
ifconfig -a

Malheureusement, l’archive pour 10.10 et supérieurs n’est plus disponible sur ce site. Je met donc au moins l’archive pour 10.04 à disposition sur le mien au cas où elle disparaitrait

AR81Family-linux-v1.0.1.14_dkms.tar

Source: http://forum.ubuntuusers.de/topic/lan-geht-nicht-wlan-schon/#post-2666793

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:

Problème démarrage windows XP sur Virtualbox (intelppm)

virtualbox

virtualbox

J’ai eu un problème étrange avec un Windows XP pro lancé dans Virtualbox, et j’ai suffisamment cherché pour mettre la solution ici au cas où d’autres rencontreraient le même souci.

Ce windows fonctionnait très correctement jusqu’à ce que je change la machine physique sur laquelle il tournait dans Virtualbox. Sur le nouvel ordinateur, plus puissant et plus « gonflé » en RAM, windows arrivait à l’écran d’identification puis rebootait immédiatement. Ou se figeait.

Une autre image de windows fonctionnait, elle, correctement. Par contre, celle ci ne demandait pas à l’utilisateur de s’identifier, on arrivait directement sur le bureau.

Après avoir modifié le mode de connexion, le même problème que pour la première image se présentait.

Pour les deux images, le mode sans échec fonctionnait et me permettait d’accéder au système.

J’ai donc essayé de modifier le mode d’identification afin que l’ouverture soit automatique (et profiter d’une définition plus grande permettant d’afficher les fenêtres dans leur totalité), mais impossible. Une fois que l’utilisateur devait s’identifier, le problème apparaissait et impossible de revenir en arrière.

Et trouver des infos sur le net avec ces symptômes, c’est mission impossible, vu que des pannes de windows, il y en a plein qui donnent le même résultat…

J’ai donc été modifier l’option indiquant à windows de ne pas redémarrer en cas d’échec afin d’avoir l’écran bleu permettant d’avoir quelques informations supplémentaires (clic droit sur le poste de travail, Propriétés, Onglet Avancé, Démarrage et récupération -> Paramètres, puis décocher redémarrer automatiquement)

Et le BSOD m’a indiqué un problème avec Intelppm.

BSOD intelppm

BSOD intelppm

Une recherche sur le net m’a conduit sur la page d’un blog msdn qui dit:

Dans certaines circonstances avec un système d’exploitation Windows XP / 2003 – intelppm.sys et processor.sys peuvent bloquer une machine virtuelle fonctionnant sous Virtual PC / Virtual Server (ce qui invite le système d’exploitation Windows invité à redémarrer automatiquement – mais si vous avez modifié ce paramètre, vous verrez un écran bleu). La raison de ce crash est que ces pilotes tentent d’effectuer une opération non gérée à l’intérieur de la machine virtuelle (comme la mise à niveau du microcode des processeurs physiques, en changeant l’état d’alimentation du processeur physique).
Aujourd’hui, ce problème se produit uniquement sur les Centrino et processeurs AMD K8. La plupart des gens voient ce problème quand ils déplacent une machine virtuelle qui a été créé sur un autre type de processeur pour un ordinateur exécutant l’un de ces types de processeurs…

Ça parle de Virtual Server (de Microsoft), mais avec Virtualbox, c’est la même chose. Ça provient donc d’un problème de Windows. Et le problème peut se produire avec Processor, pas seulement Intelppm.

La solution est simple:

Si vous voyez ce problème à plusieurs reprises vous pouvez désactiver manuellement ces pilotes (avec aucun effet secondaire négatif) en allant à l’emplacement suivant dans le Registre:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Processor
Ou
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Intelppm
et changer la valeur de ‘Start’ à 4.

Dans le même temps nous avons fait quelques changements subtils à la façon dont notre matériel expose le processeur dans Virtual Server R2 de sorte que dans les futurs produits, ces pilotes ne devraient jamais être chargés à l’intérieur des machines virtuelles.

Ouf, je suis rassuré! Virtual Server ne sera plus bloqué par ce comportement, mais peut être que Virtualbox continuera à l’être. Donc, ça peut toujours servir de connaitre le truc pour s’en sortir.

Sources:

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.

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.

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 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.

Identifiants déconseillés de janvier

Avec 3 jours de retard, mais voici la liste des identifiants déconseillés pour janvier. Comme ce sont les identifiants utilisés pour tenter d’entrer sur mes serveurs, il est déconseillé de les utiliser sur les votre, sinon vous allez faciliter la tâche aux pirates.

******************************************************************
Classement des logins utilisés (119):
******************************************************************
root			        205
oracle			        17
postgres			15
sales			        15
nagios			        15
test			 	15
ts			 	13
info			 	13
Administrator		        13
service	        	        12
NULL			 	12
staff			 	9
admin			        8
teamspeak			5
webmaster			5
gustavo			        5
gamefiles			4
db2inst1			4
guest			 	4
samba			        3
upload			        3
alexis			 	3
recruit			        3
user3			 	3
alias			 	3
hlds			 	3
globus			        3
office			 	2
mysql			        2
djeli			 	2
monica			        2
anonymous			2
ts1			 	2
postmaster			2
rpdv			 	2
stud			 	2
db2fenc1			2
ts3			 	2
bingo			 	2
mlmb			 	2
redmine			        2
webadmin			2
shoutcast			2
adempiere			2
administrator		        2
kelvin			        2
test1			 	1
cvsroot			        1
santiago			1
web			 	1
claude		          	1
condor			        1
tt			 	1
grace			 	1
alberto			        1
xtn			 	1
comicup			        1
administratiu		        1
patrick			        1
cstrike			        1
sato			 	1
ts2			 	1
alexandre			1
claudia			        1
www			 	1
library			        1
yoshida			        1
joan			 	1
mvrabel			        1
rp			 	1
anne			 	1
ken			 	1
virtuoso			1
marine			        1
extreme			        1
eggdrop			        1
firebird			1
amanda			        1
joomla			        1
raimundo			1
groundworks		        1
enzo			 	1
apple			 	1
unix			 	1
linux			 	1
Crouse			        1
brc			 	1
ecommerce			1
cyrus			 	1
zoro			 	1
keltika			        1
suzuki			        1
shell			 	1
nobody			        1
oracle1			        1
netdump			        1
andrea			        1
cacti			 	1
bea			 	1
matteo			        1
cvs			 	1
rfmngr			        1
privoxy			        1
user4			 	1
ana			 	1
user1			 	1
prueba			        1
servidor			1
ipbx			 	1
trash			 	1
ftp			 	1
stacy			 	1
a1			 	1
a3			 	1
a2			 	1
lucas			 	1
tomcat			        1
admosfer			1
sg			 	1

Apparition de logins hispaniques. Ça y est, l’Espagne a trouvé mes serveurs!
Un top 10 est classique avec l’apparition de teamspeak en 14e position. Vous constaterez que le mois dernier, les prénoms ont plus été testés que les mois précédents (25 différents quand même). Utiliser son prénom comme login n’est donc pas une bonne idée.

Test (et test1, test2, tests, …) a presque disparu des stats depuis un an. Ça ne doit plus être rentable de tenter de rentrer avec ce login. Par contre, la version espagnoles (prueba) est elle apparue.

Dans le fichier scanresult_janvier fichier complet, vous trouverez aussi le classement par heure des attaques, ainsi que la liste des adresses et ports utilisés.

119 tentatives en janvier, c’est une légère augmentation par rapport à la moyenne (96) mais pas significatif. Les pirates rattrapent t-ils le retard prit pendant les fêtes?

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

Le matin, c’est assez calme, ça attaque surtout le soir, avec un creux à 17 heures. Ordinateur vérolés du travail éteints avant l’allumage des ordinateurs vérolés des particuliers?
Lorsque j’aurais trouvé le moyen de géolocaliser les adresses, on verra peut être que l’effet est dû à un autre fuseau horaire.
A suivre, donc.

Superviser vos serveurs avec FTPupinfo

Il est toujours pratique d’avoir un oeuil sur les ordinateurs dont on a la charge. Ne serait-ce que pour prévenir avant de guérir. Quand je dis serveurs, c’est tout type de machine linux.

Or, s’il faut se connecter à chacun pour avoir des infos, cela devient vite pénible.

Il existe une pléthore de logiciels dédiés à cet usage. Des simples, comme phpsysinfo, et des poids lourds comme Nagios, zabbix, …

Les logiciels simples peuvent correspondre à un besoin ponctuel, mais manquent souvent des éléments dont on aurait besoin spécifiquement. Les poids lourds du genre sont cauchemardesques à configurer, et c’est souvent sortir le bazooka pour tuer une mouche… Sans compter les failles de sécurités régulières.

J’ai développé un logiciel nommé FTPupinfo destiné, à la base, à mon usage personnel, pour superviser mes serveurs. Puis il a évolué avec le temps pour devenir une application à part entière, située entre les deux catégories dont on a parlé.

Voici un rapide aperçu:

Capture 1

Avantages:

  • Facile à installer (paquet dans les dépôts absolacom)
  • C’est le client qui uploade vers le serveur, pas le serveur qui interroge le client (pas d’ouverture de ports, pas de faille). Pas besoin de se connecter à la machine à surveiller (pas d’ouverture de ports, pas de faille).
  • Paramétrable avec un simple fichier de configuration texte
  • Upload sur le serveur en mode FTP ou rsync (si upload activé, non obligatoire)
  • Copie en local possible des rapports générés
  • Rapide et léger
  • Possibilité d’activer/désactiver chacune des fonctions
  • Personnalisable par skins (que vous pouvez créer/ajouter)
  • Ajout de modules possibles (par exemple pour prendre en charge SNMP)
  • Pensé pour être sécuritaire
  • Possibilité d’exécuter des programmes avant, pendant, après le fonctionnement du logiciel (alertes par mail, nettoyages, …)
  • Possibilité de garder le dernier rapport, un par jour, tous…
  • Le dernier rapport est accessible même si le serveur ne l’est pas
  • Fonctionne sur Debian (et dérivées), Mandriva, Suse (depuis les sources)

Inconvénients:

  • Ne fonctionne pas encore pour Windows (et ce n’est pas une priorité). Fonctionne au strict minimum avec Cygwin avec une version modifiée du programme (contactez moi si vous êtes intéressé).
  • Visualisation en mode décalé. Pas de consultation en direct (le programme est lancé avec une granularité d’une minute).
  • Sans doute Certainement améliorable au niveau du code
  • Disponible uniquement en deb ou en source (si vous voulez packager pour votre distrib, soit vous vous en chargez, soit vous me dites comment faire)
  • Les skins sont moches (si,si. Je sais. Je ne suis pas graphiste, je le reconnais), mais c’est du full CSS (sauf scories) facilement modifiable.¹
  • En anglais pour l’instant (même si c’est peu gênant, le vocabulaire informatique utilisé étant souvent anglais). L’adaptation pour permettre la localisation est en projet.
  • …heu…
Page de statistiques

Page de statistiques

Toutes les infos se trouvent sur le site du projet et vous pouvez voir des exemples sur le site de démo.

Dernière précision, c’est entièrement du GPL gratuit pour la partie cliente (le programme qui tourne sur les ordinateurs). Seule la partie serveur de supervision (optionnelle) est payante.

Il est actuellement utilisé professionnellement par ma société pour superviser les clients, quelques sociétés partenaires et les écoles du département des Pyrénées Orientales équipées de serveurs Eclair (dont j’ai été le développeur initial pour le pôle de compétences de Perpignan) ou Zeli.

Les suggestions, remarques, rapports de bugs sont les bienvenus.

1. message subliminal très subtil 😉 : si vous savez fairedes skins potables, envoyez les moi et je les intègrerais au programme avec vos crédits.

Remettre à zéro le mot de passe admin d’un site Guppy

Principalement pour mémoire:

Quand on a perdu son mot de passe d’administration sur un site Guppy, la FAQ indique de transférer à nouveau le fichier admin/mdp.php sur le site pour revenir au mot de passe par défaut, à savoir pass.

Il est dommage de devoir re-télécharger guppy pour retrouver ce fichier. Sans compter le lancement du logiciel de FTP…

Il est plus facile d’aller modifier le fichier directement par ssh et de remettre le contenu suivant:

<?php
$mdp = « 1a1dc91c907325c69271ddf0c944bc72 »;
?>

Ne pas oublier ensuite de se presser de changer ce mot de passe si on veut éviter les problèmes sur son site!

Identifiants déconseillés de Décembre

Voici la liste des identifiants déconseillés pour décembre. Comme ce sont les identifiants utilisés pour tenter d’entrer sur mes serveurs, il est déconseillé de les utiliser sur les votre, sinon vous allez faciliter la tâche aux pirates.

Vous les avez désormais classés par nombre de tentatives.

    Le contenu suivant est généré à partir des fichiers de logs des ordinateurs
    surveillés et permet de consulter les statistiques d'attaques par force
    brute sur ces ordinateurs.
    La liste des identifiants utilisés permet à l'administrateur intelligent
    de ne pas autoriser ces identifiants sur ses serveurs afin de diminuer
    les risques d'attaque.
    Les protocoles surveillés sont ssh et ftp, si ces services sont activés.

    Si votre adresse IP FIXE apparait dans cette liste, vous devriez vérifier
    que votre ordinateur est sain! Si c'est une IP dynamique, elle risque
    d'être déjà blacklistée sur tous mes serveurs et vous devriez en changer...
    Les valeurs représentent la limite basse, les adresses incriminées étant
    blacklistées pour plusieurs mois après un certain nombre d'essais
    infructueux celles ci n'apparaissent plus dans les statistiques.

******************************************************************
       Classement des logins et des adresses utilisés
                 pour le mois de Dec 2009
            pour des tentatives de connexion
         sur les serveurs de la société Absolacom
******************************************************************
******************************************************************
Classement des logins utilisés (77):
******************************************************************
root			126
admin			27
Administrator	        12
staff			11
sales			10
nagios			7
administrator	        7
guest			6
plcmspip		5
postgres		5
ace		        4
recruit			4
office			3
PlcmSpIp		3
mlmb			3
test			3
delta			3
alias			3
test1			2
fluffy			2
administrador	        2
abcs			2
t1na			2
samba			2
daemon			2
account			2
anonymous		2
a		    	2
db2inst1		2
alexis			2
virtuoso		1
demo			1
slim			1
accounts		1
abel			1
ghost			1
agnieszka		1
agarcia			1
dasusr1			1
www-data		1
administration	        1
mysql			1
kent			1
access			1
codec			1
upload			1
agi		    	1
rob		    	1
eff		    	1
slasher			1
hdexperience	        1
advantage		1
ftp			1
nobody			1
vmail			1
eminem			1
administracion	        1
user			1
adnan			1
c		    	1
b		    	1
acd05			1
d		        1
tomcat			1
sifak			1
patrick			1
adriano			1
accounts1		1
ibiza			1
publica			1
admon			1
r00t			1
adrian			1
lpd			1
adminftp		1
lpa			1
agnes			1

Le top 10 est classique avec cependant un net recul de PlcmSpIp et www-data au profit de guest et ace. A noter, de plus en plus de prénoms francophones. Linux se démocratiserait il en France?

Dans le fichier complet, vous trouverez aussi le classement par heure des attaques, ainsi que la liste des adresses et ports utilisés. Il serait intéressant de dresser une carte de l’origine des attaques, par exemple avec geotool, mais je ne sais pas encore comment faire ça automatiquement ou sans saturer le serveur. Si vous avez des idées, je suis preneur (surtout si c’est du python).

Une précision sur le fait qu’il peut sembler y avoir relativement peu de tentatives (77 ce mois ci): une adresse IP blacklistée sur l’un de mes serveurs se retrouve blacklistée sur l’ensemble de mes serveurs au maximum dans l’heure qui suit. Ça m’a permis de passer en un an d’environ 800 tentatives illégales de login à moins de 100 tentées par mois. De quoi simplifier la vie des firewalls.

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

Il est intéressant de remarquer que les attaques se font surtout en fin de journée mais, nouveauté de décembre, alors qu’habituellement le pic se situe entre 18 et 20 heures, ce mois ci il est entre 20 et 21 heures. Effet vacances? Nous verrons en janvier si la tendance se confirme.

C’est vrai qu’il reste encore quelques heures pour finir décembre, mais une bonne partie des serveurs va s’arrêter ce soir pour n’être réactivés qu’à la rentrée. Donc, ces statistiques ne sont pas véritablement complètes mais le peu qu’il manque ne serait de toute façon pas représentatif.

Sur ce, je vous souhaite une bonne année 2010 et m’en vais préparer mon réveillon!

Recevoir les logs par mail

Il peut être intéressant de recevoir les logs de vos ordinateurs par mail pour plusieurs raisons:

  • pour penser à les regarder,
  • pour recevoir les logs de vos serveurs,
  • pour garder un historique des logs et pouvoir remonter dans le temps,
  • générer des statistiques à partir des logs sans se connecter aux serveurs (ce qui est utilisé par exemple pour générer la liste des identifiants déconseillés)

Pour cela, je vous propose d’installer un utilitaire en python développé par mes soins.

ATTENTION: ce programme fonctionne pour Hardy et Jaunty. Il n’a pas été développé ou testé sur Karmic mais sera disponible pour toutes les version X.04 d’Ubuntu.

ATTENTION2: ce programme ne peut fonctionner simplement avec Orange. Pour ce FAI, il faut installer postfix et le paramétrer avec l’authentification sasl. Cela fera l’objet d’un prochain article. Pas de problème chez Free, Alice et SFR.

Zeli-sendlog

zeli-sendlog est un programme python qui va créer une archive des logs de l’ordinateur sur lequel il est installé et va automatiquement l’envoyer par mail aux adresses paramétrées.

Une fois installé, ce programme ne nécessite aucun réglage.

Installation

Il vous faut tout d’abord ajouter les miroirs Absolacom à votre fichier de sources tel qu’indiqué sur cette page. Rechargez la liste des paquets et installez le paquet zeli-sendlog et ses dépendances.

Paramétrage

Pour envoyer un mail, il vous faut trois choses:

  1. un serveur SMTP,
  2. une ou plusieurs adresses de destination,
  3. un nom pleinement qualifié afin que vos mails soient acceptés sans être considérés comme du spam.

Serveur SMTP

Il se règle dans le fichier /etc/smtp_server. Vous indiquez simplement le nom ou l’adresse de votre serveur SMTP. Par exemple, pour free, indiquez simplement smtp.free.fr.

Adresses de destination

Les adresses où seront envoyés les mails s’indiquent dans le fichier /etc/mail_secu.txt. Indiquez sur une ligne les adresses séparées par des virgules.

Si vous n’indiquez qu’une seule adresse, inutile d’ajouter une virgule.

Nom FQDN

Votre machine ne peut envoyer des mails que vers un serveur qui l’autorise. Pour cela, il faut qu’elle soit identifiée, et c’est son nom d’expéditeur qui est utilisé.

Si vous possédez un nom de domaine, éditez le fichier /etc/mailname et indiquez le nom de votre ordinateur ainsi: machine.mondomaine.org.

Identifiez correctement votre ordinateur, ce nom apparaît dans les courriers qui vous sont envoyés et vous permettront de vous y retrouver si vous recevez les logs de plusieurs serveurs.

Lancement en console

Vous pouvez lancer manuellement le programme pour envoyer les logs immédiatement ou pour vérifier son fonctionnement. En cas de problème, celui ci vous est affiché (en anglais) et vous permettra de rechercher une solution.

Dans un terminal, entrez: sudo sendlog

(le programme doit être lancé en root pour pouvoir accéder aux fichiers de log)

Programmation

A l’installation, le programme a paramétré le cron de root afin de lancer l’envoi de mail tous les jours à minuit. Pas avant, sinon il vous manquerait du contenu dans les logs du jour, pas après, sinon ce serait les logs du lendemain.

Faites quelques essais, mais n’envoyez pas beaucoup de mails en peu de temps, cela risquerait de vous faire mettre en quarantaine par votre FAI.

Une fois le logiciel paramétré, il n’y a plus à y toucher.

Servez vous, c’est GPL!

Installer un serveur LAMP avec Ubuntu

Un serveur LAMP signifie Linux Apache Mysql Php. Il est possible d’installer et configurer chacun des services manuellement, mais il existe une autre façon plus simple et moins connue de faire tout ceci en une seule fois.

Dans un terminal, entrez ceci:

sudo tasksel install lamp-server

Et c’est tout!

Ou alors:

sudo tasksel

tasksel

Et sélectionnez LAMP server, ou tout autre service que vous désirez installer.