Skip to content

Commit 10f33c3

Browse files
Merge branch 'release/4.4.14'
2 parents 5ffdf0b + 2765e78 commit 10f33c3

22 files changed

+741
-122
lines changed

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ doing this, you will need to perform additional steps.
171171

172172
The first thing you must do is supply the ``--user`` and ``--group``
173173
options to say what user and group your Python web application should run
174-
as. Most Linux distrbutions will pre define a special user for Apache to
174+
as. Most Linux distributions will pre define a special user for Apache to
175175
run as, so you can use that. Alternatively you can use any other special
176176
user account you have created for running the Python web application::
177177

docs/configuration.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
=============
2+
Configuration
3+
=============
4+
5+
.. warning ::
6+
7+
Documentation linked here is actually located on the old Google Code
8+
site and has not yet been transitioned to this site. Some documentation
9+
on the old site may be out of date, especially anything related to
10+
running mod_wsgi on Windows. For more details as to why and the links to
11+
all the old documentation see :doc:`project-status`.
12+
13+
In addition to the quick configuration guide found at:
14+
15+
* `Quick Configuration Guide <https://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide>`_
16+
17+
additional details on the configuration directives in mod_wsgi and how to
18+
use them is available in the following documents:
19+
20+
* `Configuration Guidelines <https://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines>`_
21+
* `Configuration Directives <https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives>`_

