I have added the feature to support this now in the git repo for mod_wsgi.
If you can compile from source code use:
https://github.com/GrahamDumpleton/mod_wsgi/archive/develop.tar.gz
In the Apache configuration, add the socket-user option to WSGIDaemonProcess,
giving it the user name that mod_ruid2 would run your request.
Let me know if that solves the problem.
Graham
On 11/12/2014, at 5:52 PM, Graham Dumpleton <[email protected]> wrote:
> It is likely to be a very rarely used feature, but these days I am actually
> quite quick with making updates as I have been doing a lot of mod_wsgi
> related work.
>
> The problem is the Linux distributions which ship hopelessly out of date
> versions. If an older Linux version, they simply never update, but even the
> latest ones don't tend to update promptly and don't even know of a Linux
> distro that provides the latest version.
>
> For the Linux distro version you are using they are something like 16
> releases or more behind and they are using a version from 2 or 3 years ago at
> least.
>
> So, I can do a quick update, but you will not get an update from your Linux
> distro for a long time and would need to compile from source code yourself.
>
> If you are happy to compile from source code, I can tell you a change you can
> make right this second to get it to work. That is to change the code I quote
> before to:
>
> if (!geteuid()) {
> #if 0
> #if defined(MPM_ITK) || defined(ITK_MPM)
> if (chown(process->socket_path, process->uid, -1) < 0) {
> #else
> if (chown(process->socket_path, ap_unixd_config.user_id, -1) < 0) {
> #endif
> #endif
>
> /*
> * XXX Temporary workaround for daemon mode UNIX listener socket
> * so that uid of daemon process is used. For mod_ruid2, the user
> given
> * to WSGIDaemonProcess must match the user given to mod_ruid2 for
> * the VirtualHost.
> */
>
> if (chown(process->socket_path, process->uid, -1) < 0) {
> ap_log_error(APLOG_MARK, APLOG_ALERT, errno, wsgi_server,
> "mod_wsgi (pid=%d): Couldn't change owner of unix "
> "domain socket '%s'.", getpid(),
> process->socket_path);
> return -1;
> }
> }
>
> Graham
>
> On 11/12/2014, at 5:41 PM, Christiaan Stoudt <[email protected]> wrote:
>
>> Graham,
>>
>> I had seen a post on issues with ITK MPM... So at least we found a "new"
>> issue and way to enhance the abilities of mod_wsgi. I certainly understand
>> you need some time to determine how you want to adjust things. Obviously I
>> could remove mod_ruid2 and change how my Apache deals with PHP, etc, but
>> honestly I would be more interested in seeing the options in mod_wsgi
>> because it just makes it even more flexible for people.
>>
>> I am not sure what your development cycle is like and when new versions come
>> out as well as when this could even be brought into the code tree.... I
>> would hope it isn't like 6+ months away. :)
>>
>> In any event I guess I will try to watch for when the feature might be made
>> available and until then just keep running in normal embedded mode.
>>
>> Thank you for the help and at least understanding that it wasn't me making
>> some stupid mistake in the config. :)
>>
>> On Wednesday, 10 December 2014 21:33:53 UTC-8, Graham Dumpleton wrote:
>> The mod_ruid2 module would indeed cause problems.
>>
>> It is similar to the perchild and ITK MPMs in that for each web request
>> handled by Apache it switches the uid to a specific user away from the
>> Apache user.
>>
>> RUidGid user1 group1
>>
>> So this definition would cause the request to be handled as the 'user1' user
>> instead of nobody. That user then wouldn't have access to the UNIX socket in
>> order to connect to the daemon process group.
>>
>> The code for mod_wsgi has:
>>
>> /*
>> * Set the ownership of the UNIX listener socket. This would
>> * normally be the Apache user that the Apache server child
>> * processes run as, as they are the only processes that
>> * would connect to the sockets. In the case of ITK MPM,
>> * having them owned by Apache user is useless as at the
>> * time the request is to be proxied, the Apache server
>> * child process will have uid corresponding to the user
>> * whose request they are handling. For ITK, thus set the
>> * ownership to be the same as the daemon processes. This is
>> * still restrictive, in that can only connect to daemon
>> * process group running under same user, but most of the
>> * time that is what you would want anyway when using ITK
>> * MPM.
>> */
>>
>> if (!geteuid()) {
>> #if defined(MPM_ITK) || defined(ITK_MPM)
>> if (chown(process->socket_path, process->uid, -1) < 0) {
>> #else
>> if (chown(process->socket_path, ap_unixd_config.user_id, -1) < 0) {
>> #endif
>> ap_log_error(APLOG_MARK, APLOG_ALERT, errno, wsgi_server,
>> "mod_wsgi (pid=%d): Couldn't change owner of unix "
>> "domain socket '%s'.", getpid(),
>> process->socket_path);
>> return -1;
>> }
>> }
>>
>> So it has special handling for the ITK MPM and will in this case set the
>> ownership of the UNIX socket to be whatever is specified for the mod_wsgi
>> daemon process group.
>>
>> That was as long as the mod_wsgi daemon process matches what the Apache
>> child worker is switched to, it could connect.
>>
>> Now this is specific code for ITK MPM though and is a compile time thing. In
>> order to get something to work for ITK MPM, it would be necessary for me to
>> implement an option to WSGIDaemonProcess which allows one to override
>> dynamically at configuration time what user the UNIX socket should be set
>> to. Specifically allow one to set it to the user the mod_wsgi daemon process
>> group runs as.
>>
>> If I do this then it would allow things to work with mod_ruid2.
>>
>> I will need to have a bit of a think about it and whether I have the option
>> only allow it to be set to the daemon process group user, thus requiring the
>> mod_ruid2 user to match, or whether I allow it to be set to any user. The
>> latter may be more flexible, but I will have to think about the security
>> implications of that.
>>
>> Graham
>>
>> On 11/12/2014, at 3:26 PM, Christiaan Stoudt <[email protected]> wrote:
>>
>>> Graham,
>>>
>>> Thank you for the detailed post. Does going to WSGIDaemon really help that
>>> much on resources and other things? Or is it just a "nice to have"?
>>>
>>> Based on your steps and what I am seeing, it seems that the failure happens
>>> when that final request his apache and its passed off to the WSGIDaemon
>>> during that last connection.
>>>
>>> I had been running as LogLevel Debug, but was unaware of the
>>> WSGIVerboseDebugging. I enabled that and will provide the logs at the
>>> bottom of my message (I cleaned up and showed what seemed relevant instead
>>> of just posting everything.) So you are aware, the redirecting to
>>> /tmp/wsgi failed as well.
>>>
>>> I did open a support ticket to KnownHost to see if I could get any
>>> additional information to help. They really run a very basic config with
>>> nothing special. The tech did mention one thing that he thought could be
>>> an issue because was one of the mods installed in Apache --- mod_ruid2
>>> He said he has seen this conflict with Tomcat because of how it handles PHP
>>> and user requests. I am not very familiar with that mod. Have you had any
>>> experience with it and could it cause conflicts?
>>>
>>> Just for the record, here is all the mods I have installed:
>>>
>>> core_module (static) authn_file_module (static) authn_core_module
>>> (static) authz_host_module (static) authz_groupfile_module (static)
>>> authz_user_module (static) authz_core_module (static)
>>> access_compat_module (static) auth_basic_module (static)
>>> socache_shmcb_module (static) socache_dbm_module (static) so_module
>>> (static) include_module (static) filter_module (static)
>>> deflate_module (static) http_module (static) mime_module (static)
>>> log_config_module (static) logio_module (static) expires_module
>>> (static) headers_module (static) unique_id_module (static)
>>> setenvif_module (static) proxy_module (static) proxy_connect_module
>>> (static) proxy_http_module (static) slotmem_shm_module (static)
>>> ssl_module (static) mpm_prefork_module (static) unixd_module
>>> (static) status_module (static) autoindex_module (static)
>>> info_module (static) suexec_module (static) cgi_module (static)
>>> negotiation_module (static) dir_module (static) actions_module
>>> (static) userdir_module (static) alias_module (static)
>>> rewrite_module (static) bwlimited_module (shared) ruid2_module
>>> (shared) php5_module (shared) security2_module (shared)
>>> wsgi_module (shared)
>>>
>>> Here are the logs with what seemed relevant. If you want everything with a
>>> full log, I can certainly provide it... From what I can tell the
>>> WSGIDaemon process is starting up and waiting with all the threads and
>>> settings I have set. So it appears to be during that last hand off that it
>>> freaks out.....
>>>
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> [Wed Dec 10 19:56:10.002390 2014] [ssl:info] [pid 24734] AH01876:
>>> mod_ssl/2.4.10 compiled against Server: Apache/2.4.10, Library:
>>> OpenSSL/1.0.1e
>>> [Wed Dec 10 19:56:10.018768 2014] [suexec:notice] [pid 24734] AH01232:
>>> suEXEC mechanism enabled (wrapper: /usr/local/apache/bin/suexec)
>>> [Wed Dec 10 19:56:10.018878 2014] [:notice] [pid 24734] ModSecurity for
>>> Apache/2.8.0 (http://www.modsecurity.org/) configured.
>>> [Wed Dec 10 19:56:10.018900 2014] [:notice] [pid 24734] ModSecurity: APR
>>> compiled version="1.5.1"; loaded version="1.5.1"
>>> [Wed Dec 10 19:56:10.018915 2014] [:notice] [pid 24734] ModSecurity: PCRE
>>> compiled version="8.36 "; loaded version="8.36 2014-09-26"
>>> [Wed Dec 10 19:56:10.018929 2014] [:notice] [pid 24734] ModSecurity: LUA
>>> compiled version="Lua 5.1"
>>> [Wed Dec 10 19:56:10.018944 2014] [:notice] [pid 24734] ModSecurity: LIBXML
>>> compiled version="2.9.2"
>>> [Wed Dec 10 19:56:10.018957 2014] [:notice] [pid 24734] Status engine is
>>> currently disabled, enable it by set SecStatusEngine to On.
>>>
>>> Wed Dec 10 19:56:11.094046 2014] [:debug] [pid 24737] mod_wsgi.c(10488):
>>> mod_wsgi (pid=24737): Socket for 'mydomain_com' is
>>> '/wsgisock/wsgi.24737.0.1.sock'.
>>> [Wed Dec 10 19:56:11.094960 2014] [:info] [pid 24742] mod_wsgi (pid=24742):
>>> Starting process 'mydomain_com' with uid=99, gid=99 and threads=10.
>>>
>>> [Wed Dec 10 19:56:11.097400 2014] [mpm_prefork:notice] [pid 24737] AH00163:
>>> Apache/2.4.10 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 PHP/5.4.34
>>> mod_wsgi/3.4 Python/2.7.5 configured -- resuming normal operations
>>> [Wed Dec 10 19:56:11.097463 2014] [:info] [pid 24746] mod_wsgi (pid=24746):
>>> Initializing Python.
>>> [Wed Dec 10 19:56:11.097501 2014] [mpm_prefork:debug] [pid 24737]
>>> prefork.c(995): AH00165: Accept mutex: sysvsem (default: sysvsem)
>>> [Wed Dec 10 19:56:11.108088 2014] [proxy:debug] [pid 24747]
>>> proxy_util.c(1771): AH00925: initializing worker proxy:reverse shared
>>> [Wed Dec 10 19:56:11.108152 2014] [proxy:debug] [pid 24747]
>>> proxy_util.c(1813): AH00927: initializing worker proxy:reverse local
>>> [Wed Dec 10 19:56:11.108216 2014] [proxy:debug] [pid 24747]
>>> proxy_util.c(1864): AH00931: initialized single connection worker in child
>>> 24747 for (*)
>>> [Wed Dec 10 19:56:11.108268 2014] [:debug] [pid 24742] mod_wsgi.c(11873):
>>> mod_wsgi (pid=24742): Process 'mydomain_com' logging to
>>> 'clientsupportsystem.com'.
>>> [Wed Dec 10 19:56:11.108348 2014] [:info] [pid 24747] mod_wsgi (pid=24747):
>>> Initializing Python.
>>> [Wed Dec 10 19:56:11.108363 2014] [:info] [pid 24742] mod_wsgi (pid=24742):
>>> Attach interpreter ''.
>>> [Wed Dec 10 19:56:11.108804 2014] [:debug] [pid 24742] mod_wsgi.c(11253):
>>> mod_wsgi (pid=24742): Starting 10 threads in daemon process 'mydomain_com'.
>>> [Wed Dec 10 19:56:11.108812 2014] [:debug] [pid 24742] mod_wsgi.c(11057):
>>> mod_wsgi (pid=24742): Enable deadlock thread in process 'mydomain_com'.
>>> [Wed Dec 10 19:56:11.108810 2014] [:debug] [pid 24742] mod_wsgi.c(11089):
>>> mod_wsgi (pid=24742): Enable monitor thread in process 'mydomain_com'.
>>> [Wed Dec 10 19:56:11.108831 2014] [:debug] [pid 24742] mod_wsgi.c(11262):
>>> mod_wsgi (pid=24742): Starting thread 1 in daemon process 'mydomain_com'.
>>> [Wed Dec 10 19:56:11.108849 2014] [:debug] [pid 24742] mod_wsgi.c(11093):
>>> mod_wsgi (pid=24742): Deadlock timeout is 300.
>>> [Wed Dec 10 19:56:11.108869 2014] [:debug] [pid 24742] mod_wsgi.c(11096):
>>> mod_wsgi (pid=24742): Inactivity timeout is 300.
>>> [Wed Dec 10 19:56:11.108876 2014] [:debug] [pid 24742] mod_wsgi.c(11262):
>>> mod_wsgi (pid=24742): Starting thread 2 in daemon process 'mydomain_com'.
>>>
>>> [Wed Dec 10 19:58:40.871293 2014] [authz_core:debug] [pid 24743]
>>> mod_authz_core.c(802): [client 76.168.56.154:39988] AH01626: authorization
>>> result of Require all granted: granted
>>> [Wed Dec 10 19:58:40.871314 2014] [authz_core:debug] [pid 24743]
>>> mod_authz_core.c(802): [client 76.168.56.154:39988] AH01626: authorization
>>> result of <RequireAny>: granted
>>>
>>> [Wed Dec 10 19:58:40.871414 2014] [:error] [pid 24743] (13)Permission
>>> denied: [client 76.168.56.154:39988] mod_wsgi (pid=24743): Unable to
>>> connect to WSGI daemon process 'mydomain_com' on
>>> '/wsgisock/wsgi.24737.0.1.sock' after multiple attempts.
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>
>>> Thank you again for looking at this... I appreciate the help so much!
>>>
>>> Regards,
>>> C
>>>
>>>
>>> On Wednesday, 10 December 2014 18:35:15 UTC-8, Graham Dumpleton wrote:
>>> For good measure, set:
>>>
>>> LogLevel debug
>>> WSGIVerboseDebugging On
>>>
>>> in the Apache configuration. Start the server and make a single request and
>>> capture the mod_wsgi logging or anything related and send it. Will see if
>>> that shows anything.
>>>
>>> Also try:
>>>
>>> WSGISocketPrefix /tmp/wsgi
>>>
>>> It is not generally advisable to use /tmp, at least if a shared system, but
>>> if your own system is not so bad.
>>>
>>> Other than looking at that, the only other thing can think of is that the
>>> UNIX socket likely will not work in a NFS file system. Unless they are
>>> doing something really strange with the type of VPS they run, then that
>>> should not be the case though for a subdirectory of '/'.
>>>
>>> Anyway, as to the sequence of events.
>>>
>>> Apache would normally start as root so that it can bind port 80.
>>>
>>> In the Apache parent process, at the point it goes to create the mod_wsgi
>>> daemon process group, it will first create as root the UNIX socket. This is
>>> the one you are changing the location of with WSGISocketPrefix.
>>>
>>> That UNIX socket will have its ownership changed to the Apache user as
>>> dictated by the Apache User directive. Would typically be www-data, _www or
>>> nobody.
>>>
>>> The permissions of the socket when created will also be 0400 so that it
>>> should only be accessible to root or the Apache user which is the owner of
>>> the file.
>>>
>>> All the directories down to that UNIX socket will also though need to be
>>> readable/searchable to the Apache user.
>>>
>>> When the daemon process group process are now forked off the Apache parent
>>> process, they will listen for new connections on it.
>>>
>>> When a request is now received by Apache, they will be received by the
>>> Apache child worker processes on port 80 (or other public HTTP/HTTPS port).
>>> These will run as the Apache user. If the request is destined for the WSGI
>>> application running in a daemon process group, the Apache child worker
>>> process will create a connection to the UNIX socket. A mod_wsgi daemon
>>> process will accept that connection and then handle the proxied request in
>>> the separate daemon process.
>>>
>>> Now one final thing you could do as a separate sanity check is to try using
>>> mod_wsgi-express on that system and see if that even works.
>>>
>>> https://pypi.python.org/pypi/mod_wsgi
>>>
>>> It defaults to using /tmp for generated configuration and the location of
>>> the UNIX socket. Also therefore try running it with the option:
>>>
>>> --server-root /some/path
>>>
>>> to see if works in fails in other directories besides /tmp.
>>>
>>> Make sure you create that directory first if the parent directory can't be
>>> written to by the user you run mod_wsgi-express as, and ensure the
>>> directory is writable by the user you are running mod_wsgi-express as.
>>>
>>> Graham
>>>
>>> On 10/12/2014, at 11:30 PM, Christiaan Stoudt <[email protected]> wrote:
>>>
>>>> Hi there...
>>>>
>>>> From what I can tell it is completely disabled. I do a "getenforce" and
>>>> it comes back as Disabled. I will open a ticket with KnownHost to see if
>>>> they have anything else that could block things but the hardest thing is I
>>>> don't know what file the error is talking about... because how can we have
>>>> a permission error with the wsgi.sock file when it is being created?????
>>>>
>>>> Honestly what might help is if you could quickly explain the series of
>>>> events that are happening. I could never find an article or anything that
>>>> actually explained the sequence of how mod_wsgi was loaded and executed.
>>>> Basically when the Daemon is called what is it doing... do it execute the
>>>> alias and wsgi.py in the public_html after it creates the wsgi.sock file
>>>> or before, etc? Or is apache doing it or what?
>>>>
>>>> I noticed that when I did the daemon as a user I could get a new apache
>>>> process running under that user but still it failed even if the wsgi.sock
>>>> and wsgi.py files were in a folder off of root that the user could read.
>>>>
>>>> Since I don't understand some of the basic steps the applications and
>>>> apache takes I can't even help check for a config issue myself or try
>>>> other things... so a basic step sequence would help...
>>>>
>>>> Thanks for the continued help!
>>>>
>>>> On Tuesday, 9 December 2014 20:59:28 UTC-8, Graham Dumpleton wrote:
>>>> Can you double check that SELinux isn't causing an issue as the only thing
>>>> that usually causes this is SELinux.
>>>>
>>>> Try temporarily disabling SELinux by following steps in:
>>>>
>>>> http://www.crypt.gen.nz/selinux/disable_selinux.html
>>>>
>>>> Graham
>>>>
>>>> On 10/12/2014, at 2:28 PM, Christiaan Stoudt <[email protected]> wrote:
>>>>
>>>>> Hi there...
>>>>>
>>>>> I was trying to cover all the options in my first message that I tried
>>>>> and I guess I wasn't clear enough in one of the sentences! The
>>>>> /usr/local/apache/logs is root:root and I was aware of the permissions
>>>>> issue on the folder. So I also tried that by creating a directory
>>>>> straight off the root of the drive called wsgisock.
>>>>>
>>>>> drwxr-xr-x 2 nobody nobody 4096 Dec 9 15:15 wsgisock/
>>>>>
>>>>> Then I edited the WSGISocketPrefix like this--- WSGISocketPrefix
>>>>> /wsgisock/wsgi and I still had the issue even when I saw a
>>>>> wsgi.xxx.0.1.sock file being created in /wsgisock/
>>>>>
>>>>> In fact I just tried it again to make sure I wasn't being crazy. So
>>>>> technically the only think I did not do was change the permissions on
>>>>> /var/run/ to nobody:nobody because there are other programs using it for
>>>>> httpd, etc and I didn't want to mess them up with permission issues. So
>>>>> I figured creating a new directory off of root should basically provide
>>>>> the same solution.
>>>>>
>>>>> I guess explains why I am at a loss on what else I missed.
>>>>>
>>>>>
>>>>>
>>>>> On Tuesday, 9 December 2014 16:33:59 UTC-8, Graham Dumpleton wrote:
>>>>> It isn't the permissions on the socket file which can be the issue, the
>>>>> directory that the socket file is in must be readable/searchable by the
>>>>> 'nobody' user. Same applies to any directories all the way from '/' down
>>>>> to that directory.
>>>>>
>>>>> What do you get for:
>>>>>
>>>>> ls -las /usr/local/apache/logs
>>>>>
>>>>> Graham
>>>>>
>>>>> On 10/12/2014, at 11:06 AM, Christiaan Stoudt <[email protected]> wrote:
>>>>>
>>>>>> Hello...
>>>>>>
>>>>>> I was able to get my Django site working with mod_wsgi and Apache after
>>>>>> learning all the configuration, etc. Thank you for the great
>>>>>> documentation and help. So I want it clearly stated that I have
>>>>>> mod_wsgi working.
>>>>>>
>>>>>> Unfortunately I am running out of RAM so I decided to switch over to a
>>>>>> WSGIDaemon configuration. This is where my problem is... I have hit a
>>>>>> dead end and no matter how deep I search I continue to have no success.
>>>>>> I hope I can get some help here. Below are all the details I have in
>>>>>> hopes to get a response...
>>>>>>
>>>>>> Error: (13)Permission denied: [client xx.xx.xx.xx:xxxx] mod_wsgi
>>>>>> (pid=4570): Unable to connect to WSGI daemon process 'mydomain_com' on
>>>>>> '/usr/local/apache/logs/wsgi.4560.0.1.sock' after multiple attempts.
>>>>>>
>>>>>> Server details:
>>>>>> -- VPS Provider - KnownHost
>>>>>> -- OS Version - CentOS 6.6 (final)
>>>>>> -- Python 2.7.5
>>>>>> -- VirtualENV 1.11.6
>>>>>> -- Django 1.7.1
>>>>>> -- mod_wsgi 3.4
>>>>>> -- httpd -V
>>>>>> ---- Server version: Apache/2.4.10 (Unix)
>>>>>> ---- Architecture: 32-bit
>>>>>> ---- Server MPM: prefork / threaded: no / forked:
>>>>>> yes (variable process count)
>>>>>> -- Note: Apache runs as NOBODY for the chile processes
>>>>>> -- SELinux getenforce = Disabled
>>>>>>
>>>>>> -- In the pre.virtualhost.global.conf file I have these settings (this
>>>>>> gets merged with httpd.con):
>>>>>> LoadModule wsgi_module /usr/local/apache/extramodules/mod_wsgi.so
>>>>>> AddHandler wsgi-script .wsgi
>>>>>> WSGISocketPrefix /var/run/wsgi
>>>>>>
>>>>>> -- In the virtual host conf I have these settings:
>>>>>> WSGIDaemonProcess mydomain_com threads=10 inactivity-timeout=300
>>>>>> maximum-requests=2000 display-name=%{GROUP}
>>>>>> WSGIProcessGroup mydomain_com
>>>>>> WSGIScriptAlias /
>>>>>> /home/mydomain/public_html/d171p275/mydomain_com/wsgi.py
>>>>>>
>>>>>> -- In my wsgi.py file I have these settings:
>>>>>> import os, sys
>>>>>> sys.path.append('/home/mydomain/public_html/d171p275')
>>>>>> sys.path.append('/home/mydomain/venv/d171p275/lib/python2.7/site-packages/')
>>>>>> os.environ["DJANGO_SETTINGS_MODULE"] = "mydomain_com.settings"
>>>>>> from django.core.wsgi import get_wsgi_application
>>>>>> application = get_wsgi_application()
>>>>>>
>>>>>> ~~~~~~~~~
>>>>>>
>>>>>> I see that the wsgi.xx.sock file was originally created in the
>>>>>> /etc/httpd/logs/ folder with nobody:root as permissions and a 0 size.
>>>>>> After putting in the WSGISocketPrefix setting, it moved to the /var/run
>>>>>> folder but the error persists. I have also tried to create a folder off
>>>>>> of the / folder with permissions: nobody:nobody and I still get the
>>>>>> error. I have also tried to add the user and group entries in
>>>>>> WSGIDaemonProcess for both the "nobody" account as well as the
>>>>>> "mydomain" account that the virtual host domain was created on.
>>>>>>
>>>>>> Also I have moved the WSGI.PY file into various other folders (even the
>>>>>> same one the wsgi.xx.sock file sat in) to make sure the apache spawned
>>>>>> process could see it. It is not a SELinux or MPM issue. I don't have a
>>>>>> python-path in the WSGIDaemon process because it seems that WSGI is
>>>>>> finding the wsgi.py file in the public_html folder for the domain just
>>>>>> fine.
>>>>>>
>>>>>> Honestly I just have NO OTHER IDEAS!! Since I am still new to this I
>>>>>> wouldn't doubt it is something stupid. :) Any suggestions?
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "modwsgi" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>>> an email to [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at http://groups.google.com/group/modwsgi.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups
>>>>> "modwsgi" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an
>>>>> email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at http://groups.google.com/group/modwsgi.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups
>>>> "modwsgi" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an
>>>> email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/modwsgi.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "modwsgi" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/modwsgi.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/modwsgi.
>> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.