Do you still have a system package for mod_wsgi installed? If that was uninstalled, likely the file 10-mod_wsgi.conf wouldn't exist unless you manually added it.
Anyway, the LoadModule for wsgi_module should only be in one place, likely a file in /etc/http/conf.modules.d to ensure it is loaded early. If you don't have a system package for mod_wsgi you would need to create that file yourself. > On 16 Jun 2021, at 11:07 am, Bob Bobsled <[email protected]> wrote: > > > 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 > <http://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 > <http://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 > <http://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 > <http://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 > <http://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 > <http://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] > <mailto:[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 > <http://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/> > > Graham > >> On 15 Jun 2021, at 10:36 am, Bob Bobsled <[email protected] >> <mailto:[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 >> <http://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 >> <http://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 >> <http://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] <mailto:[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] >>> <mailto:[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 >>> <http://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] <mailto:[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] >>>> <mailto:[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 >>>> <http://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] <mailto:[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/introducing-modwsgi-express.html> >>>> http://blog.dscpl.com.au/2015/04/integrating-modwsgi-express-as-django.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 >>>> <http://blog.dscpl.com.au/2015/05/using-modwsgi-express-as-development.html> >>>> >>>> https://www.youtube.com/watch?v=CPz0s1CQsTE&t=7s >>>> <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] >>>>> <mailto:[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 <http://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 >>>>> <http://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] <mailto:[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] >>>>>> <mailto:[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 >>>>>> <http://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] >>>>>> <mailto:[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] >>>>> <mailto:[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] >>>>> <mailto:[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] >>>> <mailto:[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] >>>> <mailto:[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] >>> <mailto:[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] >>> <mailto:[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] >> <mailto:[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] >> <mailto:[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] > <mailto:[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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/modwsgi/CALWZDaMyiqd%3DABiU0KBfZo5NF7zWu52KufHXYXFvfX13qWm_2w%40mail.gmail.com > > <https://groups.google.com/d/msgid/modwsgi/CALWZDaMyiqd%3DABiU0KBfZo5NF7zWu52KufHXYXFvfX13qWm_2w%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/6ED3B3FE-8614-4D23-9ACE-A2482191A44D%40gmail.com.
