On Jun 23, 2018, at 10:02 PM, Graham Dumpleton <[email protected]> 
wrote:
> 
> See:
> 
> http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
>  
> <http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html>
> 
> Graham
> 

After reading the virtualenv section I reverted back to the wsgi and 
virtualhost conf files from our other thread.

Here are snapshots:

cat /etc/apache2/mods-available/wsgi.conf

<IfModule mod_wsgi.c>
    WSGIRestrictEmbedded On
</IfModule>

cat /etc/apache2/sites-available/FlaskApp.conf

<VirtualHost *:83>
        ServerName flaskapp.com
        ServerAdmin [email protected]

        WSGIDaemonProcess flaskapp.com python-home=/usr/local/venvs/myenv 
python-path=/var/www/FlaskApp
        WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi 
process-group=flaskapp.com application-group=%{GLOBAL}
                
        <Directory /var/www/FlaskApp/>
                <Files flaskapp.wsgi>
                        Require all granted
                </Files>
        </Directory>
        LogLevel info
</VirtualHost>

Anything above look concerning? Any further best practices or optimizations you 
advise?

It appears to be working well. Again thank you for your very good support and 
patience especially dealing with my user errors (arg didn’t open firewall ports 
and others).

—Rajeev


>> On 24 Jun 2018, at 3:00 pm, Rajeev Jain <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> This is the final part of the puzzle for me. If I wanted to run things from 
>> a virtualenv, what would be the required changes? 
>> 
>> Location of desired virtualenv:
>> 
>> /home/user/.virtualenvs/myenv
>> 
>> —Rajeev
>> 
>> 
>> 
>>> On Jun 23, 2018, at 9:52 PM, Rajeev Jain <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> On Jun 23, 2018, at 9:36 PM, Graham Dumpleton <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Possibly because for the other ports you opened up the firewall on the 
>>>> host so they can be accessed from outside, but you didn't do that for port 
>>>> 83.
>>>> 
>>> 
>>> 
>>> Bingo! 
>>> 
>>> sudo ufw allow 83
>>> 
>>> 
>>> It is working from all the other computers!!
>>> 
>>> Thank-you so much. You are awesome. 
>>> 
>>> —Rajeev
>>> 
>>> 
>>> 
>>>> Graham
>>>> 
>>>>> On 24 Jun 2018, at 2:35 pm, Rajeev Jain <[email protected] 
>>>>> <mailto:[email protected]>> wrote:
>>>>> 
>>>>>> 
>>>>>> On Jun 23, 2018, at 4:42 PM, Graham Dumpleton 
>>>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>>> 
>>>>>> Run the curl on the same host and use:
>>>>>> 
>>>>>>     curl http://127.0.0.1:83 <http://127.0.0.1:83/>
>>>>>> 
>>>>> 
>>>>> 
>>>>> From the server both the curl command and browser are working correctly:
>>>>> 
>>>>> 
>>>>> $curl http://192.168.1.14:83 <http://192.168.1.14:83/>
>>>>> Hello, this is running from flasK!
>>>>> 
>>>>> $curl http://127.0.0.1:83 <http://127.0.0.1:83/>
>>>>> Hello, this is running from flasK!
>>>>> 
>>>>> Browser not shown but working correctly.
>>>>> 
>>>>> Those same URLs do not work at all (curl or browser) from a different 
>>>>> computer on the network.
>>>>> 
>>>>> Note the other 3 virtualservers are working using curl or browser from 
>>>>> any computer on the network:
>>>>> 
>>>>> http://192.168.1.14:80 <http://192.168.1.14/>
>>>>> http://192.168.1.14:81 <http://192.168.1.14:81/>
>>>>> http://192.168.1.14:82 <http://192.168.1.14:82/>
>>>>> 
>>>>> Why 192.168.1.14:83 is not accessible from other computer?
>>>>> 
>>>>> 
>>>>>> Try doing a complete 'stop' and 'start' of Apache, not just a 'reload’.
>>>>> 
>>>>> To restart apache I’m using the following:
>>>>> 
>>>>> $ sudo service apache2 restart
>>>>> 
>>>>> Is this the right command (i.e. will is reload changes in the 
>>>>> configuration and restart the server)? 
>>>>> 
>>>>> If not, which command to use?
>>>>> 
>>>>>> 
>>>>>> BTW, you don't need the CustomLog directive either since would be same 
>>>>>> as main Apache one.
>>>>>> 
>>>>> 
>>>>> ok i removed that line. here is most recent:
>>>>> 
>>>>> cat /etc/apache2/sites-available/FlaskApp.conf
>>>>> <VirtualHost *:83>
>>>>>           ServerName flaskapp.com <http://flaskapp.com/>
>>>>>           ServerAdmin [email protected] <mailto:[email protected]>
>>>>>           WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
>>>>>           <Directory /var/www/FlaskApp/>
>>>>>                   Require all granted
>>>>>           </Directory>
>>>>>           LogLevel info
>>>>> </VirtualHost>
>>>>> 
>>>>> 
>>>>> Whats’s next…it seems we are close.
>>>>> 
>>>>> —Rajeev
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> Graham
>>>>>> 
>>>>>>> On 24 Jun 2018, at 8:55 am, Rajeev Jain <[email protected] 
>>>>>>> <mailto:[email protected]>> wrote:
>>>>>>> 
>>>>>>> good question. yes that has been added:
>>>>>>> 
>>>>>>> ccat /etc/apache2/ports.conf
>>>>>>> # If you just change the port or add more ports here, you will likely 
>>>>>>> also
>>>>>>> # have to change the VirtualHost statement in
>>>>>>> # /etc/apache2/sites-enabled/000-default.conf
>>>>>>> 
>>>>>>> Listen 80
>>>>>>> Listen 81
>>>>>>> Listen 82
>>>>>>> Listen 83
>>>>>>> 
>>>>>>> <IfModule ssl_module>
>>>>>>>         Listen 443
>>>>>>> </IfModule>
>>>>>>> 
>>>>>>> <IfModule mod_gnutls.c>
>>>>>>>         Listen 443
>>>>>>> </IfModule>
>>>>>>> 
>>>>>>> any chance you can call me or i can call you? if yes please email my 
>>>>>>> personal email: cjainraje@yahoo.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Jun 23, 2018, at 3:53 PM, Graham Dumpleton 
>>>>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>>>> 
>>>>>>> Have you added a:
>>>>>>> 
>>>>>>>     Listen 83
>>>>>>> 
>>>>>>> directive to Apache so it knows to listed on that port?
>>>>>>> 
>>>>>>> Graham
>>>>>>> 
>>>>>>>> On 24 Jun 2018, at 8:52 am, Rajeev Jain <[email protected] 
>>>>>>>> <mailto:[email protected]>> wrote:
>>>>>>>> 
>>>>>>>> I fixed the items in you email. See my comments inline and below for 
>>>>>>>> details:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> I rebooted.
>>>>>>>> 
>>>>>>>>  and unfortunately curl command is not working:
>>>>>>>> curl http://192.168.1.14:83 <http://192.168.1.14:83/>
>>>>>>>> curl: (7) Failed to connect to 192.168.1.14 port 83: Operation timed 
>>>>>>>> out
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Here is error.log
>>>>>>>> tail -f /var/log/apache2/error.log
>>>>>>>> [Sat Jun 23 14:48:49.945490 2018] [mpm_prefork:notice] [pid 2625] 
>>>>>>>> AH00169: caught SIGTERM, shutting down
>>>>>>>> [Sat Jun 23 14:49:22.977595 2018] [ssl:warn] [pid 2170] AH01909: 
>>>>>>>> 198.105.244.228:443:0 server certificate does NOT include an ID which 
>>>>>>>> matches the server name
>>>>>>>> [Sat Jun 23 14:49:23.145018 2018] [ssl:warn] [pid 2171] AH01909: 
>>>>>>>> 198.105.244.228:443:0 server certificate does NOT include an ID which 
>>>>>>>> matches the server name
>>>>>>>> [Sat Jun 23 14:49:23.151437 2018] [mpm_prefork:notice] [pid 2171] 
>>>>>>>> AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g mod_wsgi/4.6.4 
>>>>>>>> Python/3.6 configured -- resuming normal operations
>>>>>>>> [Sat Jun 23 14:49:23.151475 2018] [core:notice] [pid 2171] AH00094: 
>>>>>>>> Command line: '/usr/sbin/apache2'
>>>>>>>> [Sat Jun 23 15:40:33.636711 2018] [mpm_prefork:notice] [pid 2171] 
>>>>>>>> AH00169: caught SIGTERM, shutting down
>>>>>>>> [Sat Jun 23 15:41:06.959491 2018] [ssl:warn] [pid 2149] AH01909: 
>>>>>>>> 198.105.244.228:443:0 server certificate does NOT include an ID which 
>>>>>>>> matches the server name
>>>>>>>> [Sat Jun 23 15:41:07.131568 2018] [ssl:warn] [pid 2151] AH01909: 
>>>>>>>> 198.105.244.228:443:0 server certificate does NOT include an ID which 
>>>>>>>> matches the server name
>>>>>>>> [Sat Jun 23 15:41:07.135495 2018] [mpm_prefork:notice] [pid 2151] 
>>>>>>>> AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g mod_wsgi/4.6.4 
>>>>>>>> Python/3.6 configured -- resuming normal operations
>>>>>>>> [Sat Jun 23 15:41:07.135532 2018] [core:notice] [pid 2151] AH00094: 
>>>>>>>> Command line: '/usr/sbin/apache2'
>>>>>>>> 
>>>>>>>> 
>>>>>>>> FYI, updated/most recent:
>>>>>>>> cat /etc/apache2/sites-available/FlaskApp.conf
>>>>>>>> <VirtualHost *:83>
>>>>>>>>                ServerName flaskapp.com <http://flaskapp.com/>
>>>>>>>>                ServerAdmin [email protected] 
>>>>>>>> <mailto:[email protected]>
>>>>>>>>                WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
>>>>>>>>                <Directory /var/www/FlaskApp/>
>>>>>>>>                        Require all granted
>>>>>>>>                </Directory>
>>>>>>>>                LogLevel info
>>>>>>>>                CustomLog ${APACHE_LOG_DIR}/access.log combined
>>>>>>>> </VirtualHost>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> can we use mod_wsgi-express to help us get this setup?
>>>>>>>> 
>>>>>>>> —Rajeev
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Jun 23, 2018, at 3:24 PM, Graham Dumpleton 
>>>>>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>>>>> 
>>>>>>>> Is FlaskApp.conf symlinked into sites-enabled directory?
>>>>>>>> 
>>>>>>>> If it isn't then it will not even be used.
>>>>>>>> 
>>>>>>>> [rajeev]
>>>>>>>> yes it is
>>>>>>>> /etc/apache2/sites-enabled$ ll Flask*
>>>>>>>> lrwxrwxrwx 1 root root 32 Jun 12 19:50 FlaskApp.conf -> 
>>>>>>>> ../sites-available/FlaskApp.conf
>>>>>>>> 
>>>>>>>> and it is enabled:
>>>>>>>> /etc/apache2/sites-available$ sudo a2ensite FlaskApp
>>>>>>>> [sudo] password for rajeev: 
>>>>>>>> Site FlaskApp already enabled
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>>     WSGIPythonHome "/usr"
>>>>>>>> 
>>>>>>>> Are you not using a Python virtual environment?
>>>>>>>> 
>>>>>>>> [rajeev]
>>>>>>>> my thinking was to get this working at the system level and then 
>>>>>>>> migrate to a virtual environment. if better to start with a virtualenv 
>>>>>>>> then let’s do so. i have one already setup:
>>>>>>>> 
>>>>>>>> virtualenv-location: /home/rajeev/.virtualenvs/smdb-prod
>>>>>>>> 
>>>>>>>> either system or virtualenv is fine for me. i’ll go with your 
>>>>>>>> recommendation. please do advise.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Also good practice to use mod_wsgi daemon mode.
>>>>>>>> 
>>>>>>>> [rajeev]
>>>>>>>> please advise how to use mod_wsgi daemon mode.
>>>>>>>> 
>>>>>>>>> 3) FlaskApp.conf
>>>>>>>>> cat /etc/apache2/sites-available/FlaskApp.conf
>>>>>>>>> <VirtualHost *:83>
>>>>>>>>>               ServerName flaskapp.com <http://flaskapp.com/>
>>>>>>>>>               ServerAdmin [email protected] 
>>>>>>>>> <mailto:[email protected]>
>>>>>>>>>               WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
>>>>>>>>>               <Directory /var/www/FlaskApp/FlaskApp/>
>>>>>>>> 
>>>>>>>> This directory path is wrong. Should be:
>>>>>>>> 
>>>>>>>>     <Directory /var/www/FlaskApp/>
>>>>>>>>  
>>>>>>>>>                       Order allow,deny
>>>>>>>>>                       Allow from all
>>>>>>>> 
>>>>>>>> For Apache 2.4 you should be using:
>>>>>>>> 
>>>>>>>>     Require all granted
>>>>>>>> 
>>>>>>>>>               </Directory>
>>>>>>>>>               ErrorLog ${APACHE_LOG_DIR}/error.log
>>>>>>>> 
>>>>>>>> No point setting this here if not setting it different to main Apache 
>>>>>>>> error log.
>>>>>>>> 
>>>>>>>>>               LogLevel warn
>>>>>>>> 
>>>>>>>> Set this to:
>>>>>>>> 
>>>>>>>>     LogLevel info
>>>>>>>> 
>>>>>>>> That way mod_wsgi will log details about when it loads scripts and you 
>>>>>>>> will know if request is actually making it to mod_wsgi.
>>>>>>>> 
>>>>>>>> So fix above things, ensuring your site is enabled and do curl again.
>>>>>>>> 
>>>>>>>> What appears in the error log from when the request is made? Does it 
>>>>>>>> show mod_wsgi loading your script?
>>>>>>>> 
>>>>>>>> Graham
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> 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 post to this group, send email to [email protected] 
>>>>>>>> <mailto:[email protected]>.
>>>>>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>>>>>> <https://groups.google.com/group/modwsgi>.
>>>>>>>> For more options, visit https://groups.google.com/d/optout 
>>>>>>>> <https://groups.google.com/d/optout>.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> 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 post to this group, send email to [email protected] 
>>>>>>>> <mailto:[email protected]>.
>>>>>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>>>>>> <https://groups.google.com/group/modwsgi>.
>>>>>>>> For more options, visit https://groups.google.com/d/optout 
>>>>>>>> <https://groups.google.com/d/optout>.
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> 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 post to this group, send email to [email protected] 
>>>>>>> <mailto:[email protected]>.
>>>>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>>>>> <https://groups.google.com/group/modwsgi>.
>>>>>>> For more options, visit https://groups.google.com/d/optout 
>>>>>>> <https://groups.google.com/d/optout>.
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> 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 post to this group, send email to [email protected] 
>>>>>>> <mailto:[email protected]>.
>>>>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>>>>> <https://groups.google.com/group/modwsgi>.
>>>>>>> For more options, visit https://groups.google.com/d/optout 
>>>>>>> <https://groups.google.com/d/optout>.
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> 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 post to this group, send email to [email protected] 
>>>>>> <mailto:[email protected]>.
>>>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>>>> <https://groups.google.com/group/modwsgi>.
>>>>>> For more options, visit https://groups.google.com/d/optout 
>>>>>> <https://groups.google.com/d/optout>.
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 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 post to this group, send email to [email protected] 
>>>>> <mailto:[email protected]>.
>>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>>> <https://groups.google.com/group/modwsgi>.
>>>>> For more options, visit https://groups.google.com/d/optout 
>>>>> <https://groups.google.com/d/optout>.
>>>> 
>>>> 
>>>> -- 
>>>> 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 post to this group, send email to [email protected] 
>>>> <mailto:[email protected]>.
>>>> Visit this group at https://groups.google.com/group/modwsgi 
>>>> <https://groups.google.com/group/modwsgi>.
>>>> For more options, visit https://groups.google.com/d/optout 
>>>> <https://groups.google.com/d/optout>.
>>> 
>> 
>> 
>> -- 
>> 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 post to this group, send email to [email protected] 
>> <mailto:[email protected]>.
>> Visit this group at https://groups.google.com/group/modwsgi 
>> <https://groups.google.com/group/modwsgi>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> 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 post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/modwsgi 
> <https://groups.google.com/group/modwsgi>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to