Installer SPIP sur Mac OS X

Mac os X est un UNIX dont le serveur web par défaut est Apache, il est également doté de sendmail et de php : il ne lui manque que MySQL pour supporter pleinement Spip.
PS : Cet article a été mis à jour depuis sa publication initiale et doit normalement vous permettre d’installer spip sans trop de difficulté sur toutes les version de Mac OS X.

Votre mac comme serveur web

Mise à Jour Importante On trouve maintenant des Applications qui propose de gérer toutes seules Apache, PHP, Mysql et parfois plus. Si vous recherchez la solution la plus simple vous vous tournerez vers elles et éviterez de lire la suite de cet article, ce qui serait bien dommage. Ces solutions sont souvent citées sur les forums donc elles méritaient d’être sur cette page également.
Voir par exemple :

Depuis la mort du système 9 et l’avénement du système X, les machines Apple sont devenues des ordinateurs Unix dotés de la plus belle interface qui soit et de la meilleure compatibilité possible avec le monde Windows.

Les serveurs web BSD sont réputées pour leur temps de fonctionnement sans redémarrage ; Mac OS X est un Unix BSD.

Vous ne le savez peut être pas mais votre mac est doté d’un serveur web et même, du meilleur : Apache.

Pour l’activer, vous devez simplement aller dans les préférences systèmes, cliquer sur partage et enfin, cliquer sur partage web.

Votre serveur Apache est démarré. Vous pouvez désormais voir votre site web statique en local en tapant dans votre navigateur :

  • http://localhost/ qui signifie à votre ordinateur qu’il cherche le serveur web « en local »
  • ou http://127.0.0.1/ qui signifie à votre ordinateur qu’il cherche le serveur web par son adresse IP « locale » qui est 127.0.0.1 (en effet chaque ordinateur possède pour se nommer lui-même cette adresse IP dite loopback).
  • ou par son nom RendezVous, celui de la 2e ligne du Tableau de Bord Partage Web, soit alors http://nomrendezvous.local/
  • Vous pouvez également y accéder d’une 4e manière si vous êtes connecté au net : au travers de l’adresse IP qui vous est attribuée par votre fournisseur d’accès (visible dans les préférences réseau de votre mac). [1]

Tout fonctionne ? Parfait, alors passons au php.

Mac OS X et php sont dans un bateau

Le php est le langage de programmation utilisé par Spip, pour pouvoir utiliser Spip en local, vous DEVEZ avoir php sur votre mac et ce n’est possible que sous Mac OS X actuellement.

Deux choses :

  • php est déjà installé sur votre ordinateur :-)
  • php n’est pas activé sur votre ordinateur...

En effet, Apple a jugé bon de mettre php avec son serveur web mais, pour une raison que nous ignorons il a préféré ne pas l’activer par défaut.

Pour activer php sur votre machine, il va vous falloir modifier quelques petites choses dans fichier de configuration d’Apache.

ATTENTION : les modifications que vous ferez sur le fichier en question sont délicates et peuvent altérer le fonctionnement du serveur web : faites donc bien attention et ne nous reprochez pas VOS erreurs, merci ;-)

Mise en œuvre

Pour activer le module PHP du logiciel serveur web Apache il va falloir :

  1. faire une copie du fichier « /private/etc/httpd/httpd.conf » ;
  2. modifier le fichier « httpd.conf » pour activer le module PHP ;
  3. faire une copie du fichier « httpd.conf » modifié ;
  4. lancer ou relancer le logiciel Apache pour qu’il prenne en compte les modifications ;
  5. faire un test pour être sûr que tout marche.

Les opérations 1, 2 et 3 doivent être faites à partir d’un shell en tant qu’utilisateur root. Pour cela nous allons utiliser l’application Terminal. Elle se trouve dans le sous dossier « Utilities » (utilitaires) du dossier « Applications ».

Le terminal d’Apple
lieu où l’on peut écrire les commandes shell

Pour pouvoir modifier les fichiers il faut que vous ayez activé le compte root (ce n’est pas du ressort de cet article alors je vous renvoie à Ultramac qui a fait un article sur le sujet).

1 - Copie du fichier « httpd.conf » original

Dans la fenêtre de Terminal tapez la commande suivante :

sudo cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.apple

