Haut de page

Forum basé sur SPIP


Généralités

Mise en place d'un forum base sur SPIP sur une machine MacOS X 10.5. Ce forum est à accès privé sur mot de passe unique (sauf si l'on vient d'une plage de réseau particulier). Pour poster, il faut s'indentifier et seuls un certain nombre d'adresses sont autorisées à poster. Il n'y a pas de liste de mails mais simplement les mails ayant une forme particulière (xx@serveurparticulier.fr).

L'installation doit être faite sans avoir besoin des droits d'administrateurs (sauf pour lancer le serveur http). Pour cela tout sera mis en place dans un répertoire particulier. Pour permettre les mises à jour des différents logiciels, on mettra en place une notion de current pointant vers la version courante comme nous l'avons fait pour la mise en place d'un serveur SVN-Trac.


Détails

Création d'une arborescence toutforum.

Arborescence /toutforum :


Compilation des différents logiciels nécessaires (compil.sh)

L'installation de spip a besoin de mysql et de jpeg dans php. Pour améliorer les performances du serveur web, j'ai rajouté la possibilité de compression en gzip des fichiers htpl et css à la volée.

$prefix=/toutforum/versions/a (par exemple)

zlib

Installation de la bibliothèque zlib 1.2.3 permettant de compacter les fichiers html et css à la volée.

Apache

Installation du serveur web httpd. Compilation avec le mod deflate afin de compresser les fichiers à la volée.

Voir ici tous les paramètres de configuration

jpeg-6b

Installation de la bibliothèque jpeg-6b permettant de traiter les jpeg en php

mysql

Installation de mysql pour avoir la librairie nécessaire à php

Voir ici tous les paramètres de configuration

php

Installation de php pour avoir la librairie nécessaire à apache

Voir ici tous les paramètres de configuration

SPIP

Installation de SPIP. Mise ne place du favicon.ico, du fichier mes_options.php ainsi que du lien vers la modification des squelettes.


Fichiers de configurations d'apache

A la fin du fichier httpd.conf de base d'apage, j'ai rajouté Include conf/sites/*.conf permettant de mettre des extensions de configuration dans le dossier site.

Extention php.conf

<IfModule mime_module> AddType application/x-httpd-php .php </IfModule> <IfModule dir_module> DirectoryIndex index.php index.html </IfModule>

Extension forum.conf

Listen 80 <VirtualHost _default_:80> # General setup for the virtual host DocumentRoot "/toutforum/spip" ServerName <nom.domaine.fr>:80 ServerAdmin webmaster@nom.domaine.fr CustomLog "/toutforum/current/logs/access_log" "%h %l %u %t \"%r\" %>s %b" ErrorLog /toutforum/current/logs/error_log ErrorDocument 404 /spip.php?page=404 (page spéciale pour les erreurs de spip) <Directory "/toutforum/spip"> Options All +MultiViews -ExecCGI -Indexes AllowOverride Limit <IfModule mod_dav.c> DAV Off </IfModule> AuthName "Mot de passe Intranet" AuthType Basic AuthUserFile /toutforum/current/conf/user.access (fichier contenant l'utilisateur unique et son mot de passe) <Limit GET head OPTIONS CONNECT POST PROPFIND> Require user nom-utilisateur-du mot-de-passe-unique Order deny,allow Allow from xxx.yyy.0.0/255.255.0.0 Deny from all Satisfy any </Limit> </Directory> <IfModule mod_rewrite.c> RewriteEngine On # on empeche de lire le .svn et les ._nom de fichier (crée par ssh_fs depuis un Mac) RewriteRule ^(.*/)?\.svn/ - [NC,F] (le NC est là car, par défaut, les noms de fichier de MacOS ne sont pas sensibles à la casse) RewriteRule ^(.*/)?\._* - [F] </IfModule> </VirtualHost> # DEFLATE # Mod Deflate <IfModule mod_deflate.c> DeflateCompressionLevel 6 DeflateMemLevel 9 DeflateWindowSize 15 DeflateBufferSize 8096 </IfModule> <Location /> <IfModule mod_deflate.c> SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-httpd-fastphp AddOutputFilterByType DEFLATE application/x-httpd-eruby # Don't compress images SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|swf|flv)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary <IfModule mod_headers.c> # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule> </IfModule> </Location> # Properly handle old browsers that do not support compression <IfModule mod_deflate.c> # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 # the above regex won't work. You can use the following # workaround to get the desired effect: #BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html </IfModule>


Fichiers de configurations de SPIP.

mes_options.php

<?php function test_inscription($mode, $mail, $nom, $id=0) { include_spip('inc/filtres'); $adresse_ok=false; if (strpos($mail, "@domaine-particulier.fr")) $adresse_ok=true; if (strpos($mail, "@autre_domaine-particulier.fr")) $adresse_ok=true; if ($adresse_ok) return test_inscription_dist($mode, $mail, $nom, $id); else return('ecrire:mail_non_valide'); } ?>

mail_non_valide est un message du fichier local_fr.php, le nom de variable contient "mail" afin de s'afficher au bon endroit dans le formulaire en cas d'erreur. 'mail_non_valide' => 'Votre adresse &eacute;lectronique doit comporter @domaine-particulier ou @autre_domaine-particulier.'.

à compléter par des modifications faites sur les fichiers de squelettes suivant : threadspip.html, sommaire.html, rubrique.html, rss_forum_thread.html, recherche.html, recents.html, patch-forum.css, local_fr.php, mes_fonctions.php, forumspip.html, forum.css, formulaires, backend.html,backend-forum.html, article.html.

Voir aussi

2008-2008 (aidé par Emmanuel Saint-James pour tout ce qui concerne SPIP).



FutureShare

 | 

Glossaire

 |