Le Portal Pacher
Accueil > Software > Internet > SPIP sur Windows Server 2003 et IIS 6.0

SPIP sur Windows Server 2003 et IIS 6.0

vendredi 5 décembre 2008, par Phi, 11564 Vues

Noter cet article

J’ai voulu monter un petit intranet dans une entreprise, et comme j’aime bien la résistance aux hacks de SPIP, j’ai choisi de l’installer sur le serveur Windows 2003.


Pourquoi SPIP ?

Le Portal Pacher existe depuis plus de 10 ans. A l’origine le CMS utilisé était écrit par mes soins (ainsi que le moteur prix d’ailleurs). Au fur àmesure du temps cela devenait de plus en plus difficile àmaintenir et je suis passé àdes CMS disponibles sur le marché.

J’en ai fait vraiment beaucoup, depuis PHPBB (+ interface faite maison), puis PHP Nuke, puis Limbo, puis Joomla etc. Aucun des CMS n’a été résistant aux hacks sauf SPIP, sans doute parce qu’il est français et vraiment difficile àcomprendre et configurer.

Le choix de SPIP était donc logique.

Installation de SPIP

L’administrateur réseau voulait absolument utiliser Windows 2003 ainsi que IIS 6.0 alors que je suis plus habitué àLinux + Apache. J’ai donc du m’adapter sachant que j’ai trouvé beaucoup moins de documentation sous IIS que sous Apache sur SPIP.

A noter que c’est la première fois que j’utilise IIS, et donc que j’ai essayé d’apprendre àl’utiliser le moins possible (ie le strict nécessaire pour SPIP).

Les principales étapes de l’installation ont été les suivantes :

1) Installation de MySQL

J’ai choisi la dernière version de mysql soit la 5.0.67 win32, version community server gratuite. A noter que j’ai pris la version complète.

Il faut éditer my.ini dans le répertoire d’installation et modifier le sql-mode :
sql-mode="MYSQL40,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

On peut aussi l’installer sans mode strict, sinon SPIP ne marche pas avec MySQL 5.0 et plante àla quatrième étape de l’installation voir Problème MySQL avec SPIP. Une autre solution est de créer les tables erronées manuellement.

2) Installation de PHP 5.2.6

Lors de l’installation, il faut choisir (et seulement choisir) le module ISAPI comme interface. Le choix d’autres modules peut conduire àdes erreurs inexplicables (ex : erreur Oracle) ensuite. Il faut aussi ajouter les dll gérant mysql uniquement.

Dans mon cas, l’installation de PHP a échoué dans la mise àjour de IIS, sans doute àcause de droits d’accès insuffisants, j’ai donc du terminer la configuration manuellement.

Il faut donc aller sous IIS dans les propriétés de Web Sites, Home Directory, Configuration, ajouter l’extension .php et sélectionner la dll php5isapi.dll. Sur Home Directory, choisir dans Execute permissions "Scripts only" au lieu de None.

Il faut aussi sous IIS aller sur Web Services Extensions (qui apparait comme un répertoire), Cliquer sur All Unknown Isapi Extensions et choisir Allow.

Enfin dans l’onglet Documents, ajouter index.php comme default content et le remonter si vous le souhaitez en tête de liste.

Par ailleurs, la limite d’upload des fichiers dans mon cas est fixée par PHP à2 Mo, pour la modifier il suffit de régler dans php.ini upload_max_filesize= 2M àla valeur que vous souhaitez.

3) Installation de phpMyAdmin

Je ne sais pas pourquoi mais win mysql n’était pas installé avec mysql (ou je ne l’ai pas trouvé), j’ai donc ajouté phpMyAdmin 3.0.1.1.

Après avoir recopié le répertoire phpMyAdmin dans Inetpub/wwwroot, il fallait recopier config.inc.php dans la racine et éditer dans le fichier la ligne blowfish avec un seed que vous voulez.

J’ai dà» également éditer les permissions du répertoire phpMyAdmin : le plus simple c’est de sélectionner le répertoire dans IIS Manager, bouton droit "Permissions", utilisateur Internet Guest Account puis Full control.

Note : il me reste un message d’erreur d’absence de librairie mcrypt affiché, mais cela a l’air de marcher quand même.

4) Installation de SPIP 1.9.2e

Recopier le répertoire spip dans Inetpub/wwwroot, puis aller sur spip/ecrire. Il va d’abord afficher que les droits sont incorrects pour les répertoires IMG/ tmp/ local/ config/

Le plus simple c’est de sélectionner les répertoires dans IIS Manager, bouton droit "Permissions", utilisateur Internet Guest Account puis Full control.

