Dans des billets précédents concernant la mise en place d’un serveur MAMP sur Panther et sur Tiger, j’avais évoqué l’utilisation de CocoaMySQL pour gérer les bases de données avec un outil graphique. Cet outil n’a pas évolué depuis fort longtemps et comme j’ai récemment appris que MySQL fournissait gratuitement une GUI pour ses produits je me propose de vous le présenter.
Le but de ce document est de mettre en place un serveur Internet type « PHP/MySQL » sur une plateforme Mac OS X principalement dans un but pédagogique d’autoformation, c’est-à-dire disposer de ce qu’il faut pour développer un site en local avant de le publier sur Internet.
PHP [Sigle, de l'anglais "Personal Home Page" puis "PHP: Hypertext Preprocessor"]: Langage de script orienté objet permettant de gérer un site web de A à Z, en allant de la simple génération de documents HTML à la production d’image GIF à la volée en passant par les requêtes aux serveurs de données, l’envoi automatique de mails ou encore le chiffrement. Il est très très complet et évolue vite, en parfaite adéquation avec le couple terrible Linux/Apache. C’est un logiciel libre. (Source: Jargon FR)
MySQL [Sigle, de l'anglais My Simple Query Language]: Système de Gestion de base de données relationnelles dont les principales qualités sont d’être libre et partiellement gratuit. Il est très utilisé pour mettre en ligne sur le web de petite base de données. (Source: Jargon FR)
Mac OS X [Abbreviation]: Macintosh Operating System X: Dernière série de système d’exploitation des ordinateurs Macintosh de la Marque Apple. Le X représente à la fois la 10ème génération du logiciel et le symbole du système Unix sur lequel il repose.
Nota: Ce document est compatible Mac OS X 10.4, pour la version 10.3 consultez mon article précédent.
Prérequis: Un peu d’aisance avec Mac OS X 10.4.
1 – Introduction
Ayant renouvelé plusieurs fois l’aventure d’installer et de supprimer PHP/MySQL de mon système, j’ai voulu présenter ici la méthode la plus facile à installer, et (au cas où…) la plus facile à désinstaller. De plus je cherche à conserver – et à utiliser – au maximum les fonctionnalités déjà disponibles sur Mac OS X.
1.1 – Mais j’ai déjà tout le nécessaire non?
Exact, Mac OS X dispose déjà d’un serveur web : il s’agit d’un Apache en version 1.3.29 mais ne propose pas de base le gestionnaire de base de données MySQL. De plus, le module PHP installé d’office en version 4.x n’est pas activé, nous profiterons donc du passage à Tiger pour passer en PHP 5.x.
Pour info:
- Dossier d’Apache :
/private/etc/httpd/ - Aide d’Apache :
/Library/Documentation/Services/Apache/
1.2 – Aperçu du « Partage Web Personnel »
La notion de site Internet, pour Mac OS X, est intimement associé à la notion de partage. Par conséquent l’activation du service Apache se fait aussi simplement que l’activation du partage de fichier c’est à dire en passant par l’interface des Préférences Système. En voici un petit aperçu :

1.3 – Où dois-je mettre les fichiers de mon site Web ?
En réalité, Mac OS X permet de gérer deux types de sites internet : un site global et des sites personnels. J’entends par « site global » un site qui est propre à l’ordinateur par opposition aux « sites personnels » propre à chacun des utilisateurs. Cette gestion de site est comparable à celle de tous les autres systèmes Unix.
Le « site gobal »
- Dans le finder :
Finder -> Bibliothèque/WebServer/Documents/ - En console :
/Library/WebServer/Documents - Adresse :
http://localhost(on peut remplacer « localhost » par le nom ou l’adresse IP de l’odinateur)
Le « site personnel »
- Dans le finder :
Finder -> NomUtilisateur/Sites/ - En console :
/users/NomUtilisateur/Sites/ - Adresse :
http://localhost/~NomUtilisateur
1.4 – Plusieurs méthodes pour PHP et MySQL
Etant donnée la parenté entre Mac OS X et le monde Unix il est tout à fait possible de récupérer les sources des différents utilitaires et de les compiler soit même, « à la main ». Il existe aussi des packages tout prêt contenant la totalité des trois logiciels. Afin de pouvoir utiliser d’autres outils reposant sur Apache ou MySQL sans me confronter à des problèmes de compatibilité et éviter d’avoir des doubles installations, je prévois de procéder de la manière suivante :
- Conserver l’instance d’Apache d’origine (la nouvelle version n’apportent pas grand chose dans ce contexte)
- Mettre en place un serveur MySQL
- Activer le support de PHP5 sans supprimer les modules de PHP4
Ces manipulations répondent à deux principes de base :
- Conservation de l’existant
- Possibilité de désinstaller individuellement des packages ajoutés pour revenir à l’état d’origine.
2 – Installer MySQL 5.0.13
2.1 – Instructions d’installation
Depuis la version 4.0.11 l’entreprise MySQL propose en téléchargement des packages de MySQL pour Mac OSX qui fonctionne parfaitement bien, je vous invite donc à télécharger la dernière version de MySQL sur le site officiel. Une fois l’image disque téléchargée, il est très facile d’installer MySQL 5.0.13:
- Lancez
Mmysql-max-5.0.13-rc-osx10.4-powerpc.pkget suivez les intructions pour installer le serveur. - Lancez
MYSQL.prefPanepour ajouter l’outil de gestion dans les préférence systèmes.

Pour lancer MySQL il suffit alors de cliquer sur le bouton « Start MySQL Server » et de renseigner le mot de passe de l’utilisateur.
2.2 – Lancement de MySQL dans une utilisation courante
Pour lancer automatiquement le service mysql à chaque démarrage de votre ordinateur il faut installer le module MySQLStartupItem.pkg sans quoi le fait de cocher la case « Automatically start MySQL Server at Startup » sera sans aucun effet.
3 – Installer PHP5
Comme on l’a dit plus haut, PHP4 est déjà installé sur OS X (à partir de la version 10.3), mais n’est pas activé par défaut. Ici, nous choisirons de le laisser désactivé et d’installer plutôt PHP5, plus moderne. Si vous souhaitez quand même utiliser PHP4, vous pouvez suivre ces instructions.
Le package PHP5 disponible sur le site de Marc Liyanage correspond parfaitement à ce dont nous avons besoin : un installateur PHP5 pré-compilé pour la plateforme Mac OS X. Son installation et sa mise en route sont simplissimes.

3.1 – Instructions d’installation
Récupérez le package PHP5 compilé pour Mac OS X sur le site de Marc Liyanage. Lancez l’installation et suivez les instructions… Et voila reste juste à tester si ça marche.
3.2 – Tester
Nous allons créer un fichier php pour voir ce que cela donne :
- Vérifiez que le partage web personnel est activé.
- Dans
/Library/WebServer/Documents/effacer tout le contenu - Avec TextEdit créer un fichier texte contenant
<?php phpinfo(); ?>, enregistrez le sous version.php - Dans votre explorateur, tapez
http://localhost/version.php
Si cela affiche un tableau bleu avec l’entête PHP que vous pouvez voir juste au debut de cette rubrique cela fonctionne. Si la page reste blanche vous avez du rater quelque chose…
4 – Mise en place de CocoaMySQL

4.1 – Présentation
CocoaMySQL est une application graphique spécialement développée pour Mac OS X: elle tire son nom du langag
e de programmation d’Apple nommée Cocoa. Elle permet de prendre totalement en main, et très facilement grâce à la qualité de son interface graphique, une base de donnée MySQL locale ou distante. Ce programme se substitue parfaitement à PHPMyAdmin que je présentait dans une ancienne version de ce document.
4.2 – Installation
L’installation, comme toujours avec Mac OS X est très simple. Elle se résume en ces quelques phases:
- Récupérez l’application ici.
- Décompressez l’image.
- Copiez CocoaMySQL dans le répertoire application.
4.3 – Utilisation
Au lancement CocoaMySQL vous demandera à quelle base vous connecter, dans notre cas il s’agira de spécifier localhost pour le serveur, le compte root n’a pas de mot de passe. Après… à vous de découvrir, l’aide est assez fournie.
5 – Je suis pas content je veux tout désinstaller
Cette ultime rubrique à pour but de vous indiquer comment supprimer chacun des applicatifs précédement installé. En cas de problèmes cela vous permettera de retourner à votre configuration d’origine. Dans tous les cas je vous conseille de la lire, cela vous permettra de mieux comprendre le fonctionnement de ces logiciels.
5.1 – Désinstaller CocaMySQL
Comme pour beaucoup d’application prévues pour Mac OS X, il suffit d’ouvrir le répertoire applications et de glisser le programme CocoaMySQL vers la corbeille.
5.2 – Désinstaller PHP5
Tout d’abord vous devez supprimer les appels d’Apache vers celui ci.
- Lancer un terminal
- Editer le fichier de configuration d’Apache:
sudo pico /private/etc/httpd/httpd.conf - Supprimer les lignes faisant appel à PHP5 (voir l’encart ci-après)
- Quitter avec [Ctrl] + [X]
- Confirmez l’enregistrement avec [Y]
# begin entropy.ch PHP module activation Include /usr/local/php5/httpd.conf.php # end entropy.ch PHP module activation # begin entropy.ch PHP module activation AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php # end entropy.ch PHP module activation |
Après quoi vous pouvez supprimer les fichiers de PHP5 qui se trouvent tous dans le même répertoire: sudo rm -rf /usr/local/php5
5.3 – Désinstaller MySQL
La désinstallation complète de MySQL n’est pas très compliqué du moment que vous soyez un tantinet procédurier. Elle se déroule de la manière suivante :
Suppression du service et des bases:
- Lancer un Terminal
- Supprimer le server MySQL
- Supprimer le service:
sudo rm -rf /usr/local/mysql-max-5.0.13-rc-osx10.4-powerpc - Supprimer les fichiers d’installation:
sudo rm -rf /Library/Receipts/mysql-max-5.0.13-rc-osx10.4-powerpc.pkg
- Supprimer le service:
- Supprimer l’utilitaire des préférences système:
/Library/PreferencePanes/MySQL.prefPane - Supprimer l’utilitaire de lancement automatique si vous l’aviez installé:
- Supprimer l’utilitaire:
sudo rm -rf /Library/StartupItems/MySQLCOM - Supprimer les fichiers d’installation:
sudo rm -rf /Library/Receipts/MySQLStartupItem.pkg
- Supprimer l’utilitaire:
6. Liens et informations
- Apache
- PHP and Co
- MySQL
- Apple
- Divers
Serveur Internet sous Debian (Apache 1.3.x)
Cet article a pour objectif de vous aider à mettre en place un serveur internet complété par une base de données MySQL et un interpréteur PHP le plus rapidement possible sans avoir besoin de trop de préparation. Ce installation concerne les logiciels Apache 1.3.x, PHP 4.3.10 et MySQL 4.0.24.
1 – Installer Debian en mode console
1.2 – Quelle version
Si vous désirez mettre votre serveur web en production et que, par conséquent, vous voulez qu’il soit sécurisé au maximum, je vous conseille d’utiliser une Debian Stable (actuellement nommée Sarge). Dans le cas où vous désirez juste faire quelques tests sur un réseau local où vous n’êtes pas préoccupé par la sécurité, vous pouvez vous pencher sur une Debian Testing (actuellement nommé Etch).
1.2 – Plus d’informations sur l’installation
Vous pouvez utiliser l’installateur réseau de la Sarge disponible ici. Bien que je ne veuille pas m’étendre sur l’installation d’une Debian (cela fera l’objet d’un autre article) merci de prendre en considération ces quelques points:
- N’installer ni gestionnaire de fenêtre ni interface graphique
- En début d’installation choisissez de préférence un système de fichiers journalisé.
- En fin d’installation n’exécuter ni tasktel ni dselect.
- L’applicatif MC (Midnight Commander) peut vous simplifier la vie.
2 – Installer le serveur web Apache 1.3.33-6
2.1 – Récupérer les paquets et les installer
Comme d’habitude sous debian, rien de bien sorcier: il suffit de taper ceci: apt-get install apache à l’invite de commande.
2.2 – Comment le configurer
Toute la configuration d’Apache est localisée centralisée dans un seul fichier: /etc/apache/httpd.conf. Comme dans beaucoup de fichiers de configuration sous GNU/Linux, les commentaires sont précédés du symbole « # »
Exemple de fichier /etc/apache/httpd.conf :
# CONFIGURATION DE BASE
#----------------------
ServerType standalone
ServerRoot /etc/apache
LockFile /var/lock/apache.lock
PidFile /var/run/apache.pid
# PidFile: fichier conservant le numéro de processus d'apache
ScoreBoardFile /var/run/apache.scoreboard
ResourceConfig /dev/null
AccessConfig /dev/null
#Les deux lignes précédentes limite l'accès à la configuration d'Apache
# OPTIONS DE PERFORMANCE
#-----------------------
# Toutes ces options gèrent les accès au serveur Web
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 100
# CHARGEMENT DES MODULES
#-----------------------
# Charge les modules d'apache
LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config.so
# config_log_module: module de gestion des journaux (logs)
LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so
# mime_module: détermination du type de document selon les extensions du fichier
LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
# dir_module: gestion du répertoire racine
LoadModule access_module /usr/lib/apache/1.3/mod_access.so
# access_module: prise en charge des droits d'accès
LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so
# PARAMETRES GENERAUX
#--------------------
# Paramètres du serveur à proprement parler
Port 80
User www-data
Group www-data
# Utilisateur et groupe utilisés par Apache pour accèder aux services du serveur
ServerAdmin webmaster@MonServeur.com
# ServerAdmin: coordonnées du responsable du serveur
UseCanonicalName Off
ServerSignature Off
HostnameLookups Off
ServerTokens Prod
ServerName MonServeur
# ServerName: nom du serveur
DocumentRoot /var/www
# Racine des sites internet
# CONTROLES D'ACCES
#------------------
# Droits d'accès à la racine du serveur via internet
Options None
AllowOverride None
Order deny,allow
Deny from all
# Droits d'accès au répertoire internet
Order allow,deny
Allow from all
Options FollowSymlinks
# OPTIONS DES MODULES
#--------------------
# Définition des types de fichier index
DirectoryIndex index.html index.htm
# Association des types de fichier
TypesConfig /etc/apache/conf/mime.types
# Fichier annexe spécifiant les types de fichiers
DefaultType text/plain
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddType application/x-tar .tgz
# JOURNAUX
#---------
# Formatage de fichiers de log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined LogFormat "%h %l %u %t \"%r\" %>s %b"
common LogFormat "%{Referer}i -> %U"
referer LogFormat "%{User-agent}i" agent
ErrorLog /etc/apache/logs/error_log
CustomLog /etc/apache/logs/access_log combined
Un fois ces modification effectuées, redémarrez Apache afin d’une part qu’elles soient prises en compte et, d’autre part, être sûr que le fichier fonctionne.
- Les fichier de logs doivent pré-exister quitte à créer le repertoire correspondant avec mkdir et le fichier avec touch
- Ce fichier est disponible ici
3 – Installer l’interpréteur PHP 4.3.10
3.1 – Récupérer les paquets et l’installer
Installez PHP4 avec apt-get install php4 (Pour PHP5 ce n’est possible qu’en ajoutant le dépôts de dotdeb à apt).
3.2 – Comment connecter PHP à Apache
Pour « connecter » PHP à Apache vous devez modifier le fichier de configuration d’Apache (voir ci-dessus) tel qu’apparaisse en plus les lignes suivantes:
- Dans le chargement des modules, pour charger automatiquement le module PHP4 avec Apache, rajoutez la ligne suivante:
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so - Et, dans les options des modules:
AddType application/x-httpd-php .php .php3 DirectoryIndex index.php index.php3
3.3 – Configurer PHP4
Le fichier de configuration se localise ici: /etc/php5/apache/php.ini La configuration de base devrait suffire pour une utilisation classique. Dans le cas contraire je vous invite à consulter la documentation du site officiel
4 – Installer le gestionnaire de base de données MySQL 4.0.24
4.1 -Récupérer les paquets et les installer
Similairement à PHP… apt-get install mysql-server mysql-common mysql-client
4.2 – Comment le configurer en console
Pour lancer la commande d’administration de mysql il suffit de taper mysql -p à l’invite de commande (quit permet d’en sortir). C’est ici que vous pouvez créer vos tables, les effacer etc. Personnellement je préfére utiliser l’interface web de PHPMyAdmin. Cependant, par mesure sécurité, il est impératif, et ce dès l’installation de MySQL de changer le mot de passe root (administrateur) de MySQL avec la commande mysqladmin -u root password 'MonNouveauMotDePasse'
4.3 – Connecter MySQL à Apache et PHP
Il n’est pas nécessaire de connecter MySQL à Apache puisque celui-ci est incapable d’y accéder directement. Par contre, PHP doit être capable de se connecter au serveur MySQL pour ce faire il faut installer un package spécifique: apt-get install php5-mysql
5 – Conclusion
Votre serveur web est prêt à accueillir vos site. Il suffira juste de la placer au bon endroit (/var/www/) et d’y accéder par un navigateur internet en tapant l’adresse ou le nom du serveur.
Cet article décrit comment réaliser simplement un serveur web de type Apache/PHP/MySQL sous Windows dans le but de développer des applications web. Attention, il ne s’agit pas ici de mettre en production un « gros » serveur Internet.
Lire la suite…
Le but de ce document est de mettre en place un serveur Internet type « PHP/MySQL » sur une plateforme Mac OS X principalement dans un but pédagogique d’autoformation, c’est-à-dire disposer de ce qu’il faut pour développer un site en local avant de le publier sur Internet.
Lire la suite…