PageRenderTime 29ms CodeModel.GetById 24ms app.highlight 4ms RepoModel.GetById 0ms app.codeStats 0ms

/shabti/templates/moinmoin/data/moin/underlay/pages/HelpOnInstalling(2f)ApacheWithModWSGI/revisions/00000001

https://bitbucket.org/gawel/shabti
#! | 94 lines | 66 code | 28 blank | 0 comment | 0 complexity | 0bcac743125b6fc360d2231236a9368a MD5 | raw file
 1## Please edit system and help pages ONLY in the master wiki!
 2## For more information, please see MoinMoin:MoinDev/Translation.
 3##master-page:Unknown-Page
 4##master-date:Unknown-Date
 5#acl -All:write Default
 6#format wiki
 7#language en
 8
 9<<TableOfContents>>
10
11= Why use mod_wsgi? =
12
13See the [[http://modwsgi.org/|mod_wsgi homepage]].
14
15(!) Please note that its "daemon mode" should be the preferred way to use it (and this is the reason to prefer mod_wsgi over mod_python).
16
17= Basic configuring =
18
19 1. Install mod_wsgi
20 1. Set up a wiki instance
21 1. Edit `wikiconfig.py`
22 3. Changes to Apache configuration
23 1. Restart Apache
24
25The sample configurations below are for a wiki instance called `mywiki` installed in a directory `/var/www/moin/mywiki` with the main !MoinMoin installation installed in python's default site library path. The wiki appears as URL `/mywiki` under the server - ie `http://my.ser.ver/mywiki`.  You will need to change these to reflect your installation.
26
27== Install mod_wsgi ==
28
29Most people will just add a `mod_wsgi` package to their current operating system installation.  If you are building from source then you should consult the mod_wsgi documentation (it is rather easy if you have a development environment installed).
30
31Make sure you have this line in your apache configuration or mod_wsgi will not work:
32{{{
33LoadModule wsgi_module modules/mod_wsgi.so
34}}}
35
36After this restart Apache and make sure that it starts successfully (also check the the error log).
37
38== Set up a wiki instance ==
39
40This is done as shown in [[HelpOnInstalling/WikiInstanceCreation|WikiInstanceCreation]]. Its recommended to first configure the wiki with cgi and check that it works, then change the configuratin to use mod_wsgi. This allows you be sure that any problems are in the mod_wsgi transition rather than the basic MoinMoin installation.
41
42 1. Copy moin.cgi into your wiki directory
43 1. Configure `httpd.conf` as cgi first (Alias shown is for 1.7.0, for other versions please change it):
44  {{{
45Alias /moin_static170/ "/usr/share/moin/htdocs/"
46ScriptAlias /mywiki "/var/www/moin/mywiki/moin.cgi"
47}}}
48
49Restart Apache and make test that your wiki works.
50
51== Edit `wikiconfig.py` ==
52
53Make sure you use only absolute paths:
54{{{
55data_dir = '/var/www/moin/mywiki/data/'
56data_underlay_dir = '/var/www/moin/mywiki/underlay/'
57}}}
58
59Test that the wiki works after this change.
60
61== Changes to Apache configuration ==
62
63After your wiki is running as cgi script, convert it to run with mod_wsgi. 
64
65If you run your wiki as cgi as we recommended before, remove or comment the !ScriptAlias directive:
66{{{
67#ScriptAlias /mywiki "/var/www/moin/mywiki/moin.cgi"
68}}}
69
70Add this to the same virtualhost definition (Alias shown is for 1.7.0, for other versions please change it):
71{{{
72    # this is for icons, css, js (and must match url_prefix from wiki config):
73    Alias /moin_static170/ /usr/share/moin/htdocs/
74
75    # this is the URL http://servername/mywiki/ you will use later to invoke moin:
76    WSGIScriptAlias /mywiki /var/www/moin/mywiki/moin.wsgi
77
78    # in case you want your wiki under the root url (http://servername/), use this instead:
79    #Alias /robots.txt /usr/share/moin/htdocs/robots.txt
80    #Alias /favicon.ico /usr/share/moin/htdocs/favicon.ico
81    #WSGIScriptAlias / /var/www/moin/mywiki/moin.wsgi
82
83    # create some wsgi daemons - use someuser.somegroup same as your data_dir:
84    WSGIDaemonProcess moin user=someuser group=somegroup home=/home/someuser processes=5 threads=10 maximum-requests=1000 umask=0007
85    # for mod_wsgi >= 2.0 you can append this to have a nice ps aux display:
86    # display-name=wsgi-moin
87
88    # use the daemons we defined above to process requests!
89    WSGIProcessGroup moin
90}}}
91
92Please also have a look into `moin.wsgi` - you maybe have to change some `sys.path.insert` instructions so Python can find the !MoinMoin code and the wiki configuration.
93
94Restart Apache - everything should now work correctly.