A noter que si vous mettez "Permissions" en Write seulement, cela passe l’installation mais vous aurez plein de problèmes pour la sauvegarde et pour la gestion du cache (il ne semble pas pouvoir supprimer les fichiers). J’ai dà» installer une vieille version 1.9.1 de SPIP qui effectue la détection de façon correcte avant de trouver le problème qui m’a bien fait turlipiner tout une nuit.

P.S. : SPIP propose une méthode pour changer les droits sous FTP, mais je n’avais absolument pas envie de configurer un FTP sous IIS sachant qu’àcoup sà»r mon administrateur devait avoir interdit en sus l’accès FTP.

Entrée des informations du serveur MySql. Dans mon cas, localhost, root, mot de passe a fonctionné. J’ai perdu 1h puisque j’avais mal lu la page et cru qu’il fallait mettre deux fois le mot de passe au lieu de login + mot de passe ...

5) Installation d’ ISAPI Rewrite 3 Lite d’Helicon

Ce module est important pour avoir des URL propres sous SPIP.

IIS 6.0 n’a pas le mod_rewrite d’Apache, la seule solution rapide, simple et gratuite semblait d’installer le module ISAP Rewrite 3 Lite.

L’installation a bien fonctionné, cependant elle ne prenait pas du tout en compte le fichier .htaccess et les instructions mod-rewrite.

A la fin, je l’ai fait brutalement en mettant directement les instructions rewrite dans le fichier httpd.conf d’ISAPI Rewrite :

RewriteBase /spip/

RewriteRule rubrique([0-9]+)\.html$ spip.php ?page=rubrique&id_rubrique=$1 [QSA,L]

RewriteRule article([0-9]+)\.html$ spip.php ?page=article&id_article=$1 [QSA,L]

RewriteRule breve([0-9]+)\.html$ spip.php ?page=breve&id_breve=$1 [QSA,L]

RewriteRule mot([0-9]+)\.html$ spip.php ?page=mot&id_mot=$1 [QSA,L]

RewriteRule auteur([0-9]+)\.html$ spip.php ?page=auteur&id_auteur=$1 [QSA,L]

RewriteRule site([0-9]+)\.html$ spip.php ?page=site&id_syndic=$1 [QSA,L]

J’ai édité ensuite spip/ecrire/inc_version.php pour mettre :

$type_urls = ’html’

je préfère les url propres du type article3.html puisque c’est plus stable si on change le titre de l’article par exemple/

P.S. : Pour renommer htaccess.txt en .htaccess (pas de nom, uniquement extension), on est obligé de repasser sous dos sous Windows Server 2003 ! Cela n’a cependant pas réglé le problème de la prise en compte de ce fichier dans mon cas.

P.P.S. : J’avais pas ajouté le RewriteBase /spip/ au départ : cela ne marchait pas du tout alors que les expressions régulières étaient correctes.

6) Ajouter des plugins àSPIP

Le plus facile : ajouter un plugin, il suffit de recopier le plugin dans un répertoire spip/plugins, puis d’aller dans l’interface de configuration en mode avancé sur plugins qui apparait magiquement et de l’activer.

J’ai installé le plugin recherche avancée
qui marche parfaitement sans configuration supplémentaire.

7) Configurer la présentation de SPIP

Le plus dur : je ne comprends rien au langage de SPIP (et j’oublie très rapidement), et je n’ai jamais rien compris au système de CSS qui m’a toujours paru très complexe.

En règle générale il faut créer un répertoire spip/squelettes et recopier les fichiers squelettes, css ou de langues dans ce répertoire (attention au point 3) pour les permissions full control sinon SPIP va planter dès la première erreur puisque les fichiers cache vont rester et primer sur toutes les modifs ultérieures).

A noter que j’ai utilisé au début cette m***e de Kompozer qui corrompait les fichiers html même lorsqu’on les éditait en source, et faisait planter SPIP, javascript et autres. J’ai fini par passer sur un éditeur texte standard : Notepad++ qui est parfait.

D’abord les en-têtes et pied de page : les fichiers concernés sont inc-entete.html et inc-pied.html, pour les trouver quand on y connait rien ce n’est pas facile.

Ensuite la page de garde c’est sommaire.html. Les articles sont listés par date de mise en ligne au lieu de date de dernière modification, il suffit de changer la boucle #DATE avec #DATE_MODIF.

Enfin article.html et rubrique.html sont les plus importants.

Pour les images cliquables il suffit de lire Image cliquable sous SPIP

