You can't use "localhost" for ServerName or ServerAlias either. If you have multiple sites you are trying to host yet don't have proper distinct hostnames for each, then everything would need to be in one VirtualHost.
How many VirtualHost definitions do you have? BTW, one way around the issue is to use nip.io <http://nip.io/> hostnames. Eg., <VirtualHost *:80> ServerName myothersite.XXX.XXX.107.165.nip.io <http://107.165.nip.io/> WSGIScriptAlias / "/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 ... </VirtualHost> That way you can have multiple VirtualHost definitions and each is accessed using different hostname, where each site is hosted at root of site and not a sub URL, where the URL in this case would be: http://myothersite.XXX.XXX.107.165.nip.io <http://107.165.nip.io/> This is a much better way of handling it. See the nip.io <http://nip.io/> site to see how it works. Do be ware though that some corporate networks may block it from working. Graham > On 22 Jun 2021, at 6:08 am, Bob Bobsled <[email protected]> wrote: > > Hi Graham, > Thank you for your continued help. > > I'm still a bit stuck on the virtualhost configuration re: IP address. Under > /var/www/html I have several small websites being served, but only one django > using mod_wsgi. > We typically access them locally, behind a firewall using IP and website name > in the URL of the browser. Ex. XXX.XXX.107.165/MyOtherSite. > > In /etc/httpd/conf directory in the http.conf file I have > Listen 80 > > But regarding ServerName and ServerAlias, I have only > > $ hostname > localhost.localdomain > or > $ hostname -i > ::1 127.0.0.1 > > I'd rather avoid using localhost in the virtualhost config because the django > site is typically accessed by other client machines. > > Thus I would have thought in the /etc/httpd/conf.d configuration file: > <VirtualHost *:80> > (and omit ServerName, and ServerAlias) > > would have given it to me. > > So I also tried, just as a test: > <VirtualHost *:80> > ServerName localhost > ServerAlias localhost > > and tried to access the django app using URL > localhost:8000/test_app > or > 127.0.0.1:8000/test_app <http://127.0.0.1:8000/test_app> > > But still no joy > > My selinux is disabled > and > the ports have been added to firewalld > firewall -cmd --zone=public --permanent --add-port=80/tcp > firewall -cmd --zone=public --permanent --add-port=8000/tcp > > I can't imagine what's continuing to block the django app from apache. > > Regards, > Bob > > > On Fri, Jun 18, 2021 at 4:48 PM Graham Dumpleton <[email protected] > <mailto:[email protected]>> wrote: > 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 > > <https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html> > > Graham > >> On 19 Jun 2021, at 10:35 am, Bob Bobsled <[email protected] >> <mailto:[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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/modwsgi/54CD5708-FEC0-47C9-8747-AE23D43E16A9%40gmail.com > > <https://groups.google.com/d/msgid/modwsgi/54CD5708-FEC0-47C9-8747-AE23D43E16A9%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/CALWZDaO3gUO3KOqxcqVw2JDg-y6ur6TwWw6%2BK%3D_P_TSyBEg_Xw%40mail.gmail.com > > <https://groups.google.com/d/msgid/modwsgi/CALWZDaO3gUO3KOqxcqVw2JDg-y6ur6TwWw6%2BK%3D_P_TSyBEg_Xw%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/8418F27C-8896-48E1-BF7B-44941C217FD7%40gmail.com.
