Hi,
I have tried to understand the prior problems -- sorry, I can't figure it
out from the priors. I'm a newbie to mod_wsgi and Apache trying to create a
python server. I'm self-taught but totally stuck... thanks guys, at a dead
end. It is something I am clueless about.
---------------------------------------
*** This is the guts of the config.d file:
Listen 80
<VirtualHost *:80>
DocumentRoot "/var/www/jsss/html"
ServerName localhost:80
WSGIDaemonProcess jsss processes=1 threads=1 display-name=%{GROUP}
user=apache group=apache
WSGIProcessGroup jsss
WSGIScriptAlias / /var/www/jsss/jsss.wsgi
<Directory /var/www/jsss/>
Options All
Require all granted
</Directory>
</VirtualHost>
---------------------------------------------------------------
*** This is my main program, a single line, called from Apache, jsss_wsgi:
from jsss_flask_rest import app as application
---------------------------------------------------------------
*** this is the jsss_flask_rest program called from the single line
jsss_wsgi:
from flask import Flask, request
from flask_restful import Resource, Api
import subprocess
import sys
import base64
import os
import getpass
app = Flask(__name__)
api = Api(app)
class jsss(Resource):
def get(self):
f = open("/var/www/jsss/openme","r+") <<<--- dies right here
username = getpass.getuser()
stdout_data = username
return {"output>": stdout_data}
api.add_resource(jsss, '/jsss')
if __name__ == '__main__':
app.run
---------------------------------------------------------------
*** these are the permissions I set up for the test "openme" file. The
apache should have read access to root.
-rwxrwxrwx. 1 apache apache 4 Apr 26 20:35 openme
---------------------------------------------------------------
*** error from apache:
File "/usr/lib64/python3.6/site-packages/jsss_flask_rest.py", line 17, in
get
[Sun Apr 26 22:01:31.063590 2020] [wsgi:error] [pid 14886:tid
140318833870592] [remote ::1:37856] f =
open("/var/www/jsss/openme","r+")
[Sun Apr 26 22:01:31.063592 2020] [wsgi:error] [pid 14886:tid
140318833870592] [remote ::1:37856] PermissionError: [Errno 13] Permission
denied: '/var/www/jsss/openme'
-----------------------------------------------------------
*** error from Linux:
22:01:34 setroubleshootd: SELinux is preventing /usr/sbin/httpd from write
access on the file openme.
***** Plugin httpd_write_content (92.2 confidence) suggests
***************
If you want to allow httpd to have write access on the openme file
Then you need to change the label on 'openme'
Do
# semanage fcontext -a -t httpd_sys_rw_content_t 'openme'
# restorecon -v 'openme'
***** Plugin catchall_boolean (7.83 confidence) suggests
******************
If you want to allow httpd to unified
Then you must tell SELinux about this by enabling the 'httpd_unified'
boolean.
Do
setsebool -P httpd_unified 1
***** Plugin catchall (1.41 confidence) suggests
**************************
If you believe that httpd should be allowed write access on the openme file
by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -X 300 -i my-httpd.pp
--
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/902c645a-05ca-4dc3-9f0c-51786ea3a668%40googlegroups.com.