La commande sudo permet de lancer une commande en tant que super utilisateur (root). Lors d’une première invocation le mot de passe de l’utilisateur (pas celui de root) est demandé et si l’utilisateur est autorisé, la commande est exécutée. Il est ensuite possible de lancer plusieurs sudo sans que le mot de passe soit demandé. Au bout d’un moment (je crois que le délai normal est de cinq minutes) il est à nouveau nécessaire de taper son mot de passe. La commande cp fait une copie de fichier. Ici le nouveau fichier s’appellera " httpd.conf.apple ".

Cette copie nous permettra de revenir à la configuration initiale en cas de pépin.

2 - Modification du fichier " httpd.conf"
Midse à Jour  :
Les réfractaires à l’utilisation du Terminal pourront utiliser un éditeur de texte tel que SubEthaEdit, qui gère les droits des fichiers, permet d’ouvrir des fichiers cachés et de les modifier en demandant le mot de passe administrateur au moment de la sauvegarde.
Il suffit dans le Finder de faire « Aller au dossier », d’entrer dans la fenêtre le chemin du répertoire (ici /etc/httpd/ ) et ensuite d’éditer le fichier httpd.conf.

La suite du paragraphe se passe dans le Terminal à vous de l’adapter, il s’agit juste de changer 2/3 choses dans ce fichier et/ou d’en ajouter d’autres.

Le fichier " httpd.conf " ne peut être modifié que par l’utilisateur " root ", nous allons donc utiliser la commande " sudo ". Pour éditer le fichier, nous allons utiliser l’éditeur de texte " pico ". On ne peut pas utiliser la souris avec cet éditeur, mais il est un peu plus simple à manipuler que l’éditeur " vi ". Voici quelques commandes utiles pour utiliser pico.

[flèche gauche et flèche droite ], pour se déplacer d’un caractère à gauche ou à droite ;
[flèche haut et flèche bas ], pour se déplacer d’une ligne vers le haut ou vers le bas ;
[ctrl-y et ctrl-v ], pour se déplacer d’un écran vers le haut ou vers le bas ;
[touche d’effacement] pour effacer un caractère ;
[ctrl-x] pour quitter pico.

Dans la fenêtre de Terminal lancez l’éditeur pico pour éditer le fichier de configuration d’Apache. Les indications ci-dessous concernent le fichier de conf livré avec Jaguar (Mac OS X.2), dans des versions antérieures de OS X, si les lignes à modifier sont absentes, recopier directement la ligne voulue.

sudo pico /etc/httpd/httpd.conf

Pico, éditeur de texte
un petit éditeur de texte Unix livré avec macosX pour éditer, par exemple, httpd.conf

Déplacez vous dans le texte jusqu’à arriver à la ligne suivante.
Astuce : vous pouvez cherchez un terme dans pico en tapant Ctrl+W puis votre terme à rechercher, puis Entrée

#LoadModule php4_module        libexec/httpd/libphp4.so

Effacez le # en début de ligne pour obtenir ce qui suit.

LoadModule php4_module        libexec/httpd/libphp4.so

De même, effacez le caractère # au début de la ligne contenant le texte qui suit.

#AddModule mod_php4.c

Ces modifications ont pour but d’activer le module PHP.

activer le support de php4
le module est activé si le dièse(#) est enlevé

Continuez à vous déplacer dans le fichier jusqu’à arriver à la partie suivante.

<IfModule mod_dir.c>
  DirectoryIndex index.html
</IfModule> 

Après « index.html » ajoutez « index.htm index.php index.php3 » ce qui donne la ligne suivante.

DirectoryIndex index.html index.htm index.php index.php3

Cette ligne indique à Apache, que lorsqu’un dossier est demandé, Apache doit chercher dans ce dossier un fichier nommé « index.html », « index.htm », index.php « ou » index.php3 « et le renvoyer s’il le trouve. » index.htm « correspond à un fichier html conçu sous Microsoft DOS et ses dérivés, » index.php3 « et »index.php« correspondent à des fichier PHP. Normalement les fichiers se terminant par » .php3 « sont des fichiers utilisant la version 3 du langage PHP, mais en général le module comprend sans problème le contenu de ces fichiers. La prise en compte des fichiers » .php3 " est INDISPENSABLE pour SPIP.

Un peu plus loins vous trouverez les lignes suivantes. si ces lignes ne sont plus présentes, comme dans les dernières version du fichier fourni par Apple, il suffit de les ajouter à la fin du fichier

#AddType application/x-httpd-php .php 
#AddType application/x-httpd-php-source .phps 

Supprimez le caractère # en début de ligne et ajoutez « .php3 » à la fin de la première de ces deux lignes ce qui donne ce qui suit.

AddType application/x-httpd-php .php .php3 
AddType application/x-httpd-php-source .phps 

Cette dernière modification indique à Apache que les fichiers se terminant par « .php » ou par « .php3 » sont à gérer par le module PHP.

Maintenant il ne reste plus qu’à enregistrer vos modifications. Tapez la combinaison de touches [ctrl-x ]. L’éditeur pico vous demande alors si vous voulez enregistrer les modifications, tapez [y]. Il affiche ensuite le nom du fichier où vont être enregistré les changements, tapez la touche [Retour] .

3 - Copie du fichier modifié

Lors des mises à jour récentes de Mac OS X, Apple a remplacé purement et simplement un certain nombre de fichiers dont le fichier httpd.conf . Il est plus prudent d’avoir un double quelque part pour pouvoir remettre en place rapidement votre configuration. Dans la fenêtre de Terminal tapez la commande suivante :

sudo cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.perso

4 - Prise en compte des nouveaux réglages par Apache

Pour pouvoir prendre en compte les nouveaux réglages il faut lancer ou relancer le serveur Apache. Vous pouvez utiliser le tableau « Partage » de « Préférences Système ». Si le partage web est activé, cliquez sur le bouton « Arrêter ». Une fois le partage web arrêté, cliquer sur le bouton « Démarrer ».

5- Un petit test pour vérifier que c’est bon

Téléchargez le fichier

test

ci-joint à l’article, et déposez le répertoire test dans votre dossier Sites, puis allez à l’URL suivante :
http://127.0.0.1/ Nomutilisateur/test/

Si vous lisez autre chose que du code php c’est tout bon : ça marche !, sinon reprenez tout depuis le début (on est désolé...).

Mysql et macos X

Spip nécessite une base mysql pour fonctionner mais là Apple n’a pas prévu de l’installer par défaut, il va donc falloir la télécharger et l’installer.

Nous allons faire simple : d’autres personnes nous ont déjà prémaché tout le travail.

-  Méthode (quasi) automatique

Il existe un package complet MySQL sur serverlogistics.com pour vous faciliter la vie, avec Tableau de préférence intégré sur ce site.

Les étapes de l’installation sont les suivantes :

  • Télécharger le .dmg
  • Lancer MySQL.pkg et installer
  • Placer MySQL.prefPane dans Library > PreferencePanes
  • Dans Préférences systèmes > MySQL : bouton « initialize » puis bouton « Start » puis bouton « Set Root Password »

-  Méthode plus manuelle

  • Direction le site de Marc Liyanage (entropy.ch) où un MySQL récent compilé pour Mac OS X est disponible (Pour ceux que l’anglais rebute, il existe une traduction française de cette page ).
  • Téléchargez le bon package selon votre version Mac OS X et exécutez les instructions indiquées sur la page web dans le Terminal. Après quelques copier-coller MySQL sera opérationnel.

Installer SPIP

Nous supposons que vous avez déjà lu le manuel d’installation officiel, sinon faites le avant de continuer car nous n’allons pas tout détailler dans cet article !

C’est parti pour SPIP

  • Déposez le dossier contenant SPIP dans votre Répertoire Sites de votre dossier utilisateur (on suppose après que ce dossier se nomme « spip »)
  • Connectez vous au sous répertoire ecrire/, pour ceux qui n’auraient pas suivi il y a plusieurs méthodes possible, dont celle-ci qui est universelle :
    http://127.0.0.1/spip/ecrire/
  • suivez les indications à l’écran :
    adresse de la base : localhost
    identifiant de connexion : root
    mot de passe : mot de passe de root de MySQL

Résolution de bugs ?

Il se pourrait (mais ce serait étonnant) que l’installation ne marche pas du premier coup car certains répertoires de « spip » ne sont pas accessibles en écritures (par exemple si vous ne mettez pas le répertoire spip dans « Sites » mais seulement son alias). Il vous faudra alors modifier les droits sur ces répertoires, soit via le panneau d’informations [pomme+i], soit par le terminal : changer le groupe en « www » et autoriser le en lecture+ecriture. Si vous n’y connaissez rien en droits d’écritures suivez la procédure clasique (ou consulter cette page).


MAJ du 30 mai (Tiger)

Ne possédant pas le nouvel OS de Apple, Tiger, je me permets de recopier ici un message de la liste des utilisateurs de spip concernant ce sytème.


Je viens de passer de Panther à Tiger.
Clean install sur partition neuve, avec transfert des données lors de
l’install.

Pour que php, mysql et SPIP en local refonctionne, il faut
-  réinstaller les packages de Marc Linnage (PHP) et (MySQL).
-  remettre le phpmyadmin dans webserver (PhpMyAdmin)
-  et modifier le http.conf comme sous Tiger. Pour rappel

#LoadModule php4_module        libexec/httpd/libphp4.so
doit devenir :
LoadModule php4_module        libexec/httpd/libphp4.so
et dans la liste suivante
#AddModule mod_php4.c
devient
AddModule mod_php4.c
autoriser les php3 pour SPIP en ajoutant :
AddType application/x-httpd-php .php .php3

Notes

[1si vous avez plusieurs utilisateurs sur votre machine l’adresse sera, par exemple, http://127.0.0.1/ Nomutilisateur/

Discussion

38 discussions

  • Francois

    Bonjour, SOS mayday....

    Je reste bloqué à l’étape 4 « création des tables » qui échoue. Pourtant les tables sont créées, mais ça s’arrête là mystérieusement. Pas de solution sur le Web.
    Je suis en mac OS X.3 et j’utilise Entropy PHP 4.3, mysql-standard-4.1.10a avec les procédures d’installation standard de Marc Liyanage. Je prend la version de SPIP 1.6 pour pouvoir tester la migration de version. J’ai un utilisateur « root@localhost » de Mysql avec mot de passe dont j’ai configuré le mot de passe en ancienne méthode pour pouvoir aussi utiliser phpmyadmin. Cet utilisateur a tous les droits. J’ai fait de meme avec « root@ » et « root@nomordi.local ». les droits sur l’arborescence spip sont OK.

    Je penche pour un Pb de droits de l’utilisateur « mysql » au niveau système, mais je ne vois pas comment faire. Quelqu’un voit-il d’ou vient le problème ?

    Répondre à ce message

  • 1
    Joëlle

    Bonjour,
    Je travaille sous Mac os X 10.3.8.
    En activant le partage web je parviens à afficher les 2 pages comme indiquées si-dessus. Pour la suite, cela se complique. Je ne trouve pas de fichier httpd.conf, les seuls dossiers trouvés sont des fichiers httpd.html de même je ne trouve aucun fichier php. Apache est-il bien installé sur mon ordinateur ?
    Deuxième question : Il y a la possibilité d’installer un 2e serveur Apache2, quels sont les avantages/inconvénients de cette option ?
    Merci infiniment de vos réponses.

    • philippe

      Perso j’éviterais d’installer apache 2 vu que ça marche avec apache 1.3...
      Oui sauf si vous l’avez viré vous même apache est installé sur votre machine
      Etonnant que vous ne trouviez pas le fichier httpd.conf, il est dans :
      /etc/httpd/
      Vous pouvez accéder directement en tapant :
      commande-majuscule-G, puis : /etc/httpd/
      Qui y t il dans ce répertoire ?

    Répondre à ce message

  • 2

    Même problème que certains :
    install de php (vers 5 de chez M Liyanage) et mysql
    les deux fonctionnenent.
    Mais pas moyende faire fonctinner spip (1.7.2)
    bouclage entre
    http://imac-g5.local/~phil/spip/ecrire/install.php3?etape=1
    et
    http://imac-g5.local/~phil/spip/spip_test_dirs.php3
    jusqu’au moment où safari jette l’éponge
    firefox idem avec une suggestion de cookies bloqué
    idem pour omniweb !
    config imac g5, 10.3.7, php 5, mysql 4.1.7
    y en a t il chez qui ça marche en php 5 ?

    • j’ai téléchargé le fichier : SPIP-v1-8pr1.zip
      sur le lien suivant : http://www.spip.net/spip-dev/DISTRIB/

      Cela marche
      pour reprendre la procédure :

      1- activer Apache
      2- activer MySQL (menu préférences)
      3- lancer SPIP

    • philippe

      Je me réponds :
      il semble bien que ce soit php 5 qui pose problème. J’ai viré l’install de php5 puis activer php4 et ça marche.

    Répondre à ce message

  • Bonjour ou Bonsoir,
    J’ai vu votre message sur spip-contrib au sujet de l’installation. Comme je bloque sur « home directory » je ne peux pas pour suivre l’installation de MySQL... et comme vous l’avez réussi je vous demanderai ne serait-ce qu’une seule fois comment avez-vous franchi cette étape : « you will have to modify the ».tcshrc" located within your home directory !!!

    un grand merci
    Je m’excuse de vous avoir importuner

    Répondre à ce message

  • Cette contrib est vraiment indispensable et bien foutue. Grand merci ! Je suis en Panther 10.3.7 + install MySQL semi automatique.

    Peut-être juste un résumé des étapes pour ne pas se taper tout le manuel :
    -  Télécharger le .dmg
    -  Lancer MySQL.pkg et installer
    -  Placer MySQL.prefPane dans Library > PreferencePanes
    -  Dans Préférences systèmes > MySQL : bouton initialize puis bouton Start puis bouton Set Root Password si vous voulez

    Répondre à ce message

  • Merci à vous deux pour cette contrib, ça marche nickel. J’ai opté pour l’install semi automatique avec Panther 10.3.7

    Répondre à ce message

  • 2

    Bonjour,

    Je m’initie à Spip et je voudrai l’utiliser en local.
    Donc j’ai suivi vos conseils éclairés, mais paf un problème auquel je ne trouve pas de solution.
    Installation MySQL PHP5 Apache 1,3x. Tout cela est vérifié et fonctionne.
    La base a été créée avec phpMyAdmin, mais quand je veux débuter sur spip ( après avoir mis les droits en lecture ecriture ) les pages ecrire/install.php3 et spip_test_dirs.php3 boucle sur elles-mêmes.

    Qu’elle est l’erreur ?

    • je ne comprends pas le problème, pouvez vous essayer d’être plus précis ? (et aussi quelle version de spip)

    • J’ai installé les différents éléments comme l’article le suggère puis j’ai lancer la fin d’installation en appelant la page dans le dossier spip/ecrire/install.php3 qui me répond les droits ne sont pas ouvert etc...
      Je corrige les droits en appelant la fenêtre d’informations (pomme-I).
      Je recharge la page en utilisant le bouton recalculer la page et là intervient un aller et retour entre la page ecrire/install.php3 et spip_redirect.php3. Safari intervient en interrompant le processus.
      J’en suis là.

      version SPIP 1.7.2

      merci de l’aide.

    Répondre à ce message

  • 1

    nouveau message :

    <?php
        // pour hebergeurs ayant oublie de configurer DirectoryIndex index.php3
        include ("index.php3");
    ?>

    mais keskisepassetildonc ?
    je ne comprends pas
    kkun peut-il m’aider ?
    merci
    wil

    • je repond a ma question :
      j’avais fait une erreur au niveau de l’ecriture dans le terminal pour activer apache.
      voila c’etait aussi simple que ca !!!
      Apres avoir resolu ce pb, aucine difficulte pour installer en local...
      youpi :-)
      wil

    Répondre à ce message

  • l’install s’est tres bien passee en local, jusqu’a SPIP/ecrire/install.php3
    voila le message d’erreur :
    redirection limit for this url exceeded.unable to load request page. This may be caused by cookies that are blocked.

    les cookies ne sont pas bloques pourtant ?
    qq’un a t’il deja eu ce message d’erreur et trouve une soluc ?

    Merci
    wil
    a
    d
    a
    d
    a

    Répondre à ce message

  • 1
    Frédéric Stévenot

    Bonsoir,

    J’essaye d’installer SPIP sur un iMac équipé de l’OS X.3 depuis hier. J’ai sivi à la lettre les recommandations de l’article, mais la connexion à MySQL résiste encore et toujours...
    Apache est activé, MySQL est installé, les droits d’écriture-lecture sur ecrire, ecrire/data, IMG et cache sont réglés ; les adresse, identifiant, mot de passe ont été correctement renseignés...

    Deux solutions :
    -  espérer que vous en trouverez une à ce pépin ;
    -  ou élminer proprement les élémets perturbateurs (sans pour autant réinstaller le système...) et les remplacer par du neuf. Dans ce cas, comment faire pour éviter les dégâts ?

    Merci beaucoup,

    Frédéric

    • le message signifie que « la connection au serveur Mysql a échoué » :-)

      donc éditer le inc_connect pour corriger adresse du serveur (localhost), le nom d’utilisateur (?), son mot de passe (?), et évidemment : vérifier que mysql est bien lancé au démarrage

      a+

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom