Activer Apache2 et PHP 5 sous Mac OS Snow Léopard

Dans un terminal:
sudo vi /private/etc/apache2/httpd.conf

Décommenter
LoadModule php5_module libexec/apache2/libphp5.so

Préférences Système > Partage > Partage web

Tester: http://localhost

Pour ajouter du code PHP (DocRoot Apache):
/Library/WebServer/Documents/

Firefox – Installer OpenSearch sur WordPress

Introduction

OpenSearch permet de créer un moteur de recherche pour Firefox.
Ce moteur de recherche une fois ajouté par l’utilisateur permettra d’effectuer des recherches sur un blog par exemple.

Pour cela il suffit de définir un fichier search.xml compréhensible par le navigateur et définissant l’url de recherche du blog et l’intégrer au header des pages du site.

Pour ce blog, l’url de recherche est la suivante:

http://www.benjaminbaudouin.com/?s=

search.xml

<OpenSearchDescription>
<ShortName>Benjamin Baudouin</ShortName>

<Description>
Administration Système Linux, Développement Web. Geek Stuff. Veille Techno !
</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">http://www.benjaminbaudouin.com/favicon.ico</Image>
<Url type="text/html" method="get" template="http://www.benjaminbaudouin.com/?s={searchTerms}">
</Url>
<Url type="application/x-suggestions+json" template="suggestionURL"/>
<moz:SearchForm>searchFormURL</moz:SearchForm>
</OpenSearchDescription>

intégration de search.xml dans wordpress

Dans la partie d’administration, Apparence > Éditeur > En-tête (header.php)

<head>
...
<link rel="search" type="application/opensearchdescription+xml" title="Benjamin Baudouin" href="http://www.benjaminbaudouin.com/search.xml">
</head>

Cliquer sur Mettre à jour le fichier

Test

Avec Firefox,

aller sur l’adresse http://www.benjaminbaudouin.com et ajouter le moteur de recherche comme suit:

Il est maintenant possible d’effectuer des recherches directement dans Firefox sur ce blog.

:)

Liens

Debug PHP – Installer et configurer Xdebug / Webgrind

Xdebug

http://xdebug.org/

Installer l’extension

apt-get install php5-xdebug

Configurer xdebug

find /usr/lib/php5/ -name xdebug.so
/usr/lib/php5/20051025/xdebug.so

/etc/php5/apache2/conf.d/xdebug.ini

#extension = xdebug.so
zend_extension = /usr/lib/php5/20051025/xdebug.so
; Profiling
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = /dev/shm
xdebug.profiler_output_name = cachegrind.out.%t.%p

Webgrind

http://code.google.com/p/webgrind/

Installer

wget http://webgrind.googlecode.com/files/webgrind-release-1.0.zip
unzip webgrind-release-1.0.zip
cd webgrind

Configurer webgrind

config.php
static $profilerDir = '/dev/shm';

En pratique

Activer xdebug sur une page à débuguer

http://url/page.php?XDEBUG_PROFILE=1

Génère un fichier de données à plat de type ASCII text
cachegrind.out.1277111621.4418

Débuguer avec webgrind !

http://url/webgrind/

webgrind génère un fichier binaire de type DBase 3 index file
cachegrind.out.1277111621.4418.webgrind

webgrind charge le fichier .webgrind permettant le profilage du code PHP:

App

Envoyer des emails en ligne de commande sous Linux

Email simple

echo "Corps du message." | mail -s "Sujet de l'email" contact@domaine.com

Email avec fichier de log dans le corps du message

mail -s "Sujet de l'email" contact@domaine.com < /var/log/apache2/error.log

Email avec copie et copie cachée

echo "Salut tout le monde" | mail -s "Sujet de l'email" contact@domaine.com -c contact_cc@domaine.com -b contact_bi@domaine.com

Email avec pièce jointe

echo "Envoi d'une pièce jointe." | mutt -a backup.zip -s "Sujet de l'email" contact@domaine.com

MySQL – Workbench : Installation à partir d’un paquet sous Linux Ubuntu 8.04

sudo apt-get install liblua5.1-0 libzip1 python-paramiko
python-pexpect python-crypto

wget http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-oss-5.2.17-1ubu804-i386.deb/from/http://mirrors.ircam.fr/pub/mysql/

Choisir un autre miroir de téléchargement

sudo dpkg -i mysql-workbench-oss-5.2.17-1ubu804-i386.deb

Site officiel:  http://wb.mysql.com/

App

Gthumb – Imprimer plusieurs images sur une même page

sudo apt-get install gthumb
gthumb &

App

Ganglia 3.1.x – Installer et configurer

Installation

