hd2900@hd2900:~/Documents/Python/hd2900TakeawayPrint$ ls -lasd /home/hd2900 4 drwxr-x--- 17 hd2900 hd2900 4096 Oct 11 22:38 /home/hd2900
> Den 15. okt. 2021 kl. 09.25 skrev Graham Dumpleton > <[email protected]>: > > What do you get for: > > ls -lasd /home/hd2900 > > Graham > >> On 15 Oct 2021, at 5:53 pm, Jian Wu <[email protected] >> <mailto:[email protected]>> wrote: >> >> Thanks again for your comments. I have read the quick configuration guide >> for mod_wsgi. Below is apache2 configuration file look like. I am now using >> absolute path to the project, wsgi file and the virtual environment. >> >> (env) hd2900@hd2900:~$ cat /etc/apache2/sites-enabled/000-default.conf >> <VirtualHost *:80> >> # The ServerName directive sets the request scheme, hostname and port >> that >> # the server uses to identify itself. This is used when creating >> # redirection URLs. In the context of virtual hosts, the ServerName >> # specifies what hostname must appear in the request's Host: header to >> # match this virtual host. For the default virtual host (this file) this >> # value is not decisive as it is used as a last resort host regardless. >> # However, you must set it for any further virtual host explicitly. >> #ServerName www.example.com <http://www.example.com/> >> >> ServerAdmin webmaster@localhost >> DocumentRoot /var/www/html >> WSGIDaemonProcess flaskapp threads=5 >> python-home=/home/hd2900/Documents/Python/hd2900TakeawayPrint/env >> WSGIScriptAlias / >> /home/hd2900/Documents/Python/hd2900TakeawayPrint/flaskapp.wsgi >> WSGIApplicationGroup %{GLOBAL} >> >> <Directory /home/hd2900/Documents/Python/hd2900TakeawayPrint> >> WSGIProcessGroup flaskapp >> Require all granted >> </Directory> >> >> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, >> # error, crit, alert, emerg. >> # It is also possible to configure the loglevel for particular >> # modules, e.g. >> #LogLevel info ssl:warn >> >> ErrorLog ${APACHE_LOG_DIR}/error.log >> CustomLog ${APACHE_LOG_DIR}/access.log combined >> >> # For most configuration files from conf-available/, which are >> # enabled or disabled at a global level, it is possible to >> # include a line for only one particular virtual host. For example the >> # following line enables the CGI configuration for this host only >> # after it has been globally disabled with "a2disconf". >> #Include conf-available/serve-cgi-bin.conf >> #Header set Access-Control-Allow-Origin "*" >> </VirtualHost> >> >> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet >> >> Regarding permission to home directory. Right now the home directory is >> owned by root. Should I execute a chown command to change the user to hd2900 >> and www-data group? >> >> (env) hd2900@hd2900:/$ ls -la >> total 1048660 >> drwxr-xr-x 20 root root 4096 Apr 22 02:13 . >> drwxr-xr-x 20 root root 4096 Apr 22 02:13 .. >> lrwxrwxrwx 1 root root 7 Apr 22 01:52 bin -> usr/bin >> drwxr-xr-x 5 root root 4096 Sep 29 06:06 boot >> drwxr-xr-x 19 root root 19200 Sep 7 20:34 dev >> drwxr-xr-x 2 root root 4096 Apr 22 02:13 .disk >> drwxr-xr-x 135 root root 8192 Oct 15 07:29 etc >> drwxr-xr-x 3 root root 4096 Sep 26 18:13 home >> lrwxrwxrwx 1 root root 7 Apr 22 01:52 lib -> usr/lib >> drwx------ 2 root root 16384 Apr 22 02:13 lost+found >> drwxr-xr-x 2 root root 4096 Apr 22 01:52 media >> drwxr-xr-x 2 root root 4096 Apr 22 01:52 mnt >> drwxr-xr-x 2 root root 4096 Apr 22 01:52 opt >> dr-xr-xr-x 298 root root 0 Jan 1 1970 proc >> drwx------ 5 root root 4096 Sep 26 19:03 root >> drwxr-xr-x 35 root root 940 Oct 15 08:06 run >> lrwxrwxrwx 1 root root 8 Apr 22 01:52 sbin -> usr/sbin >> drwxr-xr-x 9 root root 4096 Sep 27 02:10 snap >> drwxr-xr-x 2 root root 4096 Apr 22 01:52 srv >> -rw------- 1 root root 1073741824 Apr 22 02:15 swapfile >> dr-xr-xr-x 12 root root 0 Jan 1 1970 sys >> drwxrwxrwt 17 root root 4096 Oct 15 08:40 tmp >> drwxr-xr-x 11 root root 4096 Apr 22 01:52 usr >> drwxr-xr-x 15 root root 4096 Sep 26 21:54 var >> >> When I access my local IP from a web browser 192.168.0.179 I still get 403 >> forbidden error in that I don’t have permission to access the ressources. Is >> there a log file somewhere allowing me to check the cause of the 403 >> forbidden error as this will make debugging easier? >> >> Thanks! >> >> >>> Den 11. okt. 2021 kl. 23.05 skrev Graham Dumpleton >>> <[email protected] <mailto:[email protected]>>: >>> >>> That symlink is not pointing where you think it is, it is pointing at >>> "/var/www/html/hd2900TakeawayPrint”. You need to specify an absolute >>> pathname for the target when creating the symlink. Even then that may not >>> work as Apache has rules about following symlinks and am not sure whether >>> the default rules allow it or whether you need to enable it. If not >>> enabled, the target directory would need a Directory directive all well to >>> allow access to it. >>> >>> A further issue is that you seem to be using a Python virtual environment >>> but have not told mod_wsgi to use it. And another potential problem will be >>> whether your home directory is accessible by other users. >>> >>> Presuming that your home directory is called “/home/yourusername” and it is >>> accessible to others, try using: >>> >>> WSGIDaemonProcess flaskapp threads=5 >>> python-home=/home/yourusername/Documents/Python/hd2900TakeawayPrint/env >>> WSGIScriptAlias / >>> /home/yourusername/Documents/Python/hd2900TakeawayPrint/flaskapp.wsgi >>> WSGIApplicationGroup %{GLOBAL} >>> >>> <Directory /home/yourusername/Documents/Python/hd2900TakeawayPrint> >>> WSGIProcessGroup flaskapp >>> Require all granted >>> </Directory> >>> >>> Have a read of: >>> >>> * >>> https://modwsgi.readthedocs.io/en/master/user-guides/quick-configuration-guide.html >>> >>> <https://modwsgi.readthedocs.io/en/master/user-guides/quick-configuration-guide.html> >>> * >>> https://modwsgi.readthedocs.io/en/master/user-guides/configuration-guidelines.html >>> >>> <https://modwsgi.readthedocs.io/en/master/user-guides/configuration-guidelines.html> >>> * >>> https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html >>> >>> <https://modwsgi.readthedocs.io/en/master/user-guides/virtual-environments.html> >>> >>> Graham >>> >>> >>>> On 12 Oct 2021, at 7:54 am, Jian Wu <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Hello Graham, >>>> >>>> Sorry I missed the argument in Directory. I have now changed the >>>> configuration file as below. >>>> >>>> (env) hd2900@hd2900:~/Documents/Python/hd2900TakeawayPrint$ cat >>>> /etc/apache2/sites-enabled/000-default.conf >>>> <VirtualHost *:80> >>>> # The ServerName directive sets the request scheme, hostname and port >>>> that >>>> # the server uses to identify itself. This is used when creating >>>> # redirection URLs. In the context of virtual hosts, the ServerName >>>> # specifies what hostname must appear in the request's Host: header to >>>> # match this virtual host. For the default virtual host (this file) this >>>> # value is not decisive as it is used as a last resort host regardless. >>>> # However, you must set it for any further virtual host explicitly. >>>> #ServerName www.example.com <http://www.example.com/> >>>> >>>> ServerAdmin webmaster@localhost >>>> DocumentRoot /var/www/html >>>> WSGIDaemonProcess flaskapp threads=5 >>>> WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi >>>> WSGIApplicationGroup %{GLOBAL} >>>> >>>> <Directory /var/www/html/flaskapp> >>>> WSGIProcessGroup flaskapp >>>> Require all granted >>>> </Directory> >>>> >>>> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, >>>> # error, crit, alert, emerg. >>>> # It is also possible to configure the loglevel for particular >>>> # modules, e.g. >>>> #LogLevel info ssl:warn >>>> >>>> ErrorLog ${APACHE_LOG_DIR}/error.log >>>> CustomLog ${APACHE_LOG_DIR}/access.log combined >>>> >>>> # For most configuration files from conf-available/, which are >>>> # enabled or disabled at a global level, it is possible to >>>> # include a line for only one particular virtual host. For example the >>>> # following line enables the CGI configuration for this host only >>>> # after it has been globally disabled with "a2disconf". >>>> #Include conf-available/serve-cgi-bin.conf >>>> #Header set Access-Control-Allow-Origin "*" >>>> </VirtualHost> >>>> >>>> Furthermore I have ensured that the dynamic link is created as seen below >>>> in the path /var/www/html >>>> >>>> (env) hd2900@hd2900:/var/www/html$ ll >>>> total 20 >>>> drwxr-xr-x 2 root root 4096 Oct 10 18:38 ./ >>>> drwxr-xr-x 3 root root 4096 Sep 26 21:54 ../ >>>> lrwxrwxrwx 1 root root 19 Oct 10 18:38 flaskapp -> hd2900TakeawayPrint >>>> -rw-r--r-- 1 root root 10918 Sep 26 21:54 index.html >>>> >>>> In the hd2900TakeawayPrint folder the flasapp.wsgi is located >>>> >>>> (env) hd2900@hd2900:~/Documents/Python/hd2900TakeawayPrint$ ll -la >>>> total 32 >>>> drwxrwxr-x 4 hd2900 www-data 4096 Oct 10 18:23 ./ >>>> drwxrwxr-x 3 hd2900 hd2900 4096 Oct 10 18:04 ../ >>>> drwxrwxr-x 4 hd2900 hd2900 4096 Oct 10 18:08 env/ >>>> -rwxrwxr-x 1 hd2900 www-data 249 Oct 10 18:23 flaskapp.py* >>>> -rwxrwxr-x 1 hd2900 www-data 96 Oct 10 18:23 flaskapp.wsgi* >>>> drwxrwxr-x 8 hd2900 hd2900 4096 Oct 10 18:23 .git/ >>>> -rw-r--r-- 1 root root 5 Oct 10 18:05 .gitignore >>>> -rwxrwxr-x 1 hd2900 hd2900 69 Oct 10 18:04 README.md* >>>> >>>> Still when I from a browser type https://my-global-IP:81 >>>> <https://myglobalip:81/> I get the permission error. >>>> >>>> Best regards, >>>> Jian >>>> >>>> >>>> >>>>> Den 11. okt. 2021 kl. 22.37 skrev Graham Dumpleton >>>>> <[email protected] <mailto:[email protected]>>: >>>>> >>>>> You didn’t use exactly what I gave you. The argument to the Directory >>>>> directive needs to be the path to the directory holding the WSGI script >>>>> file, not the name of the mod_wsgi daemon process group. >>>>> >>>>> <Directory /var/www/html/flaskapp> >>>>> WSGIProcessGroup flaskapp >>>>> Require all granted >>>>> </Directory> >>>>> >>>>> Graham >>>>> >>>>>> On 12 Oct 2021, at 4:19 am, Jian Wu <[email protected] >>>>>> <mailto:[email protected]>> wrote: >>>>>> >>>>>> Hello Graham, >>>>>> >>>>>> Thanks for pointing this out. I have now corrected it so the >>>>>> configuration file looks as below. The problem however still persists. >>>>>> >>>>>> cat /etc/apache2/sites-enabled/000-default.conf >>>>>> <VirtualHost *:80> >>>>>> # The ServerName directive sets the request scheme, hostname and port >>>>>> that >>>>>> # the server uses to identify itself. This is used when creating >>>>>> # redirection URLs. In the context of virtual hosts, the ServerName >>>>>> # specifies what hostname must appear in the request's Host: header to >>>>>> # match this virtual host. For the default virtual host (this file) this >>>>>> # value is not decisive as it is used as a last resort host regardless. >>>>>> # However, you must set it for any further virtual host explicitly. >>>>>> #ServerName www.example.com <http://www.example.com/> >>>>>> >>>>>> ServerAdmin webmaster@localhost >>>>>> DocumentRoot /var/www/html >>>>>> WSGIDaemonProcess flaskapp threads=5 >>>>>> WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi >>>>>> WSGIApplicationGroup %{GLOBAL} >>>>>> >>>>>> <Directory flaskapp> >>>>>> WSGIProcessGroup flaskapp >>>>>> Require all granted >>>>>> </Directory> >>>>>> >>>>>> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, >>>>>> # error, crit, alert, emerg. >>>>>> # It is also possible to configure the loglevel for particular >>>>>> # modules, e.g. >>>>>> #LogLevel info ssl:warn >>>>>> >>>>>> ErrorLog ${APACHE_LOG_DIR}/error.log >>>>>> CustomLog ${APACHE_LOG_DIR}/access.log combined >>>>>> >>>>>> # For most configuration files from conf-available/, which are >>>>>> # enabled or disabled at a global level, it is possible to >>>>>> # include a line for only one particular virtual host. For example the >>>>>> # following line enables the CGI configuration for this host only >>>>>> # after it has been globally disabled with "a2disconf". >>>>>> #Include conf-available/serve-cgi-bin.conf >>>>>> #Header set Access-Control-Allow-Origin "*" >>>>>> </VirtualHost> >>>>>> >>>>>> Best regards, >>>>>> Jian >>>>>> >>>>>>> Den 10. okt. 2021 kl. 23.23 skrev Graham Dumpleton >>>>>>> <[email protected] <mailto:[email protected]>>: >>>>>>> >>>>>>> For a start, this is wrong: >>>>>>> >>>>>>> <Directory flaskapp> >>>>>>> WSGIProcessGroup flaskapp >>>>>>> WSGIApplicationGroup %{GLOBAL} >>>>>>> Order deny,allow >>>>>>> Allow from all >>>>>>> </Directory> >>>>>>> >>>>>>> It should be: >>>>>>> >>>>>>> <Directory /var/www/html/flaskapp> >>>>>>> WSGIProcessGroup flaskapp >>>>>>> Require all granted >>>>>>> </Directory> >>>>>>> >>>>>>> Graham >>>>>>> >>>>>>>> On 11 Oct 2021, at 7:09 am, Jian Wu <[email protected] >>>>>>>> <mailto:[email protected]>> wrote: >>>>>>>> >>>>>>>> Dear Graham, >>>>>>>> >>>>>>>> >>>>>>>> I am following this guide >>>>>>>> https://asdkazmi.medium.com/deploying-flask-app-with-wsgi-and-apache-server-on-ubuntu-20-04-396607e0e40f >>>>>>>> >>>>>>>> <https://asdkazmi.medium.com/deploying-flask-app-with-wsgi-and-apache-server-on-ubuntu-20-04-396607e0e40f> >>>>>>>> to deploy a flask app together with apache2 and mod-wsgi. My >>>>>>>> intension is being able to perform a request post call from another >>>>>>>> server over the internet to my server running flask. >>>>>>>> >>>>>>>> It seems that the author suggests to install mod-wsgi using the below >>>>>>>> command. I am not sure if that package is supported? >>>>>>>> >>>>>>>> sudo apt-get install libapache2-mod-wsgi-py3 >>>>>>>> >>>>>>>> I followed the instruction, and when I typed in my local IP address on >>>>>>>> a browser I received a message saying “Forbidden you don’t have the >>>>>>>> permission to access this ressource Apache 2.4.46 (Ubuntu server at >>>>>>>> 192.168.0.179 port 80). >>>>>>>> >>>>>>>> Hardware: >>>>>>>> - Raspberry Pi 4 with Ubuntu 20.04. My local IP is 192.168.0.179 >>>>>>>> - Router configuration: As seen in the picture below, I have forwarded >>>>>>>> port 22 external to internal 22 and external port 81 to internal port >>>>>>>> 80. >>>>>>>> <Indsat grafik-1.tiff> >>>>>>>> >>>>>>>> These ports are opened on my Ubuntu server >>>>>>>> (env) hd2900@hd2900:/etc/apache2/sites-available$ sudo ufw status >>>>>>>> [sudo] password for hd2900: >>>>>>>> Status: active >>>>>>>> >>>>>>>> To Action From >>>>>>>> -- ------ ---- >>>>>>>> 22/tcp ALLOW Anywhere >>>>>>>> OpenSSH ALLOW Anywhere >>>>>>>> Apache Full ALLOW Anywhere >>>>>>>> 81/tcp ALLOW Anywhere >>>>>>>> 22/tcp (v6) ALLOW Anywhere (v6) >>>>>>>> OpenSSH (v6) ALLOW Anywhere (v6) >>>>>>>> Apache Full (v6) ALLOW Anywhere (v6) >>>>>>>> 81/tcp (v6) ALLOW Anywhere (v6) >>>>>>>> >>>>>>>> My Apache2 configuration file: >>>>>>>> (env) hd2900@hd2900:~/Documents/Python/hd2900TakeawayPrint$ cat >>>>>>>> /etc/apache2/sites-enabled/000-default.conf >>>>>>>> <VirtualHost *:80> >>>>>>>> # The ServerName directive sets the request scheme, hostname >>>>>>>> and port that >>>>>>>> # the server uses to identify itself. This is used when creating >>>>>>>> # redirection URLs. In the context of virtual hosts, the >>>>>>>> ServerName >>>>>>>> # specifies what hostname must appear in the request's Host: >>>>>>>> header to >>>>>>>> # match this virtual host. For the default virtual host (this >>>>>>>> file) this >>>>>>>> # value is not decisive as it is used as a last resort host >>>>>>>> regardless. >>>>>>>> # However, you must set it for any further virtual host >>>>>>>> explicitly. >>>>>>>> #ServerName www.example.com <http://www.example.com/> >>>>>>>> >>>>>>>> ServerAdmin webmaster@localhost >>>>>>>> DocumentRoot /var/www/html >>>>>>>> WSGIDaemonProcess flaskapp threads=5 >>>>>>>> WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi >>>>>>>> WSGIApplicationGroup %{GLOBAL} >>>>>>>> >>>>>>>> <Directory flaskapp> >>>>>>>> WSGIProcessGroup flaskapp >>>>>>>> WSGIApplicationGroup %{GLOBAL} >>>>>>>> Order deny,allow >>>>>>>> Allow from all >>>>>>>> </Directory> >>>>>>>> >>>>>>>> # Available loglevels: trace8, ..., trace1, debug, info, >>>>>>>> notice, warn, >>>>>>>> # error, crit, alert, emerg. >>>>>>>> # It is also possible to configure the loglevel for particular >>>>>>>> # modules, e.g. >>>>>>>> #LogLevel info ssl:warn >>>>>>>> >>>>>>>> ErrorLog ${APACHE_LOG_DIR}/error.log >>>>>>>> CustomLog ${APACHE_LOG_DIR}/access.log combined >>>>>>>> >>>>>>>> # For most configuration files from conf-available/, which are >>>>>>>> # enabled or disabled at a global level, it is possible to >>>>>>>> # include a line for only one particular virtual host. For >>>>>>>> example the >>>>>>>> # following line enables the CGI configuration for this host >>>>>>>> only >>>>>>>> # after it has been globally disabled with "a2disconf". >>>>>>>> #Include conf-available/serve-cgi-bin.conf >>>>>>>> #Header set Access-Control-Allow-Origin "*" >>>>>>>> </VirtualHost> >>>>>>>> >>>>>>>> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet >>>>>>>> >>>>>>>> >>>>>>>> My Flask app folder structure: >>>>>>>> (env) hd2900@hd2900:~/Documents/Python/hd2900TakeawayPrint$ ls -la >>>>>>>> total 32 >>>>>>>> drwxrwxr-x 4 hd2900 hd2900 4096 Oct 10 18:23 . >>>>>>>> drwxrwxr-x 3 hd2900 hd2900 4096 Oct 10 18:04 .. >>>>>>>> drwxrwxr-x 4 hd2900 hd2900 4096 Oct 10 18:08 env >>>>>>>> -rw-rw-r-- 1 hd2900 hd2900 249 Oct 10 18:23 flaskapp.py >>>>>>>> -rw-rw-r-- 1 hd2900 hd2900 96 Oct 10 18:23 flaskapp.wsgi >>>>>>>> drwxrwxr-x 8 hd2900 hd2900 4096 Oct 10 18:23 .git >>>>>>>> -rw-r--r-- 1 root root 5 Oct 10 18:05 .gitignore >>>>>>>> -rw-rw-r-- 1 hd2900 hd2900 69 Oct 10 18:04 README.md >>>>>>>> >>>>>>>> flaskapp.wsgi content >>>>>>>> cat flaskapp.wsgi >>>>>>>> import sys >>>>>>>> sys.path.insert(0, '/var/www/html/flaskapp') >>>>>>>> >>>>>>>> Flaskapp.py content >>>>>>>> cat flaskapp.py >>>>>>>> # flaskapp.py >>>>>>>> # This is a "hello world" app sample for flask app. You may have a >>>>>>>> different file. >>>>>>>> from flask import Flask >>>>>>>> app = Flask(__name__) >>>>>>>> @app.route('/') >>>>>>>> def hello_world(): >>>>>>>> return 'Hello from Flask!' >>>>>>>> if __name__ == '__main__': >>>>>>>> >>>>>>>> I don’t know how to troubleshoot this problem further, and I hope for >>>>>>>> your advice. >>>>>>>> >>>>>>>> Thanks in advance! >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Jian >>>>>>>> >>>>>>>> -- >>>>>>>> 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/2BCCBE0B-7ECB-462D-998D-B0048679D76B%40gmail.com >>>>>>>> >>>>>>>> <https://groups.google.com/d/msgid/modwsgi/2BCCBE0B-7ECB-462D-998D-B0048679D76B%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/DA44D477-D5A6-4843-94BD-D2934DB8F9FE%40gmail.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/modwsgi/DA44D477-D5A6-4843-94BD-D2934DB8F9FE%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/85F8B0E7-909C-4FE5-B9E4-EE861298E63A%40gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/modwsgi/85F8B0E7-909C-4FE5-B9E4-EE861298E63A%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/0736BFAD-F31E-45FF-9083-AEAE4E91E5F4%40gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/modwsgi/0736BFAD-F31E-45FF-9083-AEAE4E91E5F4%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/5D61A066-8FFD-4E2D-864C-A6E9245FAC22%40gmail.com >>>> >>>> <https://groups.google.com/d/msgid/modwsgi/5D61A066-8FFD-4E2D-864C-A6E9245FAC22%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/DCBFDD21-E95A-4F09-A6CC-F65BEABEBB5B%40gmail.com >>> >>> <https://groups.google.com/d/msgid/modwsgi/DCBFDD21-E95A-4F09-A6CC-F65BEABEBB5B%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/1FDD187D-FF9D-48DF-95A2-8DAB54881161%40gmail.com >> >> <https://groups.google.com/d/msgid/modwsgi/1FDD187D-FF9D-48DF-95A2-8DAB54881161%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/368B0BB7-524E-42D2-A9C6-A5BF9D66ADD5%40gmail.com > > <https://groups.google.com/d/msgid/modwsgi/368B0BB7-524E-42D2-A9C6-A5BF9D66ADD5%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]. To view this discussion on the web visit https://groups.google.com/d/msgid/modwsgi/5B040AC4-ED45-4DE0-A80E-6B1FCBAE9680%40gmail.com.
