Prendre un Café

L'espace d'expression de Nicolas Perriault

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

vendredi 17 juillet 2009

Installing php 5.3, apache2 and MySQL 5 on OS X using Macports

I wanted to test latest php 5.3 on my OSX box. So here’s a quick reminder on how to proceed to a full setup of apache2, mysql5 and php 5.3 using Macports.

First, get a fresh copy of the Macports installer for OSX. Install macports, then in a shell prompt, type:

$ sudo port install mysql5 +server
$ sudo port install php5 +apache2 +debug +pear +sqlite +mysql5 

You have now the time to have lunch, dinner, sex or to watch an episode of Derrick[1].

To enable the php module for apache:

$ cd /opt/local/apache2/modules
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so

Then, add this line in the /opt/local/apache2/conf/httpd.conf file:

Include conf/extras-conf/*.conf

Copy one of the standard php.ini files proposed by the default installation:

$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini

To start apache automatically at system startup:

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

Or manually:

$ sudo /opt/local/apache2/bin/apachectl start

To initialize, configure and start MySQL automatically:

$ sudo -u mysql mysql_install_db5
$ sudo /opt/local/bin/mysql_secure_installation5
$ sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

Now launch your browser at http://localhost/: you’re done. Have some rest.

Notes

[1] Don’t try to do all that stuff at the same time, result cannot be guaranteed

jeudi 30 octobre 2008

Utiliser Memcached avec PHP sous Mac OS X

Ayant récemment eu besoin de travailler sur une application utilisant memcached, j’ai du l’installer sur ma machine perso tournant sous Mac OS X. Pour mémoire, memcached est un système de stockage distribué de paires clé/valeur en mémoire vive, très rapide et performant. Cela peut s’avérer un outil de choix pour faire monter en charge une architecture, par exemple en ajoutant des frontaux web et en utilisant memcached comme espace partagé de stockage des données de session utilisateur. On peut également imaginer d’y stocker les résultats de traitements complexes, des templates compilés, des jeux de résultats SQL, etc.

J’ai trouvé un excellent tutoriel d’installation de memcache pour OS X pour cela, que je vous invite à suivre pour mettre en œuvre les exemples ci-après. Une fois l’installation effectuée, vous pouvez lancer le démon memcached avec cette ligne de commande :

$ sudo memcached -d -u nobody -m 128 127.0.0.1 -p 11211

Notez que cette dernière ligne de commande lance le démon memcached sous l’utlisateur nobody, en local sur le port 11211 et alloue 128 Mo de mémoire vive au service de stockage.

Exemple d’utilisation en PHP

Le tutoriel couvre également l’installation de l’extension PECL memcache, fournissant une API particulièrement simple et efficace à PHP pour utiliser le service.

Exemple d’utilisation basique :

<?php
$m = new Memcache;
$m->connect('localhost', 11211) or die ("Could not connect");
$m->set('toto', 'tata');
echo $m->get('toto'); // tata 

Pour utiliser memcached comme système de stockage des sessions, PHP dispose d’un gestionnaire de sessions memcache qu’il suffit d’activer par configuration dans votre fichier php.ini. Il suffit de remplacer la valeur :

session.save_handler = files

Par ces deux lignes, en adaptant au besoin les valeurs de connexion au démon :

session.save_handler = memcache
session.save_path="tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

Attention cependant, en cas de coupure du service memcached, toutes les données de sessions actives seront perdues.

lundi 29 octobre 2007

Une version récente de Subversion sous Mac OS X

Utilisateurs d'Eclipse et de Subclipse, vous avez peut-être déjà pesté devant l'incompatibilité de version qui existe avec celle disponible en ligne de commande sous Mac OS X (via MacPorts, Fink, etc.)

Généralement, vous vous prenez un message d'erreur du style :

The version of this client is too old.

Pour régler le problème, vous pouvez installer le package Subversion de Martin Ott en version 1.4.4.

samedi 14 juillet 2007

Importer son carnet d'adresses GMail dans Mac OS X

Le carnet d'adresses sous Mac OS X peut être rempli avec ses contacts GMail via une opération d'export/import dont voici les étapes :

  • Depuis votre compte GMail, cliquez sur Contacts puis Exporter
  • Sélectionnez le format texte Outlook CSV, enregistrez le fichier sur votre disque dur

Le carnet d'adresse du Mac travaille en encoding MacRoman, tandis que l'export des contacts GMail est effectué en ISO-8859-1 : il nous faut convertir le fichier. Pour cela, munissez-vous d'un éditeur de texte capable de ce type d'opérations (TextEdit ou TextMate sont de bons candidats), et réenregistrez le fichier au format d'encodage MacRoman.

Depuis l'application Carnet d'Adresses du Mac, sélectionnez Fichier, Importer, Fichier texte et pointez le fichier que vous venez d'encoder. L'interface d'assignation des champs est assez parlante, il s'agit de gérer la correspondance entre les colonnes du fichier d'export GMail avec les champs types du carnet d'adresses Mac :

Import du carnet d'adresses

Vous pouvez à tout moment contrôler la pertinence de vos associations de champs sur les entrées du fichier au moyen des flèches précédentes et suivantes. Une fois que vous êtes satisfait du résultat, vous pouvez lancer l'importation.

mercredi 30 mai 2007

Monter un lecteur réseau SSH/SFTP sous Mac OS X

Voici la procédure pour monter un lecteur réseau en utilisant MacFuse et MacFusion sous OS X Tiger :

  1. Récupérez MacFuse et sshfs
  2. Récupérez MacFusion
  3. Installez successivement MacFuse, sshfs puis MacFusion, lancez ce dernier
  4. Configurez l'accès à votre machine via SSH :

MacFusion

Un lecteur réseau est alors placé sur le bureau et accessible depuis le Finder. Notez que vous pouvez utiliser une authentification par clé SSH.

Lecteur monté

On peut aussi faire la même chose en FTP, tout aussi facilement.