Outils du site

fr:smf

Forum : Simple Machine Forum (SMF)

Au 27 mai 2016, le forum est basé sur SMF.

Processus d'installation

Créer une database (via phpmyadmin par exemple) pour smf, avec comme utilisateur “smf”1) (tous les privilèges, grant ; client “localhost”).

Télécharger et dézipper la dernière version de SMF dans un dossier à la racine du dossier web, par exemple /var/www/forum.

wget http://download.simplemachines.org/index.php/smf_2-0-11_install.tar.gz
tar zxvf smf_2-0-11_install.tar.gz -C forum

Vérifier les droits :

chown -R www-data:www-data /var/www/forum
chmod -R g+W /var/www/forum

Se rendre à l'adresse web https://monsite.com/forum/install.php(À adapter suivant votre serveur et votre installation.)) et suivre les étapes. Mettre la base de donnée en utf8.

S'il y a des soucis après l'installation, télécharger ici le truc pour réparer : http://wiki.simplemachines.org/smf/Repair_settings.php

Vérifier que le forum est bien installé, passer en français (télécharger et mettre le pack). Il va écraser certains fichiers, c'est normal.

wget http://download.simplemachines.org/index.php/smf_2-0-11_french-utf8.tar.gz
tar zxvf smf_2-0-11_french-utf8.tar.gz

À adapter à la version du forum ; attention, utf8 n'est pas le premier de la liste sur http://download.simplemachines.org/?smflanguages;lang=french

Refaire après ça :

chown -R www-data:www-data /var/www/forum
chmod -R g+W /var/www/forum

Installer les divers plugins.

Plugins

Télécharger les plugins qui vous intéressent sur http://custom.simplemachines.org/mods/.

Ensuite, aller dans l'administration du forum, Gestionnaire de paquets/Télécharger des paquets/Transférer un paquet et envoyez les paquets depuis votre ordinateur.

Tous les paquets s'installent sans souci, sauf subaccount, le plus important, car trop vieux. Il faut télécharger la version officielle, puis aller dans Gestionnaire de paquets/Parcourir les paquets et tout en bas, cliquer sur Avancé. On peut alors “émuler” une version plus ancienne du forum, le temps d'installer le paquet. Remplacer SMF 2.0.11 par SMF 2.0 RC4, valider, installer subaccount.

Plugins installés sur le forum de Khaganat

Spoiler BBCode

Version actuelle 1.1.3

http://custom.simplemachines.org/mods/index.php?mod=2330

Permet de gérer des balises de “spoiler”.

Admin member list registration date

Version actuelle 1.2

http://custom.simplemachines.org/mods/index.php?mod=1085 ?

Possibilité de lister les membres par date d'enregistrement (pratique quand les bots passent).

Characters remaining of post

Version actuelle 1.0.4

http://custom.simplemachines.org/mods/index.php?mod=3722

Comptabilise le nombre de mot max qui restent dans un post (oui, il y a une limite, même si elle est réglée haute).

SubAccounts Mod

Version actuelle 1.0.1

http://custom.simplemachines.org/mods/index.php?mod=2264

LE mod important, permet de gérer des sous-comptes (utiles pour le rp : un nom=un perso).

Tagging System

Version actuelle 3.0

http://custom.simplemachines.org/mods/index.php?mod=579

Permet d'ajouter des “tags” à un sujet (aide sur certains thèmes récurrents à mieux les lister).

Enhancements to purge inactive members

Version actuelle 1.3.6

http://custom.simplemachines.org/mods/index.php?mod=2569

Gestion des membres inactifs.

SMF Theme Changer

Version actuelle 1.0.1

http://custom.simplemachines.org/mods/index.php?mod=3356

Permet de switcher de thème même sans être connecté ; pas très bien intégré au thème principal (peu visible dans le bas du forum) mais a le mérite d'exister.

My Posts

Version actuelle 1.2

http://custom.simplemachines.org/mods/index.php?mod=3809

Lister ses propres messages.

Plus installé mais...

Addthis widget in first post

