*And did you try using the config output by install-module instead?*
(myenv) [refstudent@localhost bin]$ mod_wsgi-express install-module
PermissionError: [Errno 13] Permission denied: '/usr/lib64/httpd/modules/
mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so'

then (su)
(myenv) [root@localhost bin]# mod_wsgi-express install-module
LoadModule wsgi_module "/usr/lib64/httpd/modules/
mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
WSGIPythonHome "/opt/myenv"

*What do you get for: ls -las
/usr/lib64/httpd/modules/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so
<http://mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so>*
1128 -rwxr-xr-x 1 root root 1153984 Jun 15 14:33 /usr/lib64/httpd/modules/
mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so

-----
Seems like the LoadModule bit pointing to the virtualenv will work in my
/etc/http/conf.modules.d dir in the 10-mod_wsgi.conf file:

<IfModule !wsgi_module>
     #LoadModule wsgi_module modules/
mod_wsgi_py39.cpython-39-x86_64-linux-gnu.so XXX
       LoadModule wsgi_module "/usr/lib64/httpd/modules/
mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
</IfModule>

But in my /etc/http/conf.d dir, in the mod_wsgi.conf file (the place for
WSGIPythonHome, WSGIDaemonProcess, WSGIScriptAlias, and VirtualHosts etc.)
I also have another
LoadModule statement:
       LoadModule wsgi_module "/usr/lib64/httpd/modules/
mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"

I would have thought once wsgi-express install-module put it in
/etc/http/modules
and the > httpd -M command shows the module (wsgi_module (shared)) loaded,
that it would be good to go, but it seems like I need include call
LoadModule  from the wsgi.conf file again, and then have the  fallback in
10-mod_wsgi.conf in case somehow it doesn't get loaded in the first place.

I feel like I'm inching closer to getting it working.

Regards,
Bob


On Mon, Jun 14, 2021 at 3:10 PM Graham Dumpleton <[email protected]>
wrote:

