MoinMoin - ArchWiki

Jump to content

# MoinMoin

From ArchWiki

This article or section is out of date.

Reason: Python2 reached its end of life by now and one of the required AUR packages has been removed. Although there is the latest unstable version, which supports Python 3, it is not described in this page (Discuss in Talk:MoinMoin#uwsgi-plugin-python2 missing)

"MoinMoin is an advanced, easy to use and extensible WikiEngine with a large community of users. Said in a few words, it is about collaboration on easily editable web pages." MoinMoin is written in Python 2.

## Installation

1. Install moinmoinAUR.
2. Make a new directory for MoinMoin under `/var/lib/moin/` for non static files.
3. Copy the folders `/usr/share/moin/data/`, `/usr/share/moin/underlay/` and the configuration file `/usr/share/moin/config/wikiconfig.py` into `/var/lib/moin/`.
4. Change the owner of `/var/lib/moin/` to the user under which your web server is running (in most cases "http").

You can also run MoinMoin directly from `/usr/share/moin/` if you are ok with non static files in `/usr/`.

## Configuration

### uWSGI

If using uWSGI, copy the file `/usr/share/moin/server/moin.wsgi` to `/var/lib/moin`. In the file, replace the string `'/path/to/wikiconfigdir'` with `'/var/lib/moin'` and uncomment the line.

Install uwsgi-plugin-python2[broken link: package not found] and create the file `/var/lib/moin/uwsgi.ini` with the following content.

    [uwsgi]
    socket = /run/uwsgi/moin.sock
    chmod-socket = 660
    plugin = python2

    chdir = /var/lib/moin/
    wsgi-file = /var/lib/moin/moin.wsgi

    master
    workers = 3
    max-requests = 200
    harakiri = 60
    die-on-term

Start uWSGI with `uwsgi --ini /var/lib/moin/uwsgi.ini`. Make sure uWSGI has read and write rights for `/var/lib/moin/` and your web server has read and write rights for `/run/uwsgi/moin.sock`. If you are following this guide you should start uwsgi under the "http" user.

#### nginx

nginx can be set adding the following server block to your `/etc/nginx/nginx.conf`:

    server {
       listen       80;
       server_name  wiki.your.domain;

       location / {
          uwsgi_pass unix:/run/uwsgi/moin.sock;
          include /etc/nginx/uwsgi_params;
       }

       location ~ /moin_static[0-9]+/(.*) {
          alias /usr/lib/python2.7/site-packages/MoinMoin/web/static/htdocs/$1;
       }

       location /favicon.ico {
          alias /usr/lib/python2.7/site-packages/MoinMoin/web/static/htdocs/favicon.ico;
       }
    }

#### Systemd unit file for MoinMoin with uWSGI

Create the systemd unit the following for easily starting/stopping the service:

    /etc/systemd/system/moinmoin.service

    [Unit]
    Description=Start uwsgi for moinmoin wiki
    After=network.target

    [Service]
    Type=simple
    User=http
    ExecStart=/usr/bin/uwsgi --ini /var/lib/moin/uwsgi.ini

    [Install]
    WantedBy=multi-user.target

## First steps

You should now be able to reach your wiki under wiki.your.domain. For further information on how to configure MoinMoin refer to the MoinMoinWiki.

Category:

- Wiki software

Hidden categories:

- Pages or sections flagged with Template:Out of date
- Pages with broken package links