systemx

Aller au contenu | Aller au menu | Aller à la recherche

mardi, juillet 9 2013

ruby et rvm comment gérer les versions de ruby (avec vagrant et veewee)


En essayant d'installer veewee sur différentes machines, je suis tombé sur divers problemes de compatibilité de librairies ruby.
En lisant différentes docs, j'ai été séduit par l'utilitaire rvm qui permet de créer des environnement cloisonnés ruby.
J'ai décidé dans le cadre d'une install multiboot de créer un répertoire contenant ruby + vagrant + veewee et de gérer les versions manuellement, le tout dans un répertoire défini /data/apps/rvm.
Le but de la manip est d'installer des applications ruby et de partager ces installations entre les différents OS installés sur la machine en s'affranchissant des dépendances de package et de pouvoir gérer les gems manuellement.
Tout d'abord avant les opérations j'ai un ruby là :
[pierre@fedora pierre]$ which ruby 
/usr/bin/ruby
Je suis donc le tuto d'installation en veillant bien chaques étapes :
curl -L https://get.rvm.io > rvminstall

Editer rvminstall et changer avec /data/apps/rvm (qui est le repertoire d'installation partagé entre les différents OS) où il y a "rvm_prefix=".
Si on est derrière un proxy, modifier /etc/visudo :
Defaults env_keep +="http_proxy"
Defaults env_keep +="https_proxy"
Puis comme spécifié dans la doc utiliser sudo pour ne rien créer dans la home user ou root.
Afin d'etre complétement indépendant du système j'installe tout en local (dont ruby en derniere version) :
$ export rvm_path=/data/apps/rvm 
$ sudo ./rvminstall version latest --ruby
$ rvm list rubies
rvm rubies
=* ruby-2.0.0-p247 [ x86_64 ]
# => - current
# =* - current && default
#  * - default
Ensuite on crée l'enveloppe pour vagrant :
[pierre@fedora apps]$ rvm gemset create vagrant
gemset created vagrant  => /data/apps//rvm/gems/ruby-2.0.0-p247@vagrant
Et on installe :
root@fedora apps # gem install vagrant
Fetching: archive-tar-minitar-0.5.2.gem (100%)
Successfully installed archive-tar-minitar-0.5.2
Fetching: ffi-1.9.0.gem (100%)
OOPS problème :
root@fedora apps # gem install veewee 
ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: fog requires net-scp (~> 1.1)
On corrige :
root@fedora apps # gem install net-scp
Fetching: net-ssh-2.6.7.gem (100%)
Successfully installed net-ssh-2.6.7
..
2 gems installed

root@fedora apps # gem install fog -v 1.8
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.5.10
Fetching: ruby-hmac-0.4.0.gem (100%)
..
3 gems installed
root@fedora apps #  gem install veewee
Fetching: Platform-0.4.0.gem (100%)
Successfully installed Platform-0.4.0
...
22 gems installed
Pour finir j'install le plugin salt pour vagrant.
root@fedora apps # gem install vagrant-salt
Fetching: vagrant-salt-0.4.0.gem (100%)
...
Installing ri documentation for vagrant-salt-0.4.0

A noter que la création de rvm à créé les fichiers /etc/bash.bashrc et /etc/profile.d/rvm.sh
Je les enlève et créé un environement dans mon .bashrc :
export rvm_bin_path=/data/apps/rvm/bin
export rvm_path=/data/apps/rvm
export rvm_prefix=/data/apps
export rvm_script_path=/data/apps/rvm
. $rvm_script_path/scripts/rvm
Ensuite on peut y aller (lancer un nouveau bash) :
$ which vagrant 
/data/apps/rvm/gems/ruby-2.0.0-p247/bin/vagrant
$ which veewee 
/data/apps/rvm/gems/ruby-2.0.0-p247/bin/veewee

Sous gentoo j'ai ces erreurs :
@gentoox64 /data/apps/rvm $ gem install veewee
Error loading RubyGems plugin "/data/apps/rvm/gems/ruby-2.0.0-p247@global/gems/rubygems-bundler-1.2.1/lib/rubygems_plugin.rb": libcrypto.so.10: cannot open shared object file: No such file or directory - /data/apps/rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/openssl.so (LoadError)
J'ai patché /usr/lib64 en faisant des liens
ln -s /usr/lib64/libssl.so.1.0.0  /usr/lib64/libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.1.0

mardi, avril 16 2013

Fedora grrr Redhat

RedHat étant un acteur important de l'écosystem linux voir le géniteur de l'opensource dans les datacenter, je suis régulièrement ce qui se passe sous fedora qui est leur bouillon de culture et qui permet de découvrir pas mal de nouvelles choses.
Cependant cette distro est vraiment pas confortable au quotidien car les softs non redhat sont très mal supportés et on doit invariablement passer par l'ajout de repos ou bien la chasse aux rpms sur internet.
Dans mon aventure sur Kokora j'avais une fois de plus noté l'inflation des repos (entre autre pour les produits google) et les problèmes de cohérence de l'ensemble du système.
Travaillant avec vagrant pour faire des usines de test Redhat, j'ai fait un tour sur fedora ou bien évidement le package n'existait pas (alors qu'il est dispo sur ubuntu/gentoo par exemple).
Ensuite l'intégration a vraiment confirmé cette impression de pas fini et du peu de considération de redhat pour les pauvres péquins comme moi.
En gros pour creer un modele de box vagrant il faut packager une virtualbox avec la command vagrant package qui sous fedora créé un fichier temporaire dans /tmp.
Or depuis F18 /tmp est un filesystem tempfs qui fait par defaut la taille de la moitié de la mémoire.
[@fedora .vagrant.d]$ df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           968M   28K  968M   1% /tmp
La creation de la box plante lamentablement et plombe /tmp, il faut en général quelques GB pour creer les package.
De plus virtualbox est pas packagé, il faut ajouter les repos, tout reconstruire à la mimine.
Il y a bien de moyens de changer ce comportement mais au final travailler sous fedora avec virtualbox/vagrant c'est un cauchemar.
Je retourne sous gentoo, sabayon ou même ubuntu où tout est très bien packagé et fonctionne sans problème.
Il reste à mon avis une belle place pour une distro basée sur fedora qui intégrerait bien tous ces composants (et d'autres) suite à la mort fuduntu (encore du aux abus de pouvoir de RH entre gnome/sytemd). car quoi qu'on en dise RH reste le plus gros acteur Linux en entreprise.
Toutes ces reflections me font d'ailleurs penser à la belle place que peuvent trouver Ubuntu ou Opensuse qui font des distributions à la fois orientées enteprises et end user qui sont plus souples et intégrées que le trio boiteux RHEL/CentOS/Fedora.

samedi, avril 13 2013

Virtualbox - Installation pour utilisation CLI


Le but de ce billet est de résumer tous les points que j'ai vu pour avoir une configuration virtualbox complétement contrôlable en ligne de commande avec graphique accessible en VRDP.
Le nom de la VM est guest.

  • Creer un port de connection VRDE
  • Cela permet d'avoir ensuite l'accès à la console car en mode headless impossible de recuperer la console du client lourd.
    La fonctionnalité est fournie avec les extention pack de Virtualbox, à ne pas confondre avec les guest addition.
    Il faut télécharger le pack à cette URL ($VBOXVER est la version virtualbox) :
    http://download.virtualbox.org/virtualbox/$VBOXVER/Oracle_VM_VirtualBox_Extension_Pack-$VBOXVER.vbox-extpack
    Ensuite faire la configuration suivante pour utiliser la fonctionnalité vrde :
    VBoxManage extpack install "fichier downloadé"
    VBoxManage modifyvm guest --vrde on
    VBoxHeadless --startvm guest --vrde config

  • Forwarder port SSH pour le mode NAT
  • La machine arrétée il faut changer les propriétés avec la commande suivante :
    VBoxManage modifyvm "guest" --natpf1 "guestssh,tcp,,2222,,22"
    On pourra ensuite se connecter à la VM avec
    ssh -p 2222 localhost

  • Permettre le server DNS de repondre au requete de l'hote
  • il faut que la VM passe les requetes DNS au guest.
    VBoxManage modifyvm "guest" --natdnshostresolver on

  • Installer le guest addition
  • Cette partie là est à faire sur la machine invitée donc après l'installation.
    Cela necessite une compilation, il faudra donc ajouter les "kernel headers" et autres outils de compilation.
    J'ai trouvé cette page qui détaille bien l'installation.

Ensuite on peut avoir pas mal de details avec les commandes suivantes :
VBoxManage getextradata guest enumerate
VBoxManage showvminfo guest --details
VBoxManage list extpacks
La deuxième commande est particulièrement utile car on peut voir les details VRDP.

On peut aussi voir l'IP de la VM après avoir installé l'ext pack et le VM guest addition.
VBoxManage guestproperty get guest /VirtualBox/GuestInfo/Net/0/V4/IP | awk -F ':' '{print $2}'

Enfin en cas de plusieures VM tournant sur le même hôte, on pourra gérer les différents port VRDP en utilisant un "range" de ports à la declaration :
VBoxManage modifyvm guest --vrdeport 3333-3353


Enfin pour bien ranger ses vm dans un répertoire donné on peut faire un :
VBoxManage setproperty machinefolder /data/VirtualBoxVm/

Je trouve ca vraiment stupide de mettre des fichiers de plusieurs gig dans un fichier caché de la home ....

J'ai compilé tout ca dans mon script de management en mode cli de virtualbox.
Il y a maintenant un version python3 de la chose plus sympa à utiliser : vb.py

lundi, février 25 2013

Owncould - Mot de passe admin perdu

Si comme moi vous avez trop de mot de passe pour trop d'application et il vous arrive de vous arracher les cheveux à retrouver vos mots de passe d'application Web voici une méthode bien pratique pour récupérer ceux de Owncloud.
Il y a déjà bien longtemps, les mots de passe étaient codé via un algorythme de cryptage type md5 ou sha1, mais les regles de sécurité allant en se durcissant, on utilise générallement un "salt" qui est une chaine de caractère ajoutée au mot de passe avant cryptage pour éviter de retrouver les mot de passe à partir des encodages de ces mot de passe (type rainbow table).
Il s'avere donc extremement difficile de retrouve le mot de passe en comparant les encodage d'autant plus que l'on ne connais pas le "salt".
De plus owncloud ne semble pas proposer par défaut de récupération du mot de passe par mail, c'est compliqué de retrouver celui ci lorsqu'il est oublié mais j'ai trouvé une solution simple à mettre en place.
Il suffit d'utiliser les fonctions owncloud de gestion de mot de passe via une page php, cela se fait en créant une script contenant :
?php
require_once('lib/base.php');
OC_User::setPassword('nimda', 'K1ll3rP4ssw0RD');
?
** Ajouter les < > en début fin de code.
Les arguments de la methode setPassword sont le login et le mot de passe.
Il faut creer le script par exemple saveme.php + chmod qui va bien et l'executer via un navigateur.
Le tour est joué mais par contre effacer le fichier ensuite ou bien en tout cas effacer les login/passwd et modifier les droits (000).

Il faut bien évidement avoir accès en ecriture à l'installation owncloud.

vendredi, septembre 9 2011

Systeme de bookmark personnel online

Je suis à la recherche d'un système de bookmark personnel Web qui me permette de consulter et mettre à jour mes bookmarks où je sois et quelque soit mon navigateur/environnement, tout ca en auto-hébergement.
  • Scuttle
  • Le père de tous, rapide, pas trop mal réussi mais très orienté social, pas d'admin center, on peut presque uniquement bookmarker et partager.
    L'indispensable bookmarklet est là et au final peu de fonctions mais tout marche bien, rapide et efficace.
    Pas de problèmes de recherche qui plante (sobro.us) ou session qui s'enregistre pas (getboo).
  • GetBoo
  • Moins orienté social, on peut au facilement gérer les accès public/privé, on garde l'organisation traditionnelle en folder avec une recherche texte (qui n'est malheuresement pas directement intégrée dans la page bookmark).
    Plus avancé que scuttle il est moins réactif et rapide que celui ci et de plus à un look vraiment pas très réussi.
    L'accès à la recherche n'est pas directement dans l'affichage de bookmarks et pas de cookies de login ce qui oblige à se reconnecter souvent gâche un peu les plus de Getboo qui ne semble pas maintenu depuis 2008.
  • Sabro.us
  • Plus original que les 2 précédents, sabro.us ne permet pas de créer de login, un password unique pour passer en interface d'admin.
    La nouveauté est qu'il y a aussi la possibilité de générer du code pour ajouter dans un blog, par exemple, les XX dernières bookmark ou un cloud dans une page Web.
    L'interface est plutôt réussie, il est rapide et plus original que scuttle mais la recherche plante si on utilise plusieurs mots clés ce qui est extrêmement gênant.
  • sidebar
  • client etais un peu orginal et livre un add on firefox assez pratique dans l'idée. Il permet d'ajouter un side bar dans FF qui permet de bookmarker simplement et avoir ses bookmark tout de suite à disposition. Mais c'est pas assez réactif (ca doit etre instantané), pas esthetique et j'ai eu peu de plaisir à l'utiliser.

Tous on été testé et fonctionnel sur firefox, chrome et rekonq pour la bookmarklet sauf sidebar plus orienté intégratoin spécifique au butineur par ajout de addon (FF/IE seulement).
Ils sont tous en php/mysql, installation simple.
Le choix est difficile, peut-etre scuttle si je peux mettre les bookmark non accessible publique (ou bien carrement utiliser apache pour gerer les acces) ou getboo si je peux modifier le look et trouve un mode de fonctionnement plus pratique.
Le problème de recherche dans sabro.us est trop pénalisant pour l'utiliser.

mercredi, août 31 2011

Formater et publier des video html5 sous linux avec apache


Voulant poster des vidéo sur le net, j'ai décider de créer  sur mon server une page html5.

Derrière la simplicité de la syntaxe html5 se cache l'enfer des formats vidéos.
N'ayant pas voulu prendre partie de W3C a laissé l'encodage libre.

On se retrouve avec des formats supportés par certains browser et pas d'autres ... LE bonheur.
Évidement IE qui reste le browser numéro un (pour combien de temps ?) supporte pas les formats libres de tous les autres et presque vis versa (reference wikipedia).

Ensuite les formats vidéos c'est pas simple, pour des infos détaillées voir cette page (englishe).

Un bon outil pour nous aider sous linux, arista qui propose des formats de manière simple :
arista menu

On peut choisir facilement le type de fichier de sortie sans avoir à se poser des questions existentielles sur le format video/audio comme on doit le faire dans avidemux.
On peut même downloader des presets supplémentaires sur le site arista, peu de nouveautés mais l'idée est intéressante.
Arista est dispo sur sabayon via equo mais il faut aussi faire attention d'avoir certaines extentions gstreamer au risque de se prendre un message très parlant :

Impossible d'ajouter l'objet à la file car il manque des éléments!


Ca veut dire dans mon cas que je n'ai pas le plugin gstreamer nécessaire pour faire la conversion, un simple ajout via equo fera l'affaire :
equo install media-plugins/gst-plugins-vp8-0.10.22

Il suffit ensuite de cliquer sur le bouton qui va bien et hop on a notre fichier transcodé.
Enfin il faut aussi ajouter une petite configuration mime sur apache (sous debian /etc/apache2/mods-enabled/mime.conf) :
AddType video/ogg  .ogv
AddType video/mp4  .mp4
AddType video/webm .webm
Pour le code html5 je laisse l'excellent site Alsace Creation donner les explications.

PS : Une fois de plus quel plaisir de travailler en open source, je me rappelle la vie d'avant récupérer des logiciels sous windows avec tous les malwares, popup, virus, registery et autres saloperies ....
ahh liberté.

mercredi, mars 16 2011

Utilisation de multisystem usb sur sabayon

Je trouve l'utilitaire multisystem extrêmement utile pour installer des iso sur une clé usb et pouvoir ensuite utiliser cette clé à la place d'un  gravage d'iso aussi temporaires que vite gâché.
Par contre le soft est écrit uniquement pour ubuntu et pas de la plus belle manière, j'ai regardé la portabilité de la chose.
Tout d'abord il faut faire l'install de l'outil en partant des sources à partir de /tmp...
Quelques packages manquent mais sont faciles à trouver (equo install xxxx).
Il faut pas mal de gnome ....
Reste quelques petits trucs :
- Variable SUDO_USER necessaire : faire export SUDO_USER=pierre
- genisofs : En regardant le ebuild du package gentoo cdrkit on voit :
"dosym genisoimage /usr/bin/mkisofs"
Il suffit donc de faire un lien de mkisofs (ln -s mkisofs genisoimage)

- fatresize : Impossible de trouver des sources ou paquets gentoo.
A partir des sources impossible de compiler ...
A la compilation il manque : libparted ...
configure: error: *** libparted >= 1.6.0 not installed - please install first ***
J'ai cette librairie : libparted.so.0 => /usr/lib/libparted.so.0, etonnant de passer de 0 à 1.6 ..
Je tourne dans tous les sens, compare avec une ubuntu :
pierre@ubuntu:/usr/local/share/multisystem$ ldd /usr/sbin/fatresize
linux-gate.so.1 => (0x00d44000)
libparted.so.0 => /lib/libparted.so.0 (0x0025c000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x00c1e000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00a39000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00f73000)
libdevmapper.so.1.02.1 => /lib/libdevmapper.so.1.02.1 (0x00525000)
libblkid.so.1 => /lib/libblkid.so.1 (0x005b0000)
/lib/ld-linux.so.2 (0x00e68000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00baf000)
On est aussi en libparted.so.0 ...
A court d'idée et de temps je décide de reprendre le binaire kubuntu x64 et ca marche ...
J'ai même mon icône dans le kmenu et tout fonctionne nickel.
Si j'avais le temps je reprendrais bien le code qui est pas très pro ....

Il faut ajouter eval_gettext qui n'est pas trouvé de base.
C'est en fait une fonction disponible dans le package sys-devel/gettext en executant :
. /usr/bin/gettext.sh
Enfin au cas où il râle à cause de la non présence de grub-install, sous sabayon on a grub2-install donc faire un simple lien.
A noter que j'ai aussi essayé sur une opensuse 11.4 au boulot par curiosité et la impossible car gtkdialog n'est plus disponible.

vendredi, janvier 15 2010

Centreon et pear

Pour l'install de centreon en Suse SLES 10 nombreux problèmes de PEAR.
Pour multiplier les inconvenients l'utilisation de la version SLES ne permet pas de faire de yum/apt-get like. Super.
Mais mes librairies PEAR sont obsolètes.
Pear a la bonne idée d'avoir son propre installeur. Après avoir configuré curl pour passer les proxys, il faut :
pear5 channel-update pear.php.net
pear5 upgrade pear
pear5 upgrade-all
cd [centreon install source dir]/libinstall/
php5 ./check_pear.php check ../varinstall/pear.lst
PEAR 1.4.9 1.9.0 OK
DB 1.7.6 1.7.13 OK
DB_DataObject 1.8.4 1.9.3 OK
DB_DataObject_FormBuilder 1.0.0RC4 1.0.0 OK
MDB2 2.0.0 2.4.1 OK
Date 1.4.6 1.4.7 OK
HTML_Common 1.2.2 1.2.5 OK
HTML_QuickForm 3.2.5 3.2.11 OK
HTML_QuickForm_advmultiselect 1.1.0 1.5.1 OK
HTML_Table 1.6.1 1.8.2 OK
Archive_Tar 1.1 1.3.5 OK
Auth_SASL 1.0.1 1.0.3 OK
Console_Getopt 1.2 1.2.3 OK
Net_SMTP 1.2.8 1.3.4 OK
Net_Socket 1.0.1 1.0.9 OK
Net_Traceroute 0.21 0.21.2 OK
Net_Ping 2.4.1 2.4.5 OK
Validate 0.6.2 0.8.3 OK
XML_RPC 1.4.5 1.5.3 OK
SOAP 0.10.1 0.12.0 OK
Log 1.9.11 1.11.6 OK
Si il manque des packages il faut utiliser la commande
pear install VOTREPACKAGE

vendredi, décembre 25 2009

Ah l'opensource ...

Je suis en train de tester ou plutôt de chercher le CMS qu'il me faut.
J'ai une idée de ce que je veux faire, une sorte de livre collaboratif sur le roman 1Q84 et l'étude du japonais. Je pensais à un CMS en général mais après avoir tester quelques un (Typo3, Joomla, Drupal), je me suis dis que c'était pas vraiment adapté en tout cas vu le temps que je souhaitais consacrer au design/implémentation par rapport au contenu.
Je m'oriente vers les wiki et je tombe sur tikiwiki après maintes recherches qui est à la lisière du CMS et du wiki. Après quelques heures d'utilisation je commence à obtenir des résultats. J'organise mes pages en "livres" avec des liens sur un wiki ou on peut mettre des commentaires.
Je change le look ajoute quelques liens (d'inspiration drupal) ca avance mais quand même c'est un peu galère. Surtout la gestion des menus avec les 50000 options à choisir dans la liste c'est très pénible. Et puis les thèmes sont pas super sexy, difficilement configurable (bien que full css/smarty) du au nombre impressionnant de template pour chaque thème.
De plus le langage wiki est différent de celui de mediawiki que je connais bien, pourquoi replacer les [[]] par (()) ?
Un bon produit mais pour et par des développeurs. Drupal bien que moins riche dés le début est limite plus naturel (c'est pas peu dire) et surtout tellement plus rapide que le mammouth Tiki (idéal pour tester les temps de reponse de votre base mysql).
Je me rappelle un autre que j'avais survolé précédemment qui porte le nom de Bitweaver qui est en fait un fork de tikiwiki.
J'avais trouvé ca pas naturel à cette époque, mon apprentissage de tiki m'aidera-t-il ....
Eh bien non ou peu. Ca reste quand même pas très amical, et à la différence de tikiwiki pas de doc ... Dixit le site, le forum est la seule doc. Tiki lui peut se targer d'avoir une doc fournie, un ouvrage instructif et une communauté relativement importante. Essayez :
http://www.google.com/search?q=powered-by-tikiwiki ::
http://www.google.com/search?q=powered-by-drupal 0::
http://www.google.com/search?q=powered-by-bitweaver ::
Bon ceci dis je commence à m'y mettre et cherche pas changer la page de garde du wiki et ca marche pas ... Je googlelise et trouve : http://www.schedulewire.com/forums/topic/12015
Ca ressemble à un gros gras bug, après m'être battu toute la journée pour faire tourner centreon sur une SLES 10.1, Je veux plus de bug !
Dois-je persévérer sur Tikiwiki ou bien me lancer un challenge et tout passer sur drupal (qui lui est très leger).

mardi, juin 23 2009

Compilation plugins nagios sous Solaris 10

Les plugins nagios compilent sans problème sous solaris 10 excepté check_mysql. La cause est la methode de creation des options de compilation lors du ./configure.
Solaris 10 dispose de packages mysql lors de l'install (SFW). Ceux ci sont compilés avec le Sun Studio et contiennent des flags incompatibles avec gcc. Faisant la compilation des plugins nagios avec gcc, ca plante immanquablement. Un moyen de résoudre le problème est d'utiliser une version des librairies et utilitaires de mysql compilés avec gcc. Pour ce faire il faut utiliser le package coolstack de sun. Ensuite bien positionner son environement :
Correct
plugins $ which mysql_config 
/opt/coolstack/mysql_32bit/bin/mysql_config
plugins $ mysql_config --cflags
-I/opt/coolstack/mysql_32bit/include/mysql -I/opt/coolstack/include -D_REENTRANT
-fPIC -DHAVE_RWLOCK_T -DUNIV_SOLARIS
Pas bon
plugins $ which mysql_config
/usr/sfw/bin/mysql_config
plugins $ mysql_config --cflags
-I/usr/sfw/include/mysql -xstrconst -mt
En effet le -xstrconst n'est pas reconnu par gcc. La compile plantera avec un message du genre :
gcc: language strconst not recognized
gcc: check_mysql.c: linker input file unused because linking not done
Finalement il reste à positionner son environement :
plugins $  env | grep PATH
LD_LIBRARY_PATH=/opt/coolstack/lib/:/usr/lib:/usr/sfw/lib

PATH=/opt/coolstack/mysql_32bit/bin/:/usr/sfw/bin/:/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin
Et utiliser la commande suivante pour compiler le tout :
plugins $ ./configure --without-ipv6 --with-openssl=/usr/sfw/lib \
--with-ps-command="/usr/bin/ps -eo 's uid pid ppid vsz rss pcpu etime comm args'"\
--with-ps-format="%s %d %d %d %d %d %f %s %s %n" --with-ps-cols=10\
--with-ps-varlist='procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos'
plugins $ gmake
Les arguements à rallonge sur ps est pour faire comprendre la syntaxe de ps solaris à Nagios, ne pas utiliser ipV6 et donner la bonne lib ssl.

lundi, avril 20 2009

Awstat/Jawstats - Analyseur de traffic web.

- Awstat C'est un outil d'analyse du traffic de sites webs. Le gros avantage est de ne pas avoir à utiliser de code particulier à insérer dans les pages du site. Il fonctionne en analysant les fichiers de log du serveur.
Inconvénient il ne peut pas faire beaucoup plus que ce qui est dans écrit dans le fichier de log. Pour analyser plusieurs sites il faut avoir des fichiers de log séparés. Testé et fonctionnel sur Apache et Lighttpd.
- Jawstat Ajoute un petit coté sexy à Awstat grâce à une jolie interface Ajax. Par contre j'ai vraiment galéré pour installer l'outil. Une simple broutille après avoir trouvé ...
TRES TRES IMPORTANT : La valeur de 'aConfig' -> chaine.fichier.awstats doit correspondre exactement au nom de fichier généré par awstats.
Par exemple le fichier awstats devra selon la syntaxe ci dessus s'appeler awstatsDDYYYY.chaine.fichier.awstats.txt
$aConfig["chaine.fichier.awstats"] = array(
"statspath" => "/path réél/wwwroot/cgi-bin/",
"updatepath" => "/path réél/wwwroot/awstats.pl",
"siteurl" => "http://votre.url.com",
"theme" => "default",
"fadespeed" => 250,
"password" => "monpass",
"includes" => "" )

Enfin il n'est pas possible de mettre des mots de passes pour acceder à la page, j'utilise donc un .htaccess pour l'ensemble awstat/jawstats ce qui est ma fois pratique.

Sinon dans le genre on a aussi :
- Piwik : A l'air très interessant avec interface moderne mais nécessite une insertion de code dans l'appli ce qui est dur sur ce site ou j'utilise beaucoup d'outils open sources.
A noter qu'il existe un plugin dotclear !
- Webalyser : L'outil historique. Écrit en C donc certainement rapide mais pas utilisable pour moi qui veut pouvoir modifier le code et préfère la facilité de mise en œuvre de php.
Look un peu vieillot mais reste une référence, à essayer pour les pros.