wget http://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.1.2%20%28Langley%29/ganglia-3.1.2.tar.gz/download
mv download ganglia-3.1.2.tar.gz
sudo tar xvzf ganglia-3.1.2.tar.gz -C /usr/local/.
cd /usr/local/
sudo ln -s ganglia-3.1.2/ ganglia
cd /usr/local/ganglia
apt-get install libapr1-dev libconfuse-dev librrd-dev python-dev
./configure --with-gmetad
make -j2
make install
mkdir /etc/ganglia
gmond -t > /etc/ganglia/gmond.conf
useradd ganglia
mkdir -p /var/lib/ganglia/rrds
chown ganglia:ganglia /var/lib/ganglia/rrds
cp -R ../web/ /var/www/ganglia

/etc/ganglia/gmetad.conf

data_source "Cluster eeebox" 127.0.0.1
#User gmetad will setuid to (defaults to "nobody")
setuid_username "ganglia"

Installation des scripts init.d

/etc/init.d/gmond

#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/gmond
NAME=gmond
DESC="Ganglia Monitor Daemon"
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo \
--exec $DAEMON 2>&1 > /dev/null
echo "$NAME."
;;
reload)
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0

/etc/init.d/gmetad

#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/gmetad
NAME=gmetad
DESC="Ganglia Meta-Daemon"
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo \
--exec $DAEMON 2>&1 > /dev/null
echo "$NAME."
;;
reload)
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0

cd /etc/init.d/
chmod +x gm*
update-rc.d gmond defaults
update-rc.d gmetad defaults

Liens

App

Geekbench

Geekbench provides a comprehensive set of benchmarks engineered to quickly and accurately measure processor and memory performance. Designed to make benchmarks easy to run and easy to understand, Geekbench takes the guesswork out of producing robust and reliable benchmark results.

Works on Mac OS X, Linux, Solaris, Windows

App

App

Configuer Firefox comme naviguateur par défault pour Evolution

gconf-editor

/desktop/gnome/url-handlers/http et /desktop/gnome/url-handlers/https
command: firefox %s
enabled: coché

Redémarrer Evolution

App

Apache 2 – Régénérer un certificat SSL auto-signé

Suite à l’article de nanard sur les dates de certificats SSL, j’ai reçu des messages d’insultes de ce type:

depth=0 /C=FR
verify error:num=18:self signed certificate
verify return:1
depth=0 /C=FR
verify error:num=10:certificate has expired
notAfter=Feb 23 14:21:23 2010 GMT
verify return:1
depth=0 /C=FR
notAfter=Feb 23 14:21:23 2010 GMT
verify return:1
DONE
notBefore=Jan 24 14:21:23 2010 GMT
notAfter=Feb 23 14:21:23 2010 GMT

Voici comment regénérer un certificat SSL auto-signé:

Connectez-vous en root.

cd /etc/apache2
openssl req -new -x509 -days 365 -key server.key -out server.crt
invoke-rc.d apache2 restart

Et voila !

echo | openssl s_client -connect www.benjaminbaudouin.com:443 | openssl x509 -noout -dates

depth=0 /C=FR/ST=Some-State/O=Internet Widgits Pty Ltd
verify error:num=18:self signed certificate
verify return:1
depth=0 /C=FR/ST=Some-State/O=Internet Widgits Pty Ltd
verify return:1
notBefore=Apr 1 08:03:02 2010 GMT
notAfter=Apr 1 08:03:02 2011 GMT
DONE

App

Firefox – Optimiser le démarrage avec des Vacuum SQLite

Les extensions de Firefox écrivent leurs données dans des tables issues de base de données SQLite.
L’historique Firefox, les marques-pages et d’autre fichiers dont voici la liste sont également stockés au format SQLite:

  • urlclassifier2.sqlite
  • search.sqlite
  • places.sqlite
  • webappsstore.sqlite
  • index.sqlite
  • cookies.sqlite
  • content-prefs.sqlite
  • downloads.sqlite
  • signons.sqlite
  • permissions.sqlite
  • formhistory.sqlite

Afin d’optimiser le démarrage de Firefox il peut être intéressant de lancer des Vacuum des différentes bases SQLite.

On va créer pour cela un script Bash que l’on pourra par la suite exécuter en Cron:

vi firefox_sqlite.sh

#!/bin/bash
pgrep -x firefox -U $(id -u) > /dev/null && echo "Vous devez arrêter Firefox avant de lancer les Vaccum SQLite !" && exit 1
find ~/.mozilla/firefox -name "*.sqlite" -ls -exec sqlite3 {} "VACUUM" \;
echo "Vaccum SQLite terminé.";

Rendre le script Bash éxécutable:

chmod +x firefox_sqlite.sh

Exécuter le script Bash:

./firefox_sqlite.sh

Relancer firefox

firefox &

App

Recent Tweets

Catégories