If you are still using:
RewriteRule ^(.*)$ /main.py/$1 [QSA,PT,L]
the file 'main.py' must be in the document root directory for Apache,
presumably next to 'index.php'.
Try that first.
Graham
> On 12 Sep 2020, at 6:52 am, Gordon Charles <[email protected]> wrote:
>
> 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/ <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 <http://thegacway.com/>
> ServerAlias www.thegacway.com <http://www.thegacway.com/>
>
> ServerAdmin webmaster@localhost
> DocumentRoot /var/www/html
>
> # Define a mod_wsgi daemon process group.
> WSGIDaemonProcess www.thegacway.com <http://www.thegacway.com/>
> display-name=%{GROUP}
> # Force the Python web application to run in the mod_wsgi daemon
> process group.
> WSGIProcessGroup www.thegacway.com <http://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 <http://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 <http://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 <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 <http://thegacway.com/>
>>>> ServerAlias www.thegacway.com <http://www.thegacway.com/>
>>>>
>>>> ServerAdmin webmaster@localhost
>>>> DocumentRoot /var/www/html
>>>>
>>>> # Define a mod_wsgi daemon process group.
>>>> WSGIDaemonProcess www.thegacway.com <http://www.thegacway.com/>
>>>> display-name=%{GROUP}
>>>> # Force the Python web application to run in the mod_wsgi daemon
>>>> process group.
>>>> WSGIProcessGroup www.thegacway.com <http://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 <http://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]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/be184d21-d018-4068-b331-891939041d0bn%40googlegroups.com
>
> <https://groups.google.com/d/msgid/modwsgi/be184d21-d018-4068-b331-891939041d0bn%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/3E767C90-D480-4DD1-B1E3-730EDF0CF89A%40gmail.com.