Neither ServerName or ServerAlias should be an IP address. If you don't have a
proper hostname, ensure you are adding the configuration to the first/default
VirtualHost.
Your configuration if you want it mounted at sub URL path should then be:
WSGIScriptAlias /test_app "/var/www/html/test_app/test_app/wsgi.py"
WSGIDaemonProcess test_app python-home=/opt/myenv
python-path=/var/www/html/test_app
WSGIProcessGroup test_app
You don't include host IP in WSGI mount point sub URL path.
Your path for the WSGI script file wasn't quoted properly.
You don't include site-packages in Python path but set home for Python virtual
environment instead.
For details on using virtual environments see:
https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html
Graham
> On 19 Jun 2021, at 10:35 am, Bob Bobsled <[email protected]> wrote:
>
> Hi Graham,
> Yes, not sure why fedora has two dirs for apache modules. one in
> /usr/lib64/httpd and the other in /etc/httpd/modules...both have same
> contents.
>
> My django app (test_app) is located in /var/www/html
>
> /var/www/html/test_app, and the project within test_app is just called
> test_app too.
>
> I can see it in the browser using the development server by activating the
> virtualenv, cd'ing to /var/www/html/test_app
> and running
> >python manage.py runserver
> or alternately
> >python manage.py runmodwsgi
>
> then go to the browser and enter
> localhost:8000
> to see the django rocket
> or
> localhost:8000/admin
> to see the admin login page
>
> But when I try to run the test_app as production server by going to the
> browser and typing
> XXX.XXX.107.165/test_app (get 403 forbidden, you don't have permission...)
> or
> XXX.XXX.107.165/test_app/admin (get 404 URL not found on the server)
>
>
> Below is my mod_wsgi.conf file from /etc/httpd/conf.d. I couldn't find any
> other place for vhost, so I'm thinking it goes in the same file.
>
> Ownership and group of virtualenv is refstudent (me), with permissions 777
> recursively
> Ownership and group of /var/www/html is root:root
> Ownership and group of test_app is apache:apache (recursively throughout)
> with permissions 777 throughout the app.
>
> =======================
> #/etc/http/conf.d/mod_wsgi.conf
>
> WSGIPythonHome "/opt/myenv"
>
> <VirtualHost *:80>
> ServerName XXX.XXX.107.165
> ServerAlias XXX.XXX.107.165
> DocumentRoot /var/www/html
>
> WSGIScriptAlias /XXX.XXX.107.165/test_app
> "/var/www/html/test_app/test_app/wsgi.py>
>
> WSGIDaemonProcess test_app
> python-path=/var/www/html/test_app:/opt/myenv/lib/python3.9/site-packages:/opt/myenv/lib64/python3.9/site-packages
>
> WSGIProcessGroup test_app
>
> <directory /var/www/html/test_app>
> AllowOverride all
> Require all granted
> Options FollowSymlinks
> </directory>
>
> Alias /static/ /var/www/html/test_app/static/
>
> <Directory /var/www/html/test_app/static>
> Require all granted
> </Directory>
> </VirtualHost>
>
> Alias /static /var/www/html/test_app/static
>
> <Directory /var/www/html/test_app/static>
> Require all granted
> </Directory>
>
> <Directory "/var/www/html/test_app/test_app/">
> <Files wsgi.py>
> Require all granted
> </Files>
>
> </Directory>
> Alias /robots.txt /var/www/html/test_app/static/robots.txt
> Alias /favicon.ico /var/www/html/test_app/static/favicon.ico
>
> Alias /media/ /var/www/html/test_app/media/
> Alias /static/ /var/www/html/test_app/static/
>
> <Directory /var/www/html/test_app/static>
> Require all granted
> </Directory>
>
> <Directory /var/www/html/test_app/media>
> Require all granted
> </Directory>
>
> =============================
> excerpt from settings.py in test_app
>
> ALLOWED_HOSTS = ["localhost", "127.0.0.1", "XXX.XXX.107.165"]
>
> # Application definition
> INSTALLED_APPS = [
> 'django.contrib.admin',
> 'django.contrib.auth',
> 'django.contrib.contenttypes',
> 'django.contrib.sessions',
> 'django.contrib.messages',
> 'django.contrib.staticfiles',
> 'mod_wsgi.server',
> ]
>
>
>
>
>
> Regards,
> Bob
>
>
>
>
>
> On Thu, Jun 17, 2021 at 2:59 PM Graham Dumpleton <[email protected]
> <mailto:[email protected]>> wrote:
>
>
>> On 18 Jun 2021, at 5:06 am, Bob Bobsled <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Hi Graham,
>>
>> Thanks very much for your help and guidance.
>>
>> I no longer have any system installed package for mod_wsgi, and I did add
>> the 2-digit 10-mod_wsgi fallback LoadModule because I thought it was needed
>> for the Apache configuration. Since, as you wrote, that's the early load of
>> the module, then I commented out the LoadModule in
>> /etc/httpd/conf.d/mod_wsgi.conf, so now I should only have the one
>> LoadModule statement for Apache.
>>
>> If I'm understanding correctly then using root (su) to run mod_wsgi-express
>> install-module is what places the module not only in the virtualenv but also
>> in
>> /usr/lib64/httpd/modules
>> and also copies it to
>> /etc/httpd/modules
>
> Not correct.
>
> Running:
>
> pip install mod_wsgi
>
> builds the mod_wsgi Apache .so module file and installs it in the virtual
> environment (if one is used), or in system Python directory (if no virtual
> environment).
>
> Running:
>
> sudo mod_wsgi-express install-module
>
> only copies the the mod_wsgi Apache .so module file to the single directory
> where Apache modules are installed.
>
> If you have the installed .so file appearing in two different Apache modules
> directories, then the directories are either symlinked, or one of modules has
> got there in some other way.
>
> Note that instead of using install-module you could have run:
>
> mod_wsgi-express module-config
>
> which all it does is output config to include in the Apache configuration
> file where modules are loaded. The config lines it outputs will use the
> mod_wsgi Apache .so module file from the location in the virtual environment
> rather than having it be copied to Apache module directory.
>
>> I'm trying to make sure the mod_wsgi is working properly because I have some
>> URL errors on the Django side, and I want to eliminate mod_wsgi from the
>> debug equation.
>
> It would have been quicker just to post the Django app errors if Django is
> running. There are common mistakes one can make as to how you setup
> WSGIScriptAlias, how Django settings are setup, plus wrong assumptions your
> application makes about web site mount point, working directory, directory
> access when running under Apache and various other things. It is usually
> evident from the Python errors and stack traces what problem is.
>
> So post the errors from the Apache error log and browser, plus the mod_wsgi
> configuration from Apache. As far as I can see you haven't posted yet your
> WSGIScriptAlias, WSGIDaemonProcess, WSGI??? configurations you are including
> in the Apache configuration, so have no idea how you have configured it.
>
> Also read:
>
>
> https://modwsgi.readthedocs.io/en/master/user-guides/application-issues.html
> <https://modwsgi.readthedocs.io/en/master/user-guides/application-issues.html>
>
> but post the above information first as can probably stop you going around in
> circles if you explain the errors and actual problem at this point rather
> than assuming it might be somewhere else.
>
> One major point though, since you are running:
>
> python manage.py runmodwsgi
>
> you don't even need to configure the system Apache, so not sure why you are
> doing that.
>
> If you are trying to run mod_wsgi-express (or manage.py runmodwsgi) locally,
> that is completely different from system Apache configuration, so just show
> the errors you are getting.
>
>> I know I chose the route of having Apache host the app using mod_wsgi, but
>> as a test that I have mod_wsgi and apache configured correctly I'm trying
>> the steps below (avoiding nip.io <http://nip.io/>, for now). Does this,
>> then indicate I have it configured and talking to the app? Is so, I can
>> forget the mod_wsgi configuration bits and move on to debugging the Django
>> side before getting back to trying to run it as production server app. Or
>> is there a better way to verify mod_wsgi is configured properly and working
>> with Apache?
>>
>> > httpd -M
>> shows module is loaded
>>
>> then activate the virtualenv and cd to my app
>> /var/www/html/myapp
>>
>> elevate to root (su) and run
>> python manage.py collectstatic
>>
>> then de-elevate back to admin user and run
>> python manage.py runmodwsgi
>>
>> which shows server is running at localhost:8000/
>>
>> then opened the browser and went to:
>> localhost:8000/myapp
>>
>> and see my URL errors on the Django side.
>>
>> Thank you,
>> Bob
>>
>>
>>
>>
>>
>> On Tue, Jun 15, 2021 at 7:00 PM Graham Dumpleton <[email protected]
>> <mailto:[email protected]>> wrote:
>> 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]
>>> <mailto:[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]
>> <mailto:[email protected]>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/modwsgi/6ED3B3FE-8614-4D23-9ACE-A2482191A44D%40gmail.com
>>
>> <https://groups.google.com/d/msgid/modwsgi/6ED3B3FE-8614-4D23-9ACE-A2482191A44D%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/CALWZDaNPmnGQGk%3Di9WWU2pihUy8KqBa6Pv8YbNQe-RxeqZoXXA%40mail.gmail.com
>>
>> <https://groups.google.com/d/msgid/modwsgi/CALWZDaNPmnGQGk%3Di9WWU2pihUy8KqBa6Pv8YbNQe-RxeqZoXXA%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/B624EDAD-7BF0-46D3-8E69-A657E4E21EDD%40gmail.com
>
> <https://groups.google.com/d/msgid/modwsgi/B624EDAD-7BF0-46D3-8E69-A657E4E21EDD%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/CALWZDaMuBuTLKx-pJsFkBz80coJsOJvZzm_%3Dz1gJqPFnouS%3D_w%40mail.gmail.com
>
> <https://groups.google.com/d/msgid/modwsgi/CALWZDaMuBuTLKx-pJsFkBz80coJsOJvZzm_%3Dz1gJqPFnouS%3D_w%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/54CD5708-FEC0-47C9-8747-AE23D43E16A9%40gmail.com.