> And did you try using the config output by install-module instead?
>
> LoadModule wsgi_module "/usr/lib64/httpd/modules/
> mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
> WSGIPythonHome "/opt/myenv"
>
>
> What do you get for:
>
> ls -las /usr/lib64/httpd/modules/
> mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so
>
>
> Graham
>
> On 15 Jun 2021, at 10:36 am, Bob Bobsled <[email protected]> wrote:
>
> Hi Graham,
> re: f34, problem getting httpd to load the module via the
> /etc/httpd/conf.modules.d directory which has a 10-mod_wsig.conf file place
> there which says:
>
> 5 <IfModule !wsgi_module>
> 6     LoadModule wsgi_module modules/
> mod_wsgi_py39.cpython-39-x86_64-linux-gnu.so
> 7 </IfModule>
>
> --What were the actual lines that the install-module command output?
>
> *(myenv) [root@localhost bin]# mod_wsgi-express install-module*
> LoadModule wsgi_module "/usr/lib64/httpd/modules/
> mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
> WSGIPythonHome "/opt/myenv"
>
> --Also, what are the exact messages that Apache outputs in the error log
> when failing to load it?
>
> *[root@localhost conf.modules.d]# service httpd restart*
> Job for httpd.service failed because the control process exited with error
> code.
> See "systemctl status httpd.service" and "journalctl -xe" for details.
>
> *[root@localhost conf.modules.d]# systemctl status httpd.service*
> httpd: Syntax error on line 59 of /etc/httpd/conf/httpd.conf: Syntax error
> on line 6 of /etc/httpd/conf.modules.d/10-mod_wsgi.conf: Cannot load
> modules/mod_wsgi_py39.cpython-39-x86_64-linux-gnu.so: cannot open shared
> object file: No such file or directory
>
> Thanks,
> Bob
>
> On Thu, Jun 10, 2021 at 12:28 PM Graham Dumpleton <
> [email protected]> wrote:
>
>> What were the actual lines that the install-module command output? It
>> would not have been written as that but should have used an absolute path I
>> think, plus may have had a WSGIPythonHome directive as well if mod_wsgi
>> were installed into a Python virtual environment.
>>
>> Also, what are the exact messages that Apache outputs in the error log
>> when failing to load it?
>>
>> Graham
>>
>> On 11 Jun 2021, at 5:22 am, Bob Bobsled <[email protected]> wrote:
>>
>> Hi Graham,
>> Unraveling the fedora httpd sub directories is actually not too bad. But
>> the problem I'm having is getting httpd to load the module via the
>> /etc/httpd/conf.modules.d directory which has a 10-mod_wsig.conf file place
>> there which says:
>>
>> <IfModule !wsgi_module>
>>      LoadModule wsgi_module modules/
>> mod_wsgi_py39.cpython-39-x86_64-linux-gnu.so
>> </IfModule>
>>
>> httpd keeps saying it cannot load the module, however it is there because
>> mod_wsgi-express copied it there.
>>
>> I tried maybe finding a SONAME for the .so file, but there doesn't seem
>> to be one, so I'm not sure what it's hung up on with the naming
>> conventions.  I also set permissions consistent with the other modules.
>>
>> Regards,
>> Bob
>>
>> On Wed, Jun 9, 2021 at 11:43 AM Graham Dumpleton <
>> [email protected]> wrote:
>>
>>> Not much I can do to help you with where you should put config when
>>> using system Apache of a specific operating system. CentOS/RHEL, Fedora and
>>> Debian/Ubuntu all set different requirements on where to place things and I
>>> am not familiar with how each does it. Unless someone else on the list can
>>> help with how Fedora does it, best I can suggest is you look at the Fedora
>>> documentation which I would hope explains it.
>>>
>>> Graham
>>>
>>> On 10 Jun 2021, at 4:52 am, Bob Bobsled <[email protected]> wrote:
>>>
>>> Thank you Graham for your response.  Always helpful.
>>>
>>> From my virtualenv I can run mod_wsgi-express start-server, and see malt
>>> whiskey at localhost:8000.
>>>
>>> My goal would be to just have the mod run when apache starts, so the box
>>> can stay running, and folks can access the Django website when they need to
>>> (although it's only for local access, and we're behind a firewall and only
>>> using http).
>>>
>>> So I'm thinking the manually configured apache approach is what I need
>>> to do.  I tried elevating to root and running mod_wsgi-express
>>> install-module:
>>>
>>> (myenv) [root@localhost bin]# ./mod_wsgi-express install-module
>>> LoadModule wsgi_module "/usr/lib64/httpd/modules/
>>> mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
>>>
>>> On fedora34, that copes the library to:
>>> /etc/httpd/modules
>>>
>>> In fedora34 I have httpd directories (all under root ownership):
>>> /etc/httpd/conf
>>> /etc/httpd/conf.d
>>> /etc/httpd/conf.modules.d
>>> /etc/httpd/logs
>>> /etc/httpd/modules
>>> /etc/httpd/run
>>> /etc/httpd/state
>>>
>>> I'm confused about where to place the config file(s) which contains the
>>> httpd directives such as LoadModule wsgi_module, WSGIPythonHome,
>>> WSGIDaemonProcess, etc. as well as directory permissions and any virtual
>>> host setup.
>>>
>>> On fedora34:
>>> /etc/httpd/conf/ contains the general httpd.conf file
>>>
>>> /etc/httpd/conf.d  is for individual app config files?  ex.
>>> mod_dnssd.conf, php.conf etc.
>>>      "The directory is used in addition to the directory
>>> /etc/httpd/conf.modules.d/, which contains
>>>       configuration files necessary to load modules."
>>>
>>> /etc/httpd/conf.modules.d  is for two-digit, numbered .conf files, ex.
>>> 10-mod_dnssd.conf, etc.
>>>      "This directory contains configuration fragments necessary only to
>>> load modules.
>>>       Administrators should use the directory "/etc/httpd/conf.d" to
>>> modify
>>>       the configuration of httpd, or any modules."
>>>
>>> vhosts seems to be in a weird place on Fedora (also under root
>>> ownership):
>>> /usr/share/doc/httpd/httpd-vhosts.conf
>>>
>>> Regards,
>>> Bob
>>>
>>> On Tue, Jun 8, 2021 at 12:47 PM Graham Dumpleton <
>>> [email protected]> wrote:
>>>
>>>> If the intent is to use mod_wsgi-express to host the application, you
>>>> don't need to install the module into the system wide Apache using
>>>> "install-module".
>>>>
>>>> One you have run pip install, run:
>>>>
>>>>     mod_wsgi-express start-server
>>>>
>>>> and verify it starts. Then use mod_wsgi-start start-server with your
>>>> application as explained in:
>>>>
>>>> http://blog.dscpl.com.au/2015/04/introducing-modwsgi-express.html
>>>>
>>>> http://blog.dscpl.com.au/2015/04/integrating-modwsgi-express-as-django.html
>>>>
>>>> http://blog.dscpl.com.au/2015/05/using-modwsgi-express-as-development.html
>>>>
>>>> https://www.youtube.com/watch?v=CPz0s1CQsTE&t=7s
>>>>
>>>> If you really want to go the way of manually configuring the system
>>>> Apache for mod_wsgi instead, the "install-module" command will only work if
>>>> done as root, so you need to use "sudo" to run it.
>>>>
>>>> Graham
>>>>
>>>> On 9 Jun 2021, at 5:20 am, Bob Bobsled <[email protected]> wrote:
>>>>
>>>> Hi Graham,
>>>>
>>>> OK. I did that. (I was hoping to avoid virtualenv, since django is the
>>>> only main python app I'm using on that fedora box, but glad to set one up
>>>> if that helps).
>>>> I do have a conflict with the django port for another web app,
>>>> however.  A couple years ago you helped me thru a django setup on a windows
>>>> box using wamp,
>>>> where you suggested nip.io for the conflict problem.  That seemed to
>>>> work okay, but I haven't been able to get it worked out on the fedora box
>>>> yet because
>>>> still struggling with mod_wsgi part.
>>>>
>>>> From the activated virtualenv the mod_wsgi-express install-module
>>>> command is still giving me a permission error on /usr/lib64...
>>>>
>>>> On fedora I have one user, refstudent who is admin.  My /opt directory
>>>> and contents are all under the refstudent user and group and chmod 777
>>>> permission
>>>> on /opt and all contents.   /home is under root, but
>>>> /home/refstudent is under refstudent user and group with 777 permission on
>>>> all contents.
>>>> Everything else on the box is under root.  My django website is in
>>>> /var/www/html/mysite.
>>>>
>>>>
>>>> (myenv) [refstudent@localhost myenv]$ mod_wsgi-express install-module
>>>> Traceback (most recent call last):
>>>>   File "/opt/myenv/bin/mod_wsgi-express", line 33, in <module>
>>>>     sys.exit(load_entry_point('mod-wsgi==4.8.0', 'console_scripts',
>>>> 'mod_wsgi-express')())
>>>>   File
>>>> "/opt/myenv/lib64/python3.9/site-packages/mod_wsgi/server/__init__.py",
>>>> line 3830, in main
>>>>     cmd_install_module(args)
>>>>   File
>>>> "/opt/myenv/lib64/python3.9/site-packages/mod_wsgi/server/__init__.py",
>>>> line 3766, in cmd_install_module
>>>>     shutil.copyfile(where(), target)
>>>>   File "/usr/lib64/python3.9/shutil.py", line 264, in copyfile
>>>>     with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
>>>> PermissionError: [Errno 13] Permission denied:
>>>> '/usr/lib64/httpd/modules/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so'
>>>>
>>>> Regards,
>>>> Bob
>>>>
>>>> On Mon, Jun 7, 2021 at 3:01 PM Graham Dumpleton <
>>>> [email protected]> wrote:
>>>>
>>>>> You seem to have multiple installs conflicting with each other. Would
>>>>> suggest ensuring you uninstall all the mod_wsgi versions installed in
>>>>> different ways.
>>>>>
>>>>> Once that is done, create a Python virtual environment instead,
>>>>> activate it and pip install mod_wsgi into that. Don't install into system
>>>>> Python or per user Python.
>>>>>
>>>>> When have cleaned up and removed existing installs and tried the
>>>>> virtual environment method come back and indicate what problem you have at
>>>>> that point.
>>>>>
>>>>> Graham
>>>>>
>>>>> On 8 Jun 2021, at 10:57 am, Bob Bobsled <[email protected]>
>>>>> wrote:
>>>>>
>>>>> Hello Graham,
>>>>>
>>>>> I have tried unsuccessfully to get mod-wsgi working for Django, and
>>>>> httpd on fedora34.
>>>>>
>>>>> I tried the CMMI method first, downloading/configuring/make/install,
>>>>> but the instructions give out at the point of knowing what to do after
>>>>> getting the module into etc/httpd/modules.  I'm stuck figuring out how to
>>>>> continue with where to place a .config file and how to fiddle with vhosts
>>>>> etc.
>>>>>
>>>>> So I moved on to dnf install python3-mod_wsgi, but that seems to be an
>>>>> older version and doesn't have the niceties of mod_wsgi-express.
>>>>>
>>>>> Then I tried, as root, pip3 install mod_wsgi, but that seems to bugger
>>>>> the permissions.
>>>>>
>>>>> Fourth try was as user pip3 install --user mod_wsgi but it seems to
>>>>> put everything in odd places.
>>>>> For ex. mod_wsgi-express winds up in .local/bin, instead of usr/bin,
>>>>> but nevertheless when I run it from .loca/bin with the install-module
>>>>> directive I get permission denied on /usr/lib64/modules/
>>>>> mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so
>>>>>
>>>>> I'd be really grateful for some advice on the best way to get it
>>>>> working in fedora34.  I'm glad to try anyway you might suggest.
>>>>>
>>>>> Regards,
>>>>> Bob
>>>>>
>>>>> --
>>>>> 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 view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/modwsgi/CALWZDaN7J95EeTVJdty1wobGZ44X_q2utuJv%3DnmXEzVgqNhZQQ%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/modwsgi/CALWZDaN7J95EeTVJdty1wobGZ44X_q2utuJv%3DnmXEzVgqNhZQQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> 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 view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/modwsgi/FD746244-F6E1-444D-9835-298914C02712%40gmail.com
>>>>> <https://groups.google.com/d/msgid/modwsgi/FD746244-F6E1-444D-9835-298914C02712%40gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>> --
>>>> 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 view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/modwsgi/CALWZDaND20Qb0pdYnQn2B%3DrLH-%3Dwy70H8qpkaF11xn3_jza5yA%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/modwsgi/CALWZDaND20Qb0pdYnQn2B%3DrLH-%3Dwy70H8qpkaF11xn3_jza5yA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>>
>>>>
>>>> --
>>>> 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 view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/modwsgi/F763222A-02BA-456E-8DE1-C09878A3CC00%40gmail.com
>>>> <https://groups.google.com/d/msgid/modwsgi/F763222A-02BA-456E-8DE1-C09878A3CC00%40gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>> --
>>> 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 view this discussion on the web visit
>>> https://groups.google.com/d/msgid/modwsgi/CALWZDaO9e4Nm-zgVUHKrxYYkEGp5hSf1WVGmMs40dN89UMkfJA%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/modwsgi/CALWZDaO9e4Nm-zgVUHKrxYYkEGp5hSf1WVGmMs40dN89UMkfJA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>>
>>>
>>> --
>>> 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 view this discussion on the web visit
>>> https://groups.google.com/d/msgid/modwsgi/A8B8D4CE-FECF-4AFB-8D7B-B2CE644BF7D4%40gmail.com
>>> <https://groups.google.com/d/msgid/modwsgi/A8B8D4CE-FECF-4AFB-8D7B-B2CE644BF7D4%40gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/modwsgi/CALWZDaMC5aPhFv8s9yUJ7CGbZ0oxZmmPXJOSG0W3V%3DMmiKbRaQ%40mail.gmail.com
>> <https://groups.google.com/d/msgid/modwsgi/CALWZDaMC5aPhFv8s9yUJ7CGbZ0oxZmmPXJOSG0W3V%3DMmiKbRaQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>>
>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/modwsgi/272FA905-4CC5-4397-9F5F-DCAF961A402E%40gmail.com
>> <https://groups.google.com/d/msgid/modwsgi/272FA905-4CC5-4397-9F5F-DCAF961A402E%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/CALWZDaPPuadiPCE68EokWU1wWcKzsbEWs5Tn%3DWJ3_wshoE6%2BUQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/modwsgi/CALWZDaPPuadiPCE68EokWU1wWcKzsbEWs5Tn%3DWJ3_wshoE6%2BUQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/28F1B098-B816-4C58-9928-CFD2038656C4%40gmail.com
> <https://groups.google.com/d/msgid/modwsgi/28F1B098-B816-4C58-9928-CFD2038656C4%40gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/CALWZDaMyiqd%3DABiU0KBfZo5NF7zWu52KufHXYXFvfX13qWm_2w%40mail.gmail.com.

Reply via email to