docs/contributing.rst

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
============
2+
Contributing
3+
============
4+
5+
The mod_wsgi package is a solo effort by Graham Dumpletaon.
6+
7+
The package is developed purely in the author's spare time and is not
8+
funded in any way by a company, nor is it developed for a specific
9+
companies requirements. In fact the author doesn't even develop it for his
10+
own needs. It is developed purely because it represents an interesting
11+
technical challenge and not because the author needs it himself to host a
12+
significant web site.
13+
14+
How to make a donation
15+
----------------------
16+
17+
If you use mod_wsgi and wish to show your appreciation, donations can be
18+
made via `PayPal <https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=636842>`_, an Amazon (USA store only) gift certificate sent to Graham.Dumpleton
19+
at gmail dot com or using `Gratipay
20+
<https://gratipay.com/~GrahamDumpleton/>`_.
21+
22+
A suggested formula for how much to donate is:
23+
24+
* If using mod_wsgi for personal use, then consider donating what you would
25+
pay for one months worth of a single host used to run your own site.
26+
27+
* If using mod_wsgi for a company web site, then consider donating what you
28+
would pay for two months worth of a single host used to run that site.
29+
30+
* If using mod_wsgi as part of a web hosting service which you then charge
31+
other people for using, then consider donating what you would pay for
32+
three months worth of a single host used to run that site.
33+
34+
In other words, if you feel inclined, donate an amount commensurate with
35+
how much benefit you are getting from mod_wsgi. The reference to the cost
36+
of hosting is used at it reflects in some way how much you can afford or
37+
might be willing to pay for a hosting service yourself.
38+
39+
On that basis, donations might realistically range from $5 up to $150 or
40+
more. Obviously where your company spends ridiculous amounts of money on
41+
web hosting you can instead elect to donate something more within the range
42+
stated above rather than how much you actually spend on web hosting
43+
services.
44+
45+
Now for the reality, which is that it is very rare that a company will ever
46+
donate any money to an Open Source project. As such, when donations have
47+
occassionally been received (which doesn't happen very often), they are
48+
from individuals using mod_wsgi themselves.
49+
50+
Some people do openly begrudge Open Source projects soliciting donations,
51+
but the amounts received overall are so insignificant in comparison to how
52+
much effort is generally put into projects and what a developer would need
53+
to survive that anything received is more a symbolic gesture, more than
54+
anything else, of ones appreciation.
55+
56+
Given that donations invariably are from individuals, do know that they are
57+
accepted with much gratitude and appreciation in return that you are at
58+
least, even if companies aren't, trying to help support Open Source
59+
projects in some way.
60+
61+
How else can you donate
62+
-----------------------
63+
64+
If you are an author of a book related to Apache, Python, Docker or any
65+
other technologies which go into providing web hosting services, then will
66+
also happily accept an electronic copy of the book for reference.
67+
68+
Still don't think a monetary contribution is something you would do, you
69+
can also simply send a Twitter message to the author expressing your
70+
appreciation. You will be surprised how far positive encouragement and
71+
appreciation can go with people who work on Open Source projects. This is
72+
because in part satisfaction comes from knowing people are benefiting from
73+
the work being done. If you never do or say anything, then Open Source
74+
developers will never know that you do appreciate the work they do, so
75+
don't be quiet when an Open Source project is of value to you, at least say
76+
'Thank You'.
77+
78+
How are donations used
79+
----------------------
80+
81+
Any monetary donations typically go towards buying clothes, toys, music,
82+
books and apps for the authors 2 children. They are therefore used as a
83+
special treat for the authors kids.
84+
85+
Source code contributions
86+
-------------------------
87+
88+
You might be thinking, what about source code contributions. Although it
89+
would be great for this project to grow to have multiple developers working
90+
on the code and documentation, reality is that working inside of Apache and
91+
the Python C APIs is quite specialised. It isn't therefore the most
92+
attractive of projects in that regard. If however you are keen, then would
93+
love to hear from you.
94+
95+
Open Source free loaders
96+
------------------------
97+
98+
If you are the sort of person who thinks that the Internet exists only to
99+
provide you with free stuff and where you think everyone out there exists
100+
purely to help you work out your problems, then it may be better that you
101+
go free load off some other WSGI server project.
102+
103+
Even if you don't contribute as described above, if you at least recognise
104+
that other people are giving up their time to help you and that you put in
105+
some effort yourself to resolve a problem first, and then explain it
106+
properly in some detail to others when seeking help, providing answers to
107+
any questions asked of you, then you will still be helped.
108+
109+
The worst sort of people, which hopefully you don't want to be one of, are
110+
those who simply say something is broken but will not provide sufficient
111+
details, thereby forcing other people to waste huge amounts of time
112+
dragging out the information required to help you, or having to guess what
113+
your problem is.
114+
115+
It is people in this latter category which are becoming a significant drain
116+
on the time of developers of Open Source projects and which are a part of
117+
why so many Open Source developers are experiencing burnout. So if you are
118+
the sort to expect people to help you, complain about things when the
119+
problem is really your own unwillingness to learn, and generally give
120+
nothing positive in return, even if only encouragement, then don't expect
121+
to be helped. Your like has caused too much damage in the past already to
122+
any number of Open Source projects and will not be tolerated here. The
123+
mental health of Open Source developers is more important than you are.

docs/dead-parrot.jpg

-97.2 KB
Binary file not shown.

docs/finding-help.rst

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
============
2+
Finding Help
3+
============
4+
5+
If after you have gone through all the available documentation you still
6+
cannot work out how to do something or can't resolve a problem you are
7+
having, use the mod_wsgi mailing list to post your question. The mailing
8+
list is hosted by Google Groups at:
9+
10+
* http://groups.google.com/group/modwsgi
11+
12+
You do not need to have a Google email account as Google Groups allows you
13+
to register external email addresses as well.
14+
15+
Please use the mailing list in preference to raising a ticket in the issue
16+
tracker, unless you are somewhat certain that the problem is a bug in
17+
mod_wsgi and not just some environment issue related to your application,
18+
any third party packages being used or the operating system. It is much
19+
easier to have a discussion on the mailing list than the issue tracker.
20+
21+
The mailing list also has many people participating, or at least reading,
22+
so you have people with a broad experience with many third party Python web
23+
packages and operating systems who may be able to help.
24+
25+
If the problem is potentially more an issue with a third party package or
26+
the operating system rather than mod_wsgi, you might also consider asking
27+
on any mailing list related to the third party package instead.
28+
29+
A further option is to ask your question on StackOverflow, if a programming
30+
question, or ServerFault, if an administration issue. These sites allow a
31+
broad range of questions about many topics with quite a large user base of
32+
sometimes knowledgeable people.
33+
34+
A final option you might try is any IRC channels related to any third party
35+
package or the more general #wsgi.
36+
37+
Do be aware though that the only forum that is guaranteed to be monitored
38+
is the mod_wsgi mailing list. Questions are not gauranteed to be answered
39+
on sites such as StackOverflow and ServerFault, on IRC, or mailing lists
40+
for other packages. So, it is much preferable to use the mod_wsgi mailing
41+
list if you want an informed answer for a mod_wsgi specific question.
42+
43+
As a general rule, if you have never participated in public forums
44+
previously to seek answers to technical questions, including about Open
45+
Source software, it is highly recommended you have a read of.
46+
47+
* http://www.catb.org/esr/faqs/smart-questions.html
48+
49+
This will help you to ensure you have exhausted all possibilities as to
50+
where to find information and try and solve the problem yourself, as well
51+
as assist you in framing your question the best way so as to get the best
52+
response possible.
53+
54+
Remember that people on the mailing list are volunteering their time to
55+
help and don't get paid for answering questions. Thus, it is in your
56+
interest not to annoy them too much.
57+
58+
No matter which forum you use, when asking questions, it is always helpful
59+
to detail the following:
60+
61+
1. Which version of mod_wsgi you are using and if using a packaged
62+
distribution, who provided the distribution.
63+
64+
If you are not using the latest version, then upgrade first and verify
65+
the problem still occurs with the latest version.
66+
67+
2. Which version of Python you are using and if using a packaged
68+
distribution, who provided the distribution.
69+
70+
3. Which version of Apache you are using and if using a packaged
71+
distribution, who provided the distribution.
72+
73+
If not using latest version of Apache available, then consider upgrading
74+
and trying again. If at all possible, avoid using Apache 2.0 or 2.2. You
75+
definitely shouldn't still be using Apache 1.3
76+
77+
4. What operating system you are using.
78+
79+
5. Details on any third party packages being used and what versions of
80+
those packages.
81+
82+
6. The mod_wsgi configuration you are using from Apache configuration files.
83+
84+
In particular you should indicate whether you are using mod_wsgi
85+
embedded mode or daemon mode. Also can be helpful to indicate what MPM
86+
Apache has been compiled for and whether mod_php or mod_python are being
87+
loaded into the same Apache instance.
88+
89+
7. Relevant error messages from the Apache error logs.
90+
91+
Specifically, don't just quote the single line you think shows the error
92+
message. Instead, also show the lines before and after that point. These
93+
other lines from the error logs may show supplemental error messages
94+
from Apache or mod_wsgi or provide Python traceback information.

docs/getting-started.rst

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
===============
2+
Getting Started
3+
===============
4+
5+
.. warning ::
6+
7+
Documentation linked here is actually located on the old Google Code
8+
site and has not yet been transitioned to this site. Some documentation
9+
on the old site may be out of date, especially anything related to
10+
running mod_wsgi on Windows. For more details as to why and the links to
11+
all the old documentation see :doc:`project-status`.
12+
13+
If starting out with mod_wsgi it is recommended you start out with a simple
14+
'Hello World!' type application.
15+
16+
Do not attempt to use a Python web application dependent on a web framework
17+
such as Django, Flask or Pyramid until you have got a basic 'Hello World!'
18+
application running first. The simpler WSGI application will validate that
19+
your mod_wsgi installation is working okay and that you at least understand
20+
the basics of configuring Apache.
21+
22+
You can find a simple 'Hello World!' WSGI application, along with setup
23+
instructions for the traditional way of setting up Apache and mod_wsgi,
24+
described in:
25+
26+
* `Quick Configuration Guide <https://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide>`_
27+
28+
Note that unless you are using Windows, where such a choice is not
29+
available, you should always use daemon mode of mod_wsgi. This is not the
30+
default mode, so you will need to ensure you follow the instructions to
31+
enable daemon mode.
32+
33+
For a simpler way of running a Python WSGI application using mod_wsgi, also
34+
checkout ``mod_wsgi-express``, details of which can currently be found at:
35+
36+
https://pypi.python.org/pypi/mod_wsgi

docs/index.rst

Lines changed: 47 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,54 @@
1-
.. image:: dead-parrot.jpg
2-
:width: 250 px
3-
:align: right
4-
5-
.. toctree::
6-
:maxdepth: 1
7-
:hidden:
8-
9-
release-notes/index
10-
1+
========
112
mod_wsgi
123
========
134

14-
The mod_wsgi package implements a simple to use Apache module which can
15-
host any Python application which supports the Python WSGI_ interface.
16-
17-
.. _WSGI: http://www.python.org/dev/peps/pep-0333/
18-
19-
Status
20-
======
5+
.. note::
216

22-
No mod_wsgi is not dead, it was just resting.
7+
Documentation for mod_wsgi is being transitioned here from the old
8+
Google Code site. For more details and links to the old documentation
9+
see :doc:`project-status`.
2310

24-
Renewed development on mod_wsgi began early 2014, with a considerable
25-
amount of new development work and fixes being performed. This included the
26-
ability to install mod_wsgi using 'pip', along with an admin command
27-
called ``mod_wsgi-express`` which provides a really simple way of starting
28-
up Apache/mod_wsgi with an automatically generated configuration.
29-
30-
Completely revised documentation will eventually be incorporated here.
31-
Right now though I am having too much fun working on all the new features.
32-
33-
In the mean time keep referring to the older documentation at:
34-
35-
http://www.modwsgi.org/
36-
37-
The new ``mod_wsgi-express`` feature is also documented in the PyPi
38-
entry for mod_wsgi at:
39-
40-
http://pypi.python.org/pypi/mod_wsgi
41-
42-
Due to security issues in versions of mod_wsgi up to and including
43-
version 3.4, it is recommended that version 3.5 or later be used.
11+
The mod_wsgi package implements a simple to use Apache module which can
12+
host any Python web application which supports the Python WSGI_
13+
specification. The package can be installed in two different ways
14+
depending on your requirements.
15+
16+
The first is as a traditional Apache module installed into an existing
17+
Apache installation. Following this path you will need to manually
18+
configure Apache to load mod_wsgi and pass through web requests to your
19+
WSGI application.
20+
21+
The second way of installing mod_wsgi is to install it from PyPi_ using the
22+
Python ``pip`` command. This builds and installs mod_wsgi into your Python
23+
installation or virtual environment. The program ``mod_wsgi-express`` will
24+
then be available, allowing you to run up Apache with mod_wsgi from the
25+
command line with an automatically generated configuration. This
26+
approach does not require you to perform any configuration of Apache
27+
yourself.
28+
29+
Both installation types are suitable for production deployments. The latter
30+
approach using ``mod_wsgi-express`` is the best solution if wishing to use
31+
Apache and mod_wsgi within a Docker container to host your WSGI application.
32+
It is also a better choice when using mod_wsgi during the development of
33+
your Python web application as you will be able to run it directly from
34+
your terminal.
35+
36+
.. _WSGI: http://www.python.org/dev/peps/pep-3333/
37+
.. _PyPi: http://pypi.python.org/pypi/mod_wsgi
4438

45-
If you need help in using mod_wsgi, then use the mod_wsgi mailing list to
46-
ask your questions:
39+
.. toctree::
40+
:maxdepth: 1
41+
:hidden:
4742

48-
http://groups.google.com/group/modwsgi
43+
project-status
44+
security-issues
45+
getting-started
46+
requirements
47+
installation
48+
configuration
49+
troubleshooting
50+
finding-help
51+
reporting-bugs
52+
contributing
53+
source-code
54+
release-notes

0 commit comments

Comments
 (0)