Enfin la mise en page est en fait dans les fichiers CSS, mais quand on débute on ne sait pas lesquels éditer puisqu’il y en a plein. En fait le principal est dans habillage.css, avec en particulier les classes page, conteneur#navigation, conteneur#contenu et conteneur#contre-encart, la largeur fixe par défaut de SPIP est obsolète (pour du 640x480 ?).

Exemples de CSS et de squelette permet de mieux comprendre les CSS en intégrant le code CSS et le code html dans des exemples sachant que la difficulté pour un novice c’est que les CSS sont souvent séparés des html et incluent plein de champs CSS non utilisés par la majorité des pages html.

Attention aux fichiers langue (ex : local-fr.php), oublier la virgule en fin de ligne ou l’anti slash devant l’apostrophe fait planter tout le site, et comme il est en cache vous ne pouvez même pas faire un recalcul sauf en ajoutant manuellement ?var_mode=calcul sur la page appelée.

A noter que les images et documents ajoutés sont liés àun article même s’ils peuvent être affichés par d’autres articles et qu’en cas de suppression, les fichiers sont détruits et ne peuvent plus être appelés par les autres articles. Tous les fichiers uploadés (mais pas les logos il semblerait), sont dans le répertoire IMG.

Conclusion

Comme vous avez pu le constater cela n’a pas été une partie de plaisir, presque une semaine de travail pour avoir un site fonctionnel avec une esthétique minimale.

Je pense que c’est le gros problème de SPIP, les forums sont mal organisés par rapport àun forum PHPBB, définis pour un site à640x480, et toutes les boucles, variables clés et fichiers clés ne sont expliquées nulle part, de façon claire pour un néophyte qui abandonne souvent en cherchant au hasard dans une multitude de fichiers.

Par ailleurs l’organisation des répertoires change àchaque version et l’upgrade n’est possible que directement àpartir de l’ancien site et pas par rapport àla sauvegarde de la base.

Au final la configuration hors interface de SPIP est àmon avis extrêmement difficile, ce qui explique le nombre de sites SPIP moches puisqu’on est obligé de manipuler les fichiers css et php pour adapterl’apparence de SPIP, mais une fois configuré SPIP est très stable et extrêmement solide.

Liens utiles

PHP Site officiel

SPIP Site officiel

Migration SPIP 1.9.2 vers 2.0.7 Article sur la migration àla dernière version de SPIP

phpMyAdmin Site officiel

MySql Site officiel

Helicon Isapi Rewrite Plugin IIS indispensable pour l’url rewriting

Notepad++ Un très bon éditeur de texte gratuit

PHP 4 avec IIS 5.1 Page web sur l’installation de PHP 4 sur IIS 5.1

Problème MySQL avec SPIP Solution sur SPIP Forum : désactiver le mode STRICT de MySql

Plugin SPIP Recherche Avancée

URL propres SPIP

Gestion des dates SPIP

Image cliquable sous SPIP

Exemples de CSS et de squelette


