Archives de
Tag: mamp

Connexion MySQL avec le mamp de macports

Connexion MySQL avec le mamp de macports

Pour faire suite à l’installation de mamp avec macports, j’ai voulu installer symfony2. Lors de la configuration de la base de données, je n’ai pas rencontré de problèmes particuliers. Lorsque j’ai voulu créer la base de données avec symfony j’ai eu l’erreur suivante :

Could not create database for connection named `symfony`
SQLSTATE[HY000] [2002] No such file or directory

Après quelques recherches sur le net j’ai enfin trouvé la réponse. Lors de la configuration de la base de données, la valeur de l’hôte MySQL est localhost. Or la version de MySQL installé avec macports est configurée pour avoir le fichier mysqld.sock dans le dossier suivant:

/opt/local/var/run/mysql5/

Quand a PHP, il s’attend a le trouvé dans

/tmp

Forcement, cela pose problème. Pour le résoudre un lien suffit :

ln /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock

Et voilà la connexion MySQL en utilisant localhost fonctionne.

Un mamp avec macports 2

Un mamp avec macports 2

Voici la suite du premier post sur l’installation d’un mamp avec macports. Il nous faut configurer mysql, php et apache.

Avant toute chose je conseil de rebooter le mac.

Commençons par mysql: lancez la commande suivante afin de définir un nouveau mot de passe root pour mysql :

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'changezmoi'

Passons à PHP: je ne modifie que date.timezone pour y mettre la valeur « Europe/Paris ». Le fichier php.ini se trouve dan s/opt/local/etc/php54.

Viens enfin le tour d’apache. Le fichier httpd.conf est situé dans /opt/local/apache2/conf

Dans un premier temps cherchez le bloque « IfModule dir_module » et changez sa valeur par : « DirectoryIndex index.html index.php ».

Dans le bloque « IfModule mime_module » ajoutez : « AddType application/x-httpd-php .php »

Pour finir nous allons configurer apache pour gérer les hôtes virtuel dynamique.

Changez la directive DocumentRoot pour le répertoire de votre choix, dans mon cas /Users/aurel/Sites

Dans le deuxième block Directory apres le DocumentRoot modifier la valeur par le même que celle du DocumentRoot

Enfin à la fin ajouter le code suivant :

NameVirtualHost *:80
UseCanonicalName Off
<VirtualHost *:80>
      VirtualDocumentRoot /Users/aurel/Sites/%-2+
</VirtualHost>

Cela aura pour effet de chercher dans le repertorie /Users/aurel/Sites si un dossier sans la deniere extension existe. Par exemple, si le nom de domaine www.blog.dayo.fr.dev est redirigé vers la machie et qu’un dossier www.blog.dayo.fr existe dans le repertoire /Users/aurel/Sites alors ce contenu sera afficher.

Relancez apache avec la commande suivante :

sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart

Et voila il ne reste plus qu’a modifier votre fichier hosts et créer les répertoire associé dans votre DocumentRoot

Un mamp avec macports 1

Un mamp avec macports 1

Suite l’installation de mamp et n’étant pas satisfait de son utilisation, je me suis décider a regarder du coté des autres solutions. Celle qui ma le plus plu est l’installation à travers le gestionnaire de paquet macports.

Concernant l’installation de macports rien de bien compliqué. Un fichier dmg a installer, vérifier que xcode est installé et dans les préférences xcode installer les « Command Line Tools ».

Créé un fichier mamp.sh et copiez le contenu suivant:

#launch with sudo
# install all softwares
port install mysql5-server
port install php54-mbstring
port install php54-intl
port install php54-apc
port install php54-posix
port install php54-xdebug
port install php54-pdo
port install php54-iconv
port install php54-mysql
port install php54-sqlite
port install php54-gd
port install php54-openssl
port install apache2
port install php54-apache2handler
port select php php54

# create init file
cp /opt/local/etc/php54/php.ini-development /opt/local/etc/php54/php.ini

# add php module to apache
cd /opt/local/apache2/modules
/opt/local/apache2/bin/apxs -a -e -n php5 mod_php54.so

# load mysql and apache at startup
port load apache2
port load mysql5-server

# start mysql
sudo -u _mysql mysql_install_db5
/opt/local/lib/mysql5/bin/mysqld_safe &

 

Une fois sauvegarder, utiliser la commande suivante : sudo mamp.sh

Ce script installe apache2, mysql et php54.

Dans le prochaine post j’expliquerais comment configurer le tous.