Graham, I have not been successful in launching a python application. My understanding is the configuration should launch the php handler if it finds a .php file in a directory and if not a .php file, but a ,py file exists it should launch that. The rules in the configuration file and the code you have supplied for the python file want that file to be named main.py. So I created a subdirectory, zones, off of the root directory with only main.py in that directory. File permissions are read for all on main.py and executable for all for the subdirectory. group and owner are the same for the root directory, the subdirectory and main.py.
I get the following: [Fri Sep 11 20:48:22.125318 2020] [autoindex:error] [pid 63687] [client 99.46.143.132:59742] AH01276: Cannot serve directory /var/www/html/zones/: No matching DirectoryIndex (index.php) found, and server-generated directory index forbidden by Options directive If I add Indexes to the Options directive, I get the directory listing of http://thegacway.com/zones/. Any assistance would be appreciated. Regards, Gordon On Friday, September 11, 2020 at 8:51:31 AM UTC-7 Gordon Charles wrote: > Setting FollowSymLinks and SymLinksIfOwnerMatch worked. Thank you. I'm > including the working .conf files for reference: > > <Directory /var/www/html> > Require all granted > </Directory> > WSGIRestrictEmbedded On > <VirtualHost *:80> > ServerName thegacway.com > ServerAlias www.thegacway.com > > ServerAdmin webmaster@localhost > DocumentRoot /var/www/html > > # Define a mod_wsgi daemon process group. > WSGIDaemonProcess www.thegacway.com display-name=%{GROUP} > # Force the Python web application to run in the mod_wsgi daemon > process group. > WSGIProcessGroup www.thegacway.com > WSGIApplicationGroup %{GLOBAL} > # Disable embedded mode of mod_wsgi. > # Set document root and rules for access. > #DocumentRoot /var/www/html > <Directory /var/www/html> > > Options ExecCGI SymLinksIfOwnerMatch FollowSymLinks > > > DirectoryIndex index.php > AddHandler application/x-httpd-php .php > AddHandler wsgi-script .py > RewriteEngine On > RewriteCond %{REQUEST_FILENAME} !-f > RewriteCond %{REQUEST_FILENAME} !-d > RewriteRule ^(.*)$ /main.py/$1 [QSA,PT,L] > </Directory> > > #LogLevel info ssl:warn > > ErrorLog ${APACHE_LOG_DIR}/error.log > CustomLog ${APACHE_LOG_DIR}/access.log combined > > </VirtualHost> > On Thursday, September 10, 2020 at 9:24:07 PM UTC-7 Graham Dumpleton wrote: > >> Is there is a reason why use of mod_rewrite is disabled by not >> setting FollowSymLinks and SymLinksIfOwnerMatch. Can only presume then that >> is due to that. >> >> On 11 Sep 2020, at 1:29 pm, Gordon Charles <[email protected]> wrote: >> >> Graham, >> >> I genuinely appreciate your help and patience; however, I believe we may >> be struggling to communicate. To be clear the .conf file I provided is the >> one, only and the complete contents of the .conf file. To be clear, yes I >> would like the site(s) to be under the same address/port and the >> configuration file I've sent you is my attempt to do so with the end goal >> of being able to support either php generated by wordpress or python >> supported by flask. >> >> Regards, >> >> Gordon >> >> On Thursday, September 10, 2020 at 7:00:25 PM UTC-7 Graham Dumpleton >> wrote: >> >>> You can't have two VirtualHosts for same port with same ServerName. >>> Apache will always use the first matching one it finds when doing named >>> based virtual hosting. >>> >>> If you want both sites to be under the same host name, the configuration >>> for each must be combined under the one VirtualHost definition. >>> >>> Graham >>> >>> On 11 Sep 2020, at 11:17 am, Gordon Charles <[email protected]> wrote: >>> >>> Graham, >>> >>> No it is not different. My understanding having read your post Graham >>> Dumpleton Post >>> <http://blog.dscpl.com.au/2014/09/hosting-php-web-applications-in.html>, >>> was that when configured Apache would dynamically route requests to either >>> the .php or through wsgi based upon the file extensions of the files >>> located in the particular directory. My assumption is the >>> ServerName/ServerAlias would be the same for both and Apache is "routing" >>> the requests responses. Based upon your response, I'm missing something; >>> and as such, If it is not too much trouble I would appreciate any >>> clarification you provide on the mechanics of how this would work when >>> implemented correctly. >>> >>> On Thursday, September 10, 2020 at 5:29:45 PM UTC-7 Graham Dumpleton >>> wrote: >>> >>>> What is the ServerName/ServerAlias for the wordpress VirtualHost? It is >>>> different right? >>>> >>>> On 11 Sep 2020, at 10:00 am, Gordon Charles <[email protected]> wrote: >>>> >>>> Graham, >>>> >>>> Thanks for the quick reply. I am striving to work independently here. >>>> I've made the modification, wordpress, is still not loading and have the >>>> following in the error.log file: >>>> >>>> [Thu Sep 10 23:53:15.963956 2020] [mpm_prefork:notice] [pid 40224] >>>> AH00163: Apache/2.4.41 (Ubuntu) mod_wsgi/4.6.8 Python/3.8 configured -- >>>> resuming normal operations >>>> [Thu Sep 10 23:53:15.964004 2020] [core:notice] [pid 40224] AH00094: >>>> Command line: '/usr/sbin/apache2' >>>> [Thu Sep 10 23:53:27.097927 2020] [rewrite:error] [pid 43290] [client >>>> 99.46.143.132:55785] AH00670: Options FollowSymLinks and >>>> SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also >>>> forbidden due to its similar ability to circumvent directory restrictions >>>> : >>>> /var/www/html/wp-admin/, referer: http://thegacway.com/wp-login.php >>>> >>>> My assumption is that the configuration you have outlined should work >>>> for wordpress in absence of any wsgi files and am trying to setup the >>>> .conf >>>> file so that it first works with wordpress and then add the python and get >>>> that working. >>>> >>>> Here's the configuration file: >>>> >>>> <Directory /var/www/html> >>>> Require all granted >>>> </Directory> >>>> WSGIRestrictEmbedded On >>>> <VirtualHost *:80> >>>> ServerName thegacway.com >>>> ServerAlias www.thegacway.com >>>> >>>> ServerAdmin webmaster@localhost >>>> DocumentRoot /var/www/html >>>> >>>> # Define a mod_wsgi daemon process group. >>>> WSGIDaemonProcess www.thegacway.com display-name=%{GROUP} >>>> # Force the Python web application to run in the mod_wsgi >>>> daemon process group. >>>> WSGIProcessGroup www.thegacway.com >>>> WSGIApplicationGroup %{GLOBAL} >>>> # Disable embedded mode of mod_wsgi. >>>> # Set document root and rules for access. >>>> #DocumentRoot /var/www/html >>>> <Directory /var/www/html> >>>> Options ExecCGI >>>> DirectoryIndex index.php >>>> AddHandler application/x-httpd-php .php >>>> AddHandler wsgi-script .py >>>> RewriteEngine On >>>> RewriteCond %{REQUEST_FILENAME} !-f >>>> RewriteCond %{REQUEST_FILENAME} !-d >>>> RewriteRule ^(.*)$ /main.py/$1 [QSA,PT,L] >>>> </Directory> >>>> >>>> #LogLevel info ssl:warn >>>> >>>> ErrorLog ${APACHE_LOG_DIR}/error.log >>>> CustomLog ${APACHE_LOG_DIR}/access.log combined >>>> >>>> </VirtualHost> >>>> On Thursday, September 10, 2020 at 4:12:58 PM UTC-7 Graham Dumpleton >>>> wrote: >>>> >>>>> Only WSGIRestrictEmbedded needs to be outside of the VirtualHost. >>>>> Leave everything else you may have inside of the VirtualHost. >>>>> >>>>> On 11 Sep 2020, at 8:17 am, Gordon Charles <[email protected]> wrote: >>>>> >>>>> I've been trying to create a .conf file which would simultaneously >>>>> support Wordpress and Flask (I have some flask apps which run as part of >>>>> an >>>>> embedded solution and would like for others to be able to drive the >>>>> application in a simulation mode and like the idea of having a site wide >>>>> implementation via flask for consistency. >>>>> >>>>> I've been following the guidance found here: >>>>> Graham Dumpleton Post >>>>> <http://blog.dscpl.com.au/2014/09/hosting-php-web-applications-in.html> >>>>> and here: >>>>> mod_wsgi docs <https://modwsgi.readthedocs.io/en/develop/index.html> >>>>> >>>>> I'm running on Ubuntu 20.04.1 LTS >>>>> Apache/2.4.41 >>>>> Python 3.8.2 >>>>> >>>>> When I include the suggested configuration described in the Graham >>>>> Dumpleton Post >>>>> <http://blog.dscpl.com.au/2014/09/hosting-php-web-applications-in.html> >>>>> inside >>>>> of the VirtualHost definition I get the following: >>>>> WSGIRestrictEmbedded cannot occur within <VirtualHost> section >>>>> Action 'restart' failed. >>>>> >>>>> When I include the suggested configuration outside of the VirtualHost >>>>> definition it breaks wordpress. >>>>> >>>>> Any guidance here would be appriciated. >>>>> >>>>> >>>>> >>>>> -- >>>>> 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/ded196fd-0b21-44ba-b6d5-b91b194e196dn%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/modwsgi/ded196fd-0b21-44ba-b6d5-b91b194e196dn%40googlegroups.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/6b61b8c9-4a3b-4c1c-bfc7-6f732542f975n%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/modwsgi/6b61b8c9-4a3b-4c1c-bfc7-6f732542f975n%40googlegroups.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/a75ae12f-3f82-44c1-9deb-6dde36c844a2n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/modwsgi/a75ae12f-3f82-44c1-9deb-6dde36c844a2n%40googlegroups.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/7576c999-0314-4c54-9287-229bed83abc2n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/modwsgi/7576c999-0314-4c54-9287-229bed83abc2n%40googlegroups.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/be184d21-d018-4068-b331-891939041d0bn%40googlegroups.com.