Version actuelle 2.0

Addthis a un souci, il piste les gens même s'ils ne cliquent pas. Bref, ça ne va pas, on est pas ici pour fliquer.

Mais c'est un bon outil qui permet de relayer un post sur tous les réseaux sociaux facilement, très utile niveau com… à travailler à l'occase.

Like Posts

Version actuelle 1.5.2

http://custom.simplemachines.org/mods/index.php?mod=3708

Mod modifié pour laisser des guimauves aux gens. Façon d'encourager ceux qui font ce qu'on aime.

Vu qu'il bugue avec les dernières versions du forum, nous l'avons enlevé jusqu'à ce qu'on fasse une version à nous. Mais la version en ligne est plus récente, elle peut mieux marcher.

Thème

Les thèmes sont enregistrés dans :

/var/www/forum/Themes/

Nous avons créé le thème 'Khanat' ; pensez à sauvegarder vos thèmes !

Images de fond de page /Favicon / logos

Dans l'optique de rassembler toutes les images de fond, favicon etc. qui sont semblables en un seul et même endroit (en créant des liens symboliques par exemple), voici où se trouvent ces images dans ce thème :

/var/www/forum/Themes/Khanat/images
  • khanat_background_01.jpg : image d'arrière-plan (appel depuis /var/www/forum/Themes/Khanat/css/index.css ) ;
  • khanat_logo.png : bannière du site, définie par le panneau d'administration du forum SMF : Configuration » Thème en cours - Dans 'Options et Préférences du thème' : “URL vers l'image de logo:

Le favicon ne semble pas géré de façon modulable, et il a donc fallu le placer directement dans :

/var/www/forum/

C'est un fichier nommé favicon.ico

Peut-être faudrait-il voir à installer un plugin pour améliorer la prise en charge du favicon : à étudier

Sauvegardes régulières

Il y a un bouton dans le panneau d'administration pour sauver tout en format zip, mais ça ne semble pas automatisable.

Sinon, plus classique, sauver la base de donnée Mysql (à lancer via un script ou cron)

/usr/bin/mysqldump -u root -p$(cat /home/user/.password) --opt smf > /home/user/backup/smf-mysqldump.sql

* ''/usr/bin/mysqldump'' est la commande pour lancer le "dump" (sauvegarde) de la base
* ''-u'' indique l'utilisateur de la base (ici, c'est //root//, mais ça pourrait aussi être //smf//)
* ''-p'' indique le mot de passe. Ici, vu que le script est automatisé, le mot de passe est stocké dans un fichier caché (''.password''), dans un endroit que le script peut lire. (''/home/user/''). Adaptez tout cela de façon plus sécurisée suivant votre processus de sauvegarde ; par exemple dans /root/, avec un fichier au nom qui n'éveille pas les soupçons, lisible uniquement en root.
* ''--opt'' évite certaines erreurs.
* ''smf'' est le nom de la base de donnée à sauvegarder.
* ''> /home/user/backup/smf-mysqldump.sql'' indique vers quel format et où sauvegarder le tout.

Ce fichier .sql devrait ensuite être envoyé vers un autre serveur, séparé physiquement du premier.

Voir aussi l'article Processus de sauvegarde sur un serveur.

Restauration

Si vous migrez le forum de place, ou pour récupérer depuis une sauvegarde :

Installer le forum, ses plugins et thème, puis remettre la base mysql.

mysql -u root -p -D smf < smf.sql
  • -u : l'utilisateur (ici, root)
  • -p : son mot de passe. Comme on ne précise rien, il sera demandé.
  • -D : la base de donnée

Mise à jour de plugins ("paquets")

L'installation et la désinstallation d'un paquet se fait par un processus de patch ; l'installation ajoute des modifications dans certains fichiers de SMF, la désinstallation défait ces modifications.

