Cela faisait plusieurs jours que j'essayais de faire fonctionner l'extension Math de MediaWiki pour pouvoir afficher des équations mathématiques en LaTeX. Mais lors de mes tests, j'obtenais toujours une erreur HTTP 500 (Internal Server Error) et le message suivant dans mes logs :

    Call to undefined method TempFSFile::autocollect()
    

    On peut donc en conclure que la dernière version de l'extension Math n'est pas compatible avec MediaWiki 1.19.2. Pour résoudre cette situation, il est nécessaire de revenir à une version antérieure :

    cd extensions
    git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Math.git
    cd Math
    git reset --hard 29a0a80e8fbb2d33507760075e4da9103439cbd9
    

    Merci à Cgeroux pour sa contribution (lien vers ses explications).

    SysAdmin · Web MediaWiki · LaTeX

    Lorsque j'envoyais une image sur MediaWiki (installé sur ma FreeBSD), j'avais droit à une erreur de ce type :

    Erreur lors de la création de la miniature : Impossible d'enregistrer la vignette sur la destination

    Pourtant, c'était pas faute d'avoir configuré le répertoire temporaire qui va bien (avec les bons droits d'accès) dans le fichier LocalSettings.php grâce à la directive $wgTmpDirectory. Seulement le problème venait du fait que MediaWiki utilise la fonction suivante pour déterminer l'emplacement du répertoire temporaire à utiliser :

    Read more Web · SysAdmin MediaWiki · PHP

    Le programme adjkerntz (installé par défaut sous FreeBSD) permet de maintenir une relation cohérente entre l'horloge du noyau, qui est toujours configurée à l'heure UTC, et l'horloge locale CMOS, qui peut être configurée au fuseau local.

    Cependant, au sein d'une jail, seul le fuseau horaire peut être modifié. La jail utilise donc la même heure que celle configurée sur le système hôte. L'utilisation de la commande adjkerntz va donc provoquer une erreur :

    Sep 22 05:31:00 www adjkerntz[23948]: sysctl(set: "machdep.wall_cmos_clock"): Operation not permitted
    

    Si vous rencontrez des messages similaires dans vos logs, c'est tout simplement parce que la commande adjkerntz est invoquée régulièrement par cron. Pour résoudre ce problème, il suffit de commenter la ligne suivante dans le fichier /etc/crontab de vos jails :

    # Adjust the time zone if the CMOS clock keeps local time, as opposed to
    # UTC time.  See adjkerntz(8) for details.
    #1,31   0-5     *       *       *       root    adjkerntz -a
    

    Vos logs seront plus propres désormais.

    SysAdmin FreeBSD · NTP

    Pour modifier la présentation du prompt sous MySQL, il faut éditer la variable d'environnement MYSQL_PS1 comme dans l'exemple ci-dessous :

    export MYSQL_PS1="(\u@\h) [\d]> "
    

    \u, \h et \d désignent respectivement l'utilisateur, l'hôte et la base de données.

    Pour conserver cette modification, le mieux est d'ajouter cette ligne dans le fichier ~/.bashrc de l'utilisateur courant (dans le cas du shell Bash) ou dans le fichier /etc/profile pour cibler tous les utilisateurs.

    Cependant, ce n'est pas la seule façon de procéder. Pour plus d'informations, cliquez ici.

    SysAdmin MySQL

    Sous FreeBSD, pour créer une interface virtuelle de type loopback au démarrage du système (nommée lo1 pour l'exemple), il faut ajouter le fichier /etc/start_if.lo1 et ce dernier devra contenir la commande suivante :

    /sbin/ifconfig lo1 create
    

    Pour la configuration de l'interface, cela se passe dans le fichier /etc/rc.conf.

    SysAdmin · Network FreeBSD