| [FrontPage] [TitleIndex] [WordIndex]

# HelpOnInstalling/StandaloneServer

Installing and configuring standalone server

See also: HelpOnConfiguration/IntegratingWithApache

The standalone server is especially made for local wikis because it does not need a web server installed. Only Python and Moin are necessary!

To install and run the standalone server:

1. If MoinMoin is not installed yet, perform ../BasicInstallation

2. Create a wiki instance as described in ../WikiInstanceCreation

3. Copy `moin.py` to your wiki directory, where your `wikiconfig.py` is

4. If you installed with `--prefix` option, you must edit moin.py and set `docs` to the correct path.

5. Run `moin.py`

6. Access your wiki at http://localhost:8000/

On most cases, the default settings will be just fine. You many want to edit `moin.py` and change some of the options, as described in the next section.

# 1. Configuring moin.py

## 1.1. System path configuration

If you did a standard install, and you are not a developer, you probably want to skip this section. If not, you might want to add the path to moin and config file, like that:

    import sys
    sys.path.insert(0, '/path/to/moin')
    sys.path.insert(0, '/path/to/wikiconfig')

## 1.2. Config class options

Option | Default | Comment
name | `'moin'` | Server name, used by default for log and pid files. New in 1.5
docs | `'/usr/share/moin/wiki/htdocs'` | Path to moin shared files. If you used `--prefix` install, the default path will not work, and you must set the path to `'PREFIX/share/moin/wiki/htdocs'`.
user | `'www-data'` | If you run as root, the server will run with as this user
group | `'www-data'` | If you run as root, the server will run with as this group
port | `8000` | Port to serve. To serve privileged port under 1024 you will have to run as root
interface | `'localhost'` | The interface the server will listen to. The default will listen only to localhost. Set to `''` to listen to all.
logPath | `name + '.log'` | Log file. Default is commented.
serverClass | `'ThreadPoolServer'`, `'ThreadingServer'`, `'ForkingServer'`, `'SimpleServer'` | The server type to use, see the comments in the `moin.py`. The default is `'ThreadPoolServer'`, which create a pool of threads and reuse them for new connections. New in 1.3.5
threadLimit | `10` | How many threads to create. New in 1.3.5
requestQueueSize | `50` | The count of socket connection requests that are buffered by the operating system. New in 1.3.5
properties | `{}` | allow overriding any request property by setting the value in this dict e.g `properties = {'script_name': '/mywiki'`}. New in 1.5

- There may be more options useful to moin developers, see the comments in `moin.py`

# 2. Configuring wikiconfig.py

The sample config file should be just fine.

Option | Default | Comment
url_prefix | '/wiki' | You should not change this, or images and css file will not be available to the wiki!

# 3. Starting the server

Run `moin.py` from the command line:

    $ ./moin.py
    Serving on localhost:8000

Test your wiki at http://localhost:8000/

On Windows, you can double click `moin.py` to start the server. A new terminal window will be opened. Close the window or press `Control + Pause` to stop the server.

On Unix, interrupt the server with `Control + C` in order to shut it down.

# 4. Serving port 80 on Unix

On GNU/Linux, Mac OS X or other Posix like OS, you can serve the standard port 80 used for web serving, but you must run as `root` for this.

Set `port` to 80, and verify that `user` and `group` exists on your system. If not, set them to an existing user, meant for web serving. If needed, `chown` your wiki dir to this user and group.

Run `moin.py` as root:

    $ sudo moin.py
    Password:
    Serving on localhost:8000
    Running as uid/gid 70/70

Test your wiki at http://localhost/

# 5. Running as daemon

If run on Unix, you can run moin.py as a background process:

1. Have a working `moin.py` as explained above

2. Copy the file `prefix/share/moin/server/moin` to your wiki directory.

3. Start moin server:

    ./moin start

To stop the server:

    ./moin stop

For more info run `moin` with no arguments.

If you want to start moin from a system startup script, you may need to add the path to `moin.py` in the top of the script:

    # Add the path to moin.py directory
    import sys
    sys.path.insert(0, '/path/to/moin')

- New in release 1.5

2007-07-30 15:45