Mais voilà, parfois ça ne se passe pas aussi bien que prévu, et un paquet peut refuser de se désinstaller. Pas de panique, ce n'est souvent pas bien grave, il suffit de repérer les fichiers qui posent souci et à quel endroit exactement, et d'appliquer des modifications à la main pour que le patch (ou plutôt le “dépatch” si l'on peut dire) soit content et fonctionne sans erreur.

Pourquoi vouloir désinstaller un paquet pour le mettre à jour ? Parce-que le nouveau paquet ne peut généralement pas appliquer ses modifications si une ancienne version est déjà installée.

Exemple

Voici un exemple concret, avec le paquet “Enhancements to purge inactive members”, pour passer de la version 1.3.6 à la 1.3.7 :

Le processus de patch reporte une erreur dans la première action à effectuer sur le fichier Sources/Who.php. Pour analyser la chose on extrait le paquet et on cherche quel fichier contient la modification à effectuer :

mkdir /tmp/purgemember/
tar -C/tmp/purgemember/ -xzf Packages/PurgeMemberEnhancement_1.3.6.tar.gz
grep -r Who.php /tmp/purgemember/
/tmp/purgemember/modification-2.0.xml:    <file name="$sourcedir/Who.php">

On ouvre le fichier /tmp/purgemember/modification-2.0.xml et on cherche le bloc contenant la modification :

      <file name="$sourcedir/Who.php">
              <operation>
                      <search position="before"><![CDATA[
              'mods' => array(]]></search>
                      <add><![CDATA[
                      // BEGIN MOD PurgeMemberEnhancement
                      '<a href="http://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.6 &copy; 2010-2014, davidhs',
                      // END MOD PurgeMemberEnhancement
]]></add>
              </operation>
      </file>

Le patch cherche dans le fichier Source/Who.php une ligne contenant 'mods' ⇒ array( pour ajouter en-dessous les lignes suivantes :

                      // BEGIN MOD PurgeMemberEnhancement
                      '<a href="http://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.6 &copy; 2010-2014, davidhs',
                      // END MOD PurgeMemberEnhancement

Regardons dans Sources/Who.php de quoi ça a l'air :

              'mods' => array(
                      // BEGIN MOD CharsRemainingOfPost
                      '<a href="http://custom.simplemachines.org/mods/index.php?mod=3722" target="_blank" class="new_win">Characters remaining of post</a>, 1.0.4 &copy; 2013-2014, davidhs',
                      // END MOD CharsRemainingOfPost

                      // BEGIN MOD PurgeMemberEnhancement
                      '<a href="https://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.7 | &copy; 2010-2017, <a href="https://custom.simplemachines.org/mods/index.php?action=search;author=242014" target="_blank" class="new_win">davidhs</a> | <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" class="new_win">Creative Commons Attribution 3.0 Unported License</a>',
                      // END MOD PurgeMemberEnhancement

Le souci, ici, est que le bloc de // BEGIN MOD PurgeMemberEnhancement à // END MOD PurgeMemberEnhancement ne se situe pas juste après 'mods' ⇒ array(. On corrige ça :

              'mods' => array(
                      // BEGIN MOD PurgeMemberEnhancement
                      '<a href="https://custom.simplemachines.org/mods/index.php?mod=2569" target="_blank" class="new_win">Enhancements to purge inactive members</a>, 1.3.7 | &copy; 2010-2017, <a href="https://custom.simplemachines.org/mods/index.php?action=search;author=242014" target="_blank" class="new_win">davidhs</a> | <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" class="new_win">Creative Commons Attribution 3.0 Unported License</a>',
                      // END MOD PurgeMemberEnhancement

                      // BEGIN MOD CharsRemainingOfPost
                      '<a href="http://custom.simplemachines.org/mods/index.php?mod=3722" target="_blank" class="new_win">Characters remaining of post</a>, 1.0.4 &copy; 2013-2014, davidhs',
                      // END MOD CharsRemainingOfPost

Et là on devrait pouvoir désinstaller le paquet sans souci.

1)
Par exemple ; ça peut être ce que vous voulez mais notez-le pour la suite, ainsi que son mot de passe.
fr/smf.txt · Dernière modification: 2018/05/02 13:17 par merlin8282