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

vendredi 23 juin 2006

Note perso #1

Nommer une table MySQL user, c'est mal; et ça peut faire perdre une après midi :(

mercredi 17 août 2005

Redéfinir de force le mot de passe root de MySQL

Il peut arriver d'oublier son mot de passe root MySQL [1], n'est-ce pas blowup ? :p

C'est très embêtant car pour redéfinir un nouveau mot de passe root, il faut entrer le mot de passe... root, et réinventer ainsi le mouvement perpétuel...

Voici une méthode pour lancer MySQL sans requérir d'authentification, et ainsi pouvoir assigner un mot de passe à l'utilisateur root. Attention, cette méthode ne doit pas être utilisée sur des serveurs de production et/ou sensibles, car à ce moment toutes vos bases sont accessibles à tous les utilisateurs MySQL.

Dans un shell, entrez la séquence de commandes suivante :

$ sudo -s
# /etc/init.d/mysql stop
# mysqld -u mysql --skip-grant

Attention, maintenant MySQL est lancé sans authentification, c'est à dire qu'il est ouvert à tous les utilisateurs. Vous pouvez également arrêter Apache2 afin de limiter les possibilité d'execution de scripts accédant à des bases non autorisées :

# apache2ctl stop

Note : Si vous utilisez d'autres services permettant l'accès à MySQL, je vous recommande fortement de les arrêter de même. Vous pourrez les relancer à la fin de l'opération.

Là, ouvrir un nouveau shell pour définir un nouveau mot de passe root/MySQL (CTRL + Shift + T dans gnome-terminal)

# mysqladmin -u root flush-privileges password "nouveau_mot_de_passe"

Fermer le premier shell, et tuez le daemon mysql ignorant l'authentification, puis relancez mysql au moyen de la commande :

# /etc/init.d/mysql restart

Si vous aviez stoppé Apache, voire d'autres services, il est tant de les relancer :

# apache2ctl start
# ...

Normalement, ça devrait rouler...

Notes

[1] qui, rappelons-le, n'est pas le même que l'utilisateur root du système