J'héberge ici plusieurs wikis, petit inventaire:

Voir aussi hosted pour les sites statiques hébergés hors de la ferme de wikis.

  1. Fonctionnement
  2. Tips
    1. Migrating from Moinmoin markup to markdown regexes
    2. Renaming a wiki
    3. Rebuilding Apache configuration files
  3. Todo list
  4. Update log
    1. Patches to apply
    2. 2021-10-05: major upgrade (to bullseye)
    3. 2019-10-02: major upgrade
    4. 2017-06-19: major upgrade
    5. 2017-04-19: ikiwiki-hosting upgrade
    6. 2017-01-14: security upgrade
    7. 2016-05-08: security upgrade
    8. 2015-02-06: blog migrated from Drupal
    9. 2015-04-02: security upgrade
    10. 2015-03-30: git-annex support
    11. 2015-02-03: minor upgrade
    12. 2014-??-??: ikiwiki-hosting upgrade?
    13. 2014-10-28: minor upgrade
    14. 2014-09-28: minor upgrade
    15. 2014-06-01: minor upgrade
    16. 2014-02-03: jessie upgrade
    17. 2013-11-29: Backport upgrade
    18. 2013-09-08? Migration à ikiwiki-hosting
    19. 2011-12-16: Migration du site statique vers ikiwiki

Fonctionnement

Les wikis fonctionnent sous l'excellent logiciel ikiwiki, et les wikis sont gérés avec l'extension ikiwiki-hosting.

Chaque wiki a sont propre dépôt git indépendant qui garde l'historique des changements, et donc peut facilement être cloné. Les wikis peuvent être modifiés par l'interface web ou par git, et un ensemble de plugins sont disponibles.

Un stylesheet peut être installé par les utilisateurs, et un thème complet (tel night city qui formait la jolie présentation ici) peut être installé sur demande.

Tips

Petits conseils d'utilisation supplémentaire de ikiwiki. Voir ikiwiki pour l'aide régulière.

Migrating from Moinmoin markup to markdown regexes

Those are probably not being rendered properly, see tips/convert moinmoin to ikiwiki for a more complete solution.

Renaming a wiki

Normally:

ikisite rename foo.example.com bar.example.com

By hand:

vipw
vipw -s
vigr
cd /home
mv a-test a-testwiki
cd a-testwiki
vim ikiwiki.setup
git commit
git remote set-url origin /home/a-testwiki/source.git
git push
cd source
git remote set-url origin /home/a-testwiki/source.git
cd /var/www
mv a-test a-testwiki
cd /var/log/ikiwiki-hosting
mv a-test a-testwiki
cd /etc/ikiwiki-hosting/config
mv a-test a-testwiki
cd /var/lib/ikiwiki-hosting-web/lock/
mv a-test a-testwiki
sudo ikisite changesetup testwiki.anarc.at --rebuild

Rebuilding Apache configuration files

Apache configuration files are managed by the ikiwiki-hosting-web package, and specifically the ikisite command.

To rebuild the configuration from the templates, you first need to find the wiki site name. You can derive it from the username attached to the wiki, so say if the username is w-foo, the site name will be foo.wiki.orangeseeds.org. If you only have an alias (e.g. example.com), you'll need to look in the Apache configuration file for a matching wiki.orangeseeds.org domain.

To batch-rebuild all wikis, you can use this command:

grep -v -e '^#' -e '^$' /etc/ikiwiki/wikilist \
    | sed 's/^w-//' \
    | while read wikiname; do
        ikisite enable $wikiname.wiki.orangeseeds.org;
    done

Also note that the base template is in /etc/ikiwiki-hosting/templates/apache-site.tmpl and per-site overrides can be added to /etc/ikiwiki-hosting/config/$USERNAME/apache.conf.tmpl, for example in /etc/ikiwiki-hosting/config/w-anarcat/apache.conf.tmpl .

Todo list

Here are some things I'm thinking of doing on the website:

Update log

Various operations on the service documented here.

Patches to apply

On any given upgrade, the following patches need to be applied:

bugfixes

I still carry those patches on top of ikiwiki:

To apply this patch set:

