[Moin-user] Trying to set up moinmoin on lighttpd

Preben Randhol randhol+moinmoin at pvv.org
Thu Feb 1 19:23:01 EST 2007


Hi

I'm trying again to setup moinmoin to run with fastcgi on lighttpd. I
have tried to follow the recipe of the moin installation pages, but I
cannot get it to work... 

I get: 500 - Internal Server Error

and in the lighttpd log I get:

2007-02-02 00:49:05: (log.c.75) server started 
2007-02-02 00:49:09: (mod_fastcgi.c.2533) FastCGI: header.type not
handled:  70 2007-02-02 00:49:09: (mod_fastcgi.c.2409) unexpected
end-of-file (perhaps the fastcgi process died): pid: 6584 socket:
tcp:127.0.0.1:2202 2007-02-02 00:49:09: (mod_fastcgi.c.3194) response
not received, request sent: 804 on socket: tcp:127.0.0.1:2202
for /ourwiki , closing connection 
===================================================================


The problem is that I try to follow the recipe, but it is so many
different recipes. Some for cgi some for fastcgi etc... So I don't know
what I'm doing wrong here. And how can I get some debug info from
moinmoin so I can better find out what is the problem?

When one use fastcgi do one need to alsi set up some aliases in
lighttpd? As I understand they apply for cgi?

Any help is much appreciated...

Thanks in advance

Preben

My setup is:


== /etc/lighttpd/conf-enabled/50-moinmoin.conf ====================

## FastCGI programs have the same functionality as CGI programs,
## but are considerably faster through lower interpreter startup
## time and socketed communication
##
## Documentation: /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
##                http://www.lighttpd.net/documentation/fastcgi.html

server.modules   += ( "mod_fastcgi" )

fastcgi.server = (  "/ourwiki" =>
  (( "docroot"   => "/",
     "min-procs" => 1,
     "max-procs" => 3,
     # allocate successive port numbers for each process, starting with
"port" "bin-path"  => "/usr/local/share/moin/server/moin.fcg",
     "host"      => "127.0.0.1",
     "port"      => 2200,
     "check-local" => "disable",
     "broken-scriptfilename" => "enable",
  ))
)

== /etc/moin/ourwiki.py ==========================================
# -*- coding: iso-8859-1 -*-
# IMPORTANT! This encoding (charset) setting MUST be correct! If you
# live in a western country and you don't know that you use utf-8, you
# probably want to use iso-8859-1 (or some other iso charset). If you
# use utf-8 (a Unicode encoding) you MUST use: coding: utf-8
# That setting must match the encoding your editor uses when you modify
# the settings below. If it does not, special non-ASCII chars will be
# wrong.

"""
This is a sample config for a wiki that is part of a wiki farm and uses
farmconfig for common stuff. Here we define what has to be different
from the farm's common settings.
"""

# we import the FarmConfig class for common defaults of our wikis:
from farmconfig import FarmConfig

# now we subclass that config (inherit from it) and change what's
# different:
class Config(FarmConfig):

    # basic options (you normally need to change these)
    sitename = u'OurWiki' # [Unicode]
    interwikiname = 'OurWiki'

    # name of entry page / front page [Unicode], choose one of those:

    # a) if most wiki content is in a single language
    #page_front_page = u"MyStartingPage"

    # b) if wiki content is maintained in many languages
    page_front_page = u"FrontPage"

        data_dir = '/usr/local/share/moin/ourwiki/data/'


== /etc/moin/farmconfig.py =======================================

# -*- coding: iso-8859-1 -*-
# IMPORTANT! This encoding (charset) setting MUST be correct! If you
# live in a western country and you don't know that you use utf-8, you
# probably want to use iso-8859-1 (or some other iso charset). If you
# use utf-8 (a Unicode encoding) you MUST use: coding: utf-8
# That setting must match the encoding your editor uses when you modify
# the settings below. If it does not, special non-ASCII chars will be
# wrong.

"""
    MoinMoin - Configuration for a wiki farm

    If you run a single wiki only, you can keep the "wikis" list "as is"
    (it has a single rule mapping all requests to mywiki.py).

    Note that there are more config options than you'll find in
    the version of this file that is installed by default; see
    the module MoinMoin.multiconfig for a full list of names and their
    default values.

    Also, the URL http://moinmoin.wikiwikiweb.de/HelpOnConfiguration has
    a list of config options.
"""


# Wikis in your farm --------------------------------------------------

# If you run multiple wikis, you need this list of pairs (wikiname, url
# regular expression). moin processes that list and tries to match the
# regular expression against the URL of this request - until it matches.
# Then it loads the <wikiname>.py config for handling that request.

# Important:
#  * the left part is the wikiname enclosed in double quotes
#  * the left part must be a valid python module name, so better use
# only lower letters "a-z" and "_". Do not use blanks or "-" there!!!
#  * the right part is the url re, use r"..." for it
#  * the right part does NOT include "http://" nor "https://" at the
# beginning
#  * in the right part ".*" means "everything". Just "*" does not work
# like for filenames on the shell / commandline, you must use ".*" as
# it is a RE.
#  * in the right part, "^" means "beginning" and "$" means "end"

wikis = [
    # Standalone server needs the port e.g. localhost:8000
    # Twisted server can now use the port, too.

    # wikiname,     url regular expression (no protocol)
    # ---------------------------------------------------------------
    ("ourwiki",  r".*"),   # this is ok for a single wiki

    # for multiple wikis, do something like this:
    #("moinmoin",    r"^moinmoin.wikiwikiweb.de/.*$"),
    #("moinmaster",  r"^moinmaster.wikiwikiweb.de/.*$"),
]

=========================================================================

# Common configuration for all wikis

# Everything that should be configured the same way should go here,
# anything else that should be different should go to the single wiki's
# config.
# In that single wiki's config, we will use the class FarmConfig we
# define below as the base config settings and only override what's
# different.
#
# In exactly the same way, we first include MoinMoin's Config Defaults
# here - this is to get everything to sane defaults, so we need to
# change only what we like to have different:

from MoinMoin.multiconfig import DefaultConfig

# Now we subclass this DefaultConfig. This means that we inherit every
# setting from the DefaultConfig, except those we explicitely define
# different.

class FarmConfig(DefaultConfig):

    # Critical setup
---------------------------------------------------

    # Misconfiguration here will render your wiki unusable. Check that
    # all directories are accessible by the web server or moin server.

    # If you encounter problems, try to set data_dir and
data_underlay_dir # to absolute paths.

    # Where your mutable wiki pages are. You want to make regular
    # backups of this directory.
    data_dir = '/usr/local/share/moin/ourwiki/data/'

    # Where read-only system and help page are. You might want to share
    # this directory between several wikis. When you update MoinMoin,
    # you can safely replace the underlay directory with a new one. This
    # directory is part of MoinMoin distribution, you don't have to
    # backup it.
    data_underlay_dir = '/usr/local/share/moin/ourwiki/underlay/'

    # This must be '/wiki' for twisted and standalone. For CGI, it
should # match your Apache Alias setting.
    url_prefix = '/wiki'


    # Security
----------------------------------------------------------

    # This is checked by some rather critical and potentially harmful
actions, # like despam or PackageInstaller action:
    #superuser = [u"YourName", ]

    # IMPORTANT: grant yourself admin rights! replace YourName with
    # your user name. See HelpOnAccessControlLists for more help.
    # All acl_rights_xxx options must use unicode [Unicode]
    #acl_rights_before = u"YourName:read,write,delete,revert,admin"

    # Link spam protection for public wikis (uncomment to enable).
    # Needs a reliable internet connection.
    #from MoinMoin.util.antispam import SecurityPolicy


    # Mail
--------------------------------------------------------------

    # Configure to enable subscribing to pages (disabled by default) or
    # sending forgotten passwords.

    # SMTP server, e.g. "mail.provider.com" (empty or None to disable
mail) #mail_smarthost = ""

    # The return address, e.g u"J_rgen Wiki
<noreply at mywiki.org>" [Unicode] #mail_from = u""

    # "user pwd" if you need to use SMTP AUTH
    #mail_login = ""


    # User interface
----------------------------------------------------

    # Add your wikis important pages at the end. It is not recommended
to # remove the default links.  Leave room for user links - don't use
    # more than 6 short items.
    # You MUST use Unicode strings here, but you need not use localized
    # page names for system and help pages, those will be used
automatically # according to the user selected language. [Unicode]
    navi_bar = [
        # If you want to show your page_front_page here:
        #u'%(page_front_page)s',
        u'RecentChanges',
        u'FindPage',
        u'HelpContents',
    ]

    # The default theme anonymous or new users get
    theme_default = 'modern'


    # Language options
--------------------------------------------------

    # See http://moinmoin.wikiwikiweb.de/ConfigMarket for configuration
in # YOUR language that other people contributed.

    # The main wiki language, set the direction of the wiki pages
    language_default = 'en'

    # You must use Unicode strings here [Unicode]
    page_category_regex = u'^Category[A-Z]'
    page_dict_regex = u'[a-z]Dict$'
    page_group_regex = u'[a-z]Group$'
    page_template_regex = u'[a-z]Template$'

    # Content options
---------------------------------------------------

    # Show users hostnames in RecentChanges
    show_hosts = 1

    # Show the interwiki name (and link it to page_front_page) in the
Theme, # nice for farm setups or when your logo does not show the
wiki's name. show_interwiki = 1
    logo_string = u''

    # Enable graphical charts, requires gdchart.
    #chart_options = {'width': 600, 'height': 300}





More information about the Moin-user mailing list