10 Messages

  • SPIP sur Windows Server 2003 et IIS 6.0 7 décembre 2008 00:00, par TomTom

    Merci beaucoup pour cette contrib qui m’a bien dépanné (sous apache d’habitude)

    Sinon pour de la bonne doc sur la personnalisation de spip
    www.spip-contrib.net/IMG/pdf/SPIP19_dev.pdf

    Pour les termes du "langage SPIP", http://www.spip.net/@?lang=fr

    Pour tes problème de compréhension des CSS, le boulot est déjàfait sur http://www.falconnet.fr/SPIP-Analyse-de-la-CSS-des.html

    repondre message

    • SPIP sur Windows Server 2003 et IIS 6.0 25 décembre 2011 19:04

      Useful article .. Put great thanks
      http://www.chatalshellah.net/

      repondre message

      • SPIP sur Windows Server 2003 et IIS 6.0 16 mars 2025 12:23, par Eldon

        An Instagram Viewer is a tool that allows users to browse Instagram profiles, photos, and videos without needing to log in or follow an account.
        It is commonly used to view public content anonymously, check
        out trending posts, or dissect user-generated media without an story instagram viewer account.

        Some broadminded Instagram spectators also have the funds for insights later than publish analytics and immersion metrics.

        An Instagram Downloader is a tool meant to put up to
        users save Instagram photos, videos, reels, and stories directly to their devices.
        past Instagram does not present a built-in download feature, these tools permit users to preserve content for
        offline viewing, personal use, or reposting (with proper
        credit). Many Instagram downloaders maintain high-quality downloads and enactment helpfully by pasting the publicize URL into the tool.
        However, users should always veneration copyright rules
        and Instagrams terms of help later than using such tools.

        repondre message

        • SPIP sur Windows Server 2003 et IIS 6.0 22 mars 00:52, par Isidra

          Many people are curious in getting hold of free tiktok like bot TikTok buddies to boost their social media presence and buildup concentration on their content. even if the idea of quickly growing a with without effort is appealing, its important to be cautious. Some websites or apps promising release TikTok followers may be scams or could compromise your account security. A safer door is to focus upon creating high-quality, fascinating videos, using trending hashtags, and interacting taking into consideration your audience consistently. Organic deposit might bow to more time, but it builds a real and nimble follower base that supports long-term attainment upon TikTok.

          repondre message

          • SPIP sur Windows Server 2003 et IIS 6.0 22 mars 03:23, par Juli

            Many people are excited in attainment clear TikTok associates to boost their social media presence and growth combination upon their content. while the idea of speedily growing a following without effort is appealing, its important to be cautious. Some websites or apps promising pardon TikTok followers may be scams or could compromise your account security. A safer get into is to focus on creating high-quality, fascinating videos, using trending hashtags, and interacting taking into consideration your audience consistently. Organic buildup might receive more time, but it builds a real and lively auto follower tiktok base that supports long-term achievement on TikTok.

            repondre message

            • SPIP sur Windows Server 2003 et IIS 6.0 25 mars 01:19, par Latanya Croteau

              A private Instagram viewer is often marketed as a tool that allows users to view content from private accounts without like them, but in reality, most of these facilities are misleading or unsafe. Instagrams privacy system is expected to guard addict content, meaning that deserted qualified followers can look posts, stories, and reels from private profiles. Many so-called private Instagram viewer websites ask for personal information, login credentials, or require users to fixed idea surveys, which can lead to scams, data theft, or malware infections. otherwise of relying on such dangerous tools, the safest and most ethical artifice to view private content is to send a follow request and wait for approval. Respecting privacy settings not lonely protects others boundaries but moreover keeps your own personal instruction secure online. Also visit my website : Swioz

              repondre message

          • SPIP sur Windows Server 2003 et IIS 6.0 27 mars 01:14, par Merri

            A private Instagram viewer is often marketed as a tool that allows users to view content from private accounts without subsequent to them, but in reality, most of these services are misleading or unsafe. Instagrams privacy system is intended to protect addict content, meaning that on your own credited followers can look posts, stories, and reels from private profiles. Many so-called private Instagram viewer websites question for personal information, login credentials, or require users to unlimited surveys, which can lead to scams, data theft, or malware infections. otherwise of relying on such dangerous tools, the safest and most ethical artifice to view private content is to send a follow demand and wait for approval. Respecting privacy settings not lonely protects others boundaries but moreover keeps your own personal recommendation secure online. Also visit my web-site : : Swioz

            repondre message

        • SPIP sur Windows Server 2003 et IIS 6.0 26 mars 20:11, par Lorenza

          A private Instagram viewer is often marketed as a tool that allows users to view content from private accounts without considering them, but in reality, most of these services are misleading or unsafe. Instagrams privacy system is intended to protect addict content, meaning that forlorn qualified cronies can see posts, stories, and reels from private profiles. Many so-called private instagram comment viewer viewer websites question for personal information, login credentials, or require users to unmovable surveys, which can guide to scams, data theft, or malware infections. on the other hand of relying upon such risky tools, the safest and most ethical mannerism to view private content is to send a follow request and wait for approval. Respecting privacy settings not single-handedly protects others boundaries but plus keeps your own personal information secure online.

          repondre message

    • SPIP sur Windows Server 2003 et IIS 6.0 25 mars 04:46, par Florentina

      A private Instagram viewer is often marketed as a tool that allows users to view content from private accounts without taking into consideration them, but in reality, most of these facilities are misleading or unsafe. Instagrams privacy system is designed to protect addict content, meaning that solitary recognized buddies can look posts, stories, and reels from private profiles. Many so-called private Instagram viewer websites ask for personal information, login credentials, or require users to utter surveys, which can guide to scams, data theft, or malware infections. otherwise of relying upon such dangerous tools, the safest and most ethical pretentiousness to view private content is to send a follow demand and wait for approval. Respecting privacy settings not deserted protects others boundaries but next keeps your own personal guidance safe online. my web blog ... Swioz

      repondre message

  • SPIP sur Windows Server 2003 et IIS 6.0 13 août 2010 14:05, par Goldo

    Merci beaucoup également ! IIS c’est pas la joie tous les jours :)

    repondre message

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

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

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0