This list is incomplete: it's missing the `geo-scheme` branch. The `deploy` branch on GitLab has all the goods. Also make sure to update the `master` branch on my GitLab repository to follow the `$release` tag those patches are based on, to facilitate web-based reviews there.
cd src/ikiwiki &&
release=3.20200202.3 &&
git rebase --onto $release anarcat/master toc-skip &&
git diff $release..toc-skip | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..toc-skip | ( cd /usr/share/perl5 ;    sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release page-template-variable &&
git diff $release..page-template-variable | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..page-template-variable | ( cd /usr/share/perl5 ;    sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release js-newline &&
git diff $release..js-newline | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..js-newline | ( cd /usr/share/perl5 ;    sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release recent-changes-plain-url &&
git diff $release..recent-changes-plain-url | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..recent-changes-plain-url | ( cd /usr/share/perl5 ;    sudo patch -p1 ) &&
git rebase --onto $release anarcat/master $release i18n-headinganchors &&
mv /usr/share/perl5/IkiWiki/Plugin/i18nheadinganchors.pm{,.orig} &&
git diff $release..i18n-headinganchors | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..i18n-headinganchors | ( cd /usr/share/perl5 ; sudo patch -p1  ) &&
diff -u /usr/share/perl5/IkiWiki/Plugin/i18nheadinganchors.pm{,.orig} &&
rm /usr/share/perl5/IkiWiki/Plugin/i18nheadinganchors.pm.orig &&
git rebase --onto $release anarcat/master $release bootstrap-plugin &&
mv /usr/share/perl5/IkiWiki/Plugin/bootstrap.pm{,.orig} &&
git diff $release..bootstrap-plugin | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..bootstrap-plugin | ( cd /usr/share/perl5 ; sudo patch -p1  ) &&
diff -u /usr/share/perl5/IkiWiki/Plugin/bootstrap.pm{,.orig} &&
rm /usr/share/perl5/IkiWiki/Plugin/bootstrap.pm.orig &&
git rebase --onto $release anarcat/master $release admonitions &&
mv /usr/share/perl5/IkiWiki/Plugin/admonition.pm{,.orig} &&
git diff $release..admonitions IkiWiki/Plugin/admonition.pm | ( cd /usr/share/perl5 ; sudo patch -p1 --dry-run ) &&
git diff $release..admonitions IkiWiki/Plugin/admonition.pm | ( cd /usr/share/perl5 ; sudo patch -p1 ) &&
diff -u /usr/share/perl5/IkiWiki/Plugin/admonition.pm{,.orig} &&
rm /usr/share/perl5/IkiWiki/Plugin/admonition.pm.orig &&
git diff $release..admonitions doc/style.css | ( cd /usr/share/ikiwiki/basewiki ; sudo patch -p2 --dry-run ) &&
git diff $release..admonitions doc/style.css | ( cd /usr/share/ikiwiki/basewiki ; sudo patch -p2 )

Then rebase and push all the branches:

for b in toc-skip page-template-variable'js-newline i18n-headinganchors bootstrap-plugin; do git co  $b && git reset --hard marcos/$b &&  git push --force-with-lease anarcat $b; done
git co deploy
git reset --hard $release
git merge toc-skip page-template-variable js-newline i18n-headinganchors bootstrap-plugin
git push --force-with-lease
git co master
git reset --hard $release
git push --force-with-lease anarcat

2021-10-05: major upgrade (to bullseye)

Upgraded the entire server to bullseye.

The following patches were dropped:

2019-10-02: major upgrade

Upgraded the entire server to buster. The following patches were dropped:

Still carrying 5 patches, which were all rebased to the latest upstream release in Debian stable (debian/3.20190228-1)

I am now considering a switch to hugo because of the constant churn in keeping those patches updated seemingly forever.

ikiwiki-hosting was also upgraded. The following patches were dropped:

We're now running upstream (0.20180719-1), which hopefully still works.

2017-06-19: major upgrade

upgraded to the upstream 3.20170111 release using backports in preperation for the stretch upgrade. patches reapplied as they are not factored in upstream yet.

2017-04-19: ikiwiki-hosting upgrade

Followed the upstream 0.20161219 release from stretch. Had to apply the following patches:

The following patches were dropped:

2017-01-14: security upgrade

Upstream did a security update in Jessie from 3.20141016.3 to 3.20141016.4. I did reapplied the git-annex and admonition patches since those are still useful.

I dropped the bugs/notifyemail fails with some openid providers patch because of the impeding doom of OpenID.

2016-05-08: security upgrade

Upstream did a security update in Jessie from 3.20141016.2 to 3.20141016.3. I decided to drop the bugs/notifyemail fails with some openid providers patch because it's probably not really in use and OpenID is dying anyways. I did reapply the git-annex patch since that is still useful.

2015-02-06: blog migrated from Drupal

See 2015-02-06-migrating-drupal-ikiwiki.

2015-04-02: security upgrade

Upstream just rerolled an upgrade to work around an XSS issue in the OpenID plugin.

2015-03-30: git-annex support

I started working on todo/git-annex support. Ikiwiki and ikiwiki-hosting have been locally patched to support this, but manual interventions are required for any wiki that wants to have annexed files. So far only this wiki has such support. See todo/git-annex support for more information on how this works.

2015-02-03: minor upgrade

It seems there were some ikiwiki criticial bugs in jessie that warranted a 3.20141016.1 release. Debian is now diverging from upstream which is unfortunate, but I guess necessary to have stables.

My openid patch is still not in, but I believe the SSL issue is finally fixed. See the 3.20141016.1 upload for release notes.

2014-??-??: ikiwiki-hosting upgrade?

At some point during the year, ikiwiki-hosting was upgraded to 0.20140613 (or just installed?).

2014-10-28: minor upgrade

Hopefully last upgrade for the lifetime of the next Debian stable release, the news/version 3.20141016 release still hasn't factored in my patch and I'll probably have to port it to the end. But it's the only patch remaining. See news/3.20141016 for changelog.

2014-09-28: minor upgrade

Upgraded to the latest release, only one patch left, and it seems it is here to stay... :/ See bugs/notifyemail fails with some openid providers.

At least those patches were merged in / fixed:

The changes cover this changelog between versions 3.20140227 and 3.20140916.

2014-06-01: minor upgrade

Upgraded to the february release, only two patches left to apply! Those patches were merged in:

I didn't re-enable the pagedown and album plugins for now. We would need to avoid having duplicate previews before re-enabling this.

The changes cover this changelog, version 3.20140227.

2014-02-03: jessie upgrade

I upgraded to jessie, and I had to reapply the patches. I mostly followed the procedure above.

See the following changelogs for details:

The changes cover this changelog between versions 3.20140102 and 3.20140125.

2013-11-29: Backport upgrade

I upgraded to the current version in jessie, that is 3.20130904.1. This deals with problems with uncommitted changes from the web interface and also factors in a few patches that were applied locally, as well as lots of bugfixes.

All the patches above were applied but the magic-mime problem.

The changes cover this changelog between versions 3.20130904.1 and 3.20120725.

Around this time, the album and pagedown plugins were installed.

New feature: markdown WYSIWYG!

I have also tried out the todo/pagedown plugin:

git co pagedown
git show ce1e63c IkiWiki | ( cd /usr/share/perl5 ; sudo patch -p1 )
git show ce1e63c doc/style.css | ( cd /usr/share/doc/ikiwiki/html/ ; sudo patch -p2 )
git show ce1e63c doc/style.css | ( cd /usr/share/ikiwiki/basewiki/ ; sudo patch -p2 )
git show ce1e63c doc/style.css | ( cd /usr/share/ikiwiki/themes/actiontabs/ ; sudo patch -p2 )
sudo cp /usr/share/doc/ikiwiki/html/style.css /usr/share/ikiwiki/themes/night_city/ikiwiki.css
git show ce1e63c templates | ( cd /usr/share/ikiwiki/; sudo patch -p1 )
git show ce1e63c underlays | ( cd /usr/share/ikiwiki/; sudo patch -p2 )
cd /usr/share/ikiwiki/pagedown/ && sudo make

And it's freaking awesome, we have somewhat WYSIWYG now! Just enable the pagedown plugin in your wiki.

New feature: album plugin

I am experimenting with the plugins/contrib/album plugin.

anarcat@marcos:ikiwiki$ git diff  3.20130904.1 IkiWiki | ( cd /usr/share/perl5 ; sudo patch -p1  )
patching file IkiWiki/Plugin/album.pm
anarcat@marcos:ikiwiki$ git diff  3.20130904.1 templates/ | ( cd /usr/share/ikiwiki/; sudo patch -p1 )
patching file templates/albumitem.tmpl
patching file templates/albumnext.tmpl
patching file templates/albumprev.tmpl
patching file templates/albumviewer.tmpl

2013-09-08? Migration à ikiwiki-hosting

Ikiwiki-hosting est en utilisation depuis peut-être 2011, puisque c'est là que me premières contributions arrivent dans le projet. Mais ces modifications dataient de 2013 dans l'historique de la page, alors meh.

Essentiel

Glaçage

2011-12-16: Migration du site statique vers ikiwiki

Must have before online

We're live baby! -- anarcat 2011-12-16

Nice to haves

Created . Edited .