Moin, uWSGI & nginx – mise en place à <my-domain> / wiki

J'essaie de configurer une installation MoinMoin Wiki sur notre server nginx / uWSGI à l'aide d'un sous-directory.

Nous avons déjà une application Django fonctionnant sur: 80. Au départ, j'ai configuré l'application Moin avec son propre bloc server fonctionnant sur: 8000. Cela a bien fonctionné, mais ce que nous voulons, c'est de lancer MoinMoin sous / wiki.

Le problème est que lorsque j'essaie de le faire, MoinMoin suppose toujours que c'est sa racine, telle qu'elle pense / wiki est une page appelée wiki. Tous les liens sont également relatifs pour faire clic sur ceux-ci parce que nginx ne voit pas un location pour / FrontPage etc.

J'ai regardé, mais je ne trouve aucune méthode évidente pour configurer MoinMoin à utiliser / wiki. C'est ce dont j'ai besoin, soit comme moyen de mapper / wiki: 8000

Voici la section http de notre file nginx.conf (NB: paths remplacés par / path / au préfixe)

http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" t=$request_time'; access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listn 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location /media { alias /path/to/lib/python2.6/site-packages/django/consortingb/admin/media/; } location /static { alias /path/to/static/; } location /tmp/reports { internal; alias /tmp/reports; } location / { include uwsgi_params; uwsgi_pass; } location /wiki/moin_static193 { alias /path/to/lib/python2.6/site-packages/MoinMoin/web/static/htdocs; } location /wiki { uwsgi_pass; include wiki_params; } } } 

Et voici le file, le plus souvent non édité:

 import os from MoinMoin.config import multiconfig, url_prefix_static class Config(multiconfig.DefaultConfig): # Critical setup --------------------------------------------------- # Directory containing THIS wikiconfig: wikiconfig_dir = os.path.abspath(os.path.dirname(__file__)) # We assume that this config file is located in the instance directory, like: # instance_dir/ # # data/ # underlay/ # If that's not true, feel free to just set instance_dir to the real path # where data/ and underlay/ is located: #instance_dir = '/where/ever/your/instance/is' instance_dir = wikiconfig_dir # Where your own wiki pages are (make regular backups of this directory): data_dir = os.path.join(instance_dir, 'data', '') # path with trailing / # Where system and help pages are (you may exclude this from backup): data_underlay_dir = os.path.join(instance_dir, 'underlay', '') # path with trailing / # The URL prefix we use to access the static stuff (img, css, js). # Note: moin runs a static file server at url_prefix_static path (relative # to the script url). # If you run your wiki script at the root of your site (/), just do NOT # use this setting and it will automatically work. # If you run your wiki script at /mywiki, you need to use this: url_prefix_static = '/wiki' + url_prefix_static # Wiki identity ---------------------------------------------------- # Site name, used by default for wiki name-logo [Unicode] sitename = u'Our Wiki' # Wiki logo. You can use an image, text or both. [Unicode] # For no logo or text, use '' - the default is to show the sitename. # See also url_prefix setting below! logo_ssortingng = u'<img src="%s/common/moinmoin.png" alt="MoinMoin Logo">' % url_prefix_static # 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" # The interwiki name used in interwiki links #interwikiname = u'UntitledWiki' # 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 # Security ---------------------------------------------------------- # This is checked by some rather critical and potentially harmful actions, # like despam or PackageInstaller action: superuser = [u"UserName", ] # 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"UserName:read,write,delete,revert,admin" # The default (ENABLED) password_checker will keep users from choosing too # short or too easy passwords. If you don't like this and your site has # rather low security requirements, feel free to DISABLE the checker by: #password_checker = None # None means "don't do any password strength checks" # Link spam protection for public wikis (Uncomment to enable) # Needs a reliable internet connection. #from import SecurityPolicy # Mail -------------------------------------------------------------- # Configure to enable subscribing to pages (disabled by default) # or sending forgotten passwords. # SMTP server, eg "" (None to disable mail) #mail_smarthost = "" # The return address, eg u"J?rgen Wiki <>" [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 ssortingngs 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 for configuration in # YOUR language that other people consortingbuted. # The main wiki language, set the direction of the wiki pages language_default = 'en' # the following regexes should match the complete name when used in free text # the group 'all' shall match all, while the group 'key' shall match the key only # eg CategoryFoo -> group 'all' == CategoryFoo, group 'key' == Foo # moin's code will add ^ / $ at beginning / end when needed # You must use Unicode ssortingngs here [Unicode] page_category_regex = ur'(?P<all>Category(?P<key>(?!Template)\S+))' page_dict_regex = ur'(?P<all>(?P<key>\S+)Dict)' page_group_regex = ur'(?P<all>(?P<key>\S+)Group)' page_template_regex = ur'(?P<all>(?P<key>\S+)Template)' # Content options --------------------------------------------------- # Show users hostnames in RecentChanges show_hosts = 1 # Enable graphical charts, requires gdchart. #chart_options = {'width': 600, 'height': 300} 


uwsgi_param SCRIPT_NAME / wiki;

uwsgi_modifier1 30;

directive location / wiki

Puis append


dans la command line uWSGI