Re: Trouble deploying Django (project folder, wsgi.py and libapache2-mod-wsgi)

2018-03-08 Thread Jason
you need to use libapache2-mod-wsgi-py3, since the package you used is for 
python2 only

On Thursday, March 8, 2018 at 1:23:44 PM UTC-5, drone4four wrote:
>
> I’m having some issues deploying Django.
>
>
> Here is my site: https://daniel496.agency/ 
>
>
> I’m running a Digital Ocean Droplet with Ubuntu 14.04 and Python v3.4 with 
> Django 2.0.2 installed.
>
>
> In this post first I share what errors I am encountering, then what I 
> think is the issue is and then what I’ve tried to resolve the issue.  At 
> the end of this post are my configuration files like ssl.conf and wsgi.py.
>
>
> Before I begin, I think the issue might involve the naming of my project 
> folders. My project folder on my local machine is named: 
> `first_project_attempt`.  But on my remote server, the project folder is 
> named, `cel2fah`. I copied the contents locally to my remote host and now 
> trying to iron out the issues.
>
>
> Here I go.  If you access my site linked to above, right now it is showing:
>
>
> Internal Server Error
>> The server encountered an internal error or misconfiguration and was 
>> unable to complete your request.
>> Please contact the server administrator at @gmail.com to inform 
>> them of the time this error occurred, and the actions you performed just 
>> before this error.
>> More information about this error may be available in the server error 
>> log.
>> Apache/2.4.7 (Ubuntu) Server at daniel496.agency Port 443
>
>
> Here are the last ~50 lines of my apache error log file: 
> https://pastebin.com/UPsTmf28 
>
>
> I’m thinking that there could be a potential conflict between 
> libapache2-mod-wsgi and libapache2-mod-wsgi-py3.  I encountered a similar 
> issue a few weeks ago. There are apparently still traces of 
> libapache2-mod-wsgi (for Python 2.7) still flagged as active on my system 
> given that $ sudo dpkg -s libapache2-mod-wsgi prints:
>
>
> Package: libapache2-mod-wsgi
>> Status: deinstall ok config-files
>> Priority: optional
>> Section: httpd
>> Installed-Size: 242
>> Maintainer: Ubuntu Developers > >
>> Architecture: amd64
>> Source: mod-wsgi
>> Version: 3.4-4ubuntu2.1.14.04.2
>> Config-Version: 3.4-4ubuntu2.1.14.04.2
>> Provides: httpd-wsgi
>> Depends: libc6 (>= 2.14), libpython2.7 (>= 2.7), apache2-api-20120211, 
>> python (>= 2.7), python (<< 2.8)
>> Conffiles:
>> /etc/apache2/mods-available/wsgi.load 06d2b4d2c95b28720f324bd650b7cbd6 
>> obsolete
>> /etc/apache2/mods-available/wsgi.conf c4ca5be35d0820b5d5cc2892097b476b 
>> obsolete
>> Description: Python WSGI adapter module for Apache
>> The mod_wsgi adapter is an Apache module that provides a WSGI (Web Server
>> Gateway Interface, a standard interface between web server software and
>> web applications written in Python) compliant interface for hosting Python
>> based web applications within Apache. The adapter provides significantly
>> better performance than using existing WSGI adapters for mod_python or 
>> CGI.
>> .
>> This package provides module for Python 2.X.
>> Homepage: http://www.modwsgi.org/
>> Original-Maintainer: Debian Python Modules Team <
>> python-mo...@lists.alioth.debian.org >
>
>
> However when I go to remove it, it says it’s not installed:
>
>
> $ sudo apt remove libapache2-mod-wsgi
>> Reading package lists... Done
>> Building dependency tree   
>> Reading state information... Done
>> Package 'libapache2-mod-wsgi' is not installed, so not removed
>> 0 upgraded, 0 newly installed, 0 to remove and 44 not upgraded.
>
>
> More to the point, when invoking this as root:
>
>
> apache2ctl -t -D DUMP_MODULES
>
>
> ...it lists what modules apache2 has loaded. And libapache2-mod-wsgi (for 
> Python version 2) is included.  So I Google ‘how to remove apache modules’ 
> which turns up this SO post: 
> https://stackoverflow.com/questions/9288865/how-can-i-uninstall-an-apache2-module
>
> So I set out to rename my libapache2-mod-wsgi.so (for Python version 2) 
> from my apache2 modules directory inside /usr/lib. I see a symlink 
> mod_wsgi.so which refers to mod_wsgi.so-3.4:
>
>
> @:/usr/lib/apache2/modules$ ls -la mod_wsgi*
>> lrwxrwxrwx 1 root root 15 Nov 18 2014 mod_wsgi.so -> mod_wsgi.so-3.4
>> -rw-r--r-- 1 root root 174448 Nov 18  2014 mod_wsgi.so-3.4
>> @:/usr/lib/apache2/modules$ 
>
>
> So is my Apache serving the libapache2-mod-wsgi module for python2 or just 
> for python3 or what?
>
>
> What else can you people determine could be the issue here?
>
>
> Here is my wsgi.py:
>
>> """
>> WSGI config for first_project_attempt project.
>> It exposes the WSGI callable as a module-level variable named 
>> ``application``.
>> For more information on this file, see
>> https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
>> """
>> import os
>> import sys
>> from django.core.wsgi import get_wsgi_application
>> sys.path.append('/home/tranq/cel2fah/cel2fah')
>> # NEW:
>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cel2fah.settings")
>> # OLD:
>> # 

Trouble deploying Django (project folder, wsgi.py and libapache2-mod-wsgi)

2018-03-08 Thread drone4four


I’m having some issues deploying Django.


Here is my site: https://daniel496.agency/ 


I’m running a Digital Ocean Droplet with Ubuntu 14.04 and Python v3.4 with 
Django 2.0.2 installed.


In this post first I share what errors I am encountering, then what I think 
is the issue is and then what I’ve tried to resolve the issue.  At the end 
of this post are my configuration files like ssl.conf and wsgi.py.


Before I begin, I think the issue might involve the naming of my project 
folders. My project folder on my local machine is named: 
`first_project_attempt`.  But on my remote server, the project folder is 
named, `cel2fah`. I copied the contents locally to my remote host and now 
trying to iron out the issues.


Here I go.  If you access my site linked to above, right now it is showing:


Internal Server Error
> The server encountered an internal error or misconfiguration and was 
> unable to complete your request.
> Please contact the server administrator at @gmail.com to inform them 
> of the time this error occurred, and the actions you performed just before 
> this error.
> More information about this error may be available in the server error log.
> Apache/2.4.7 (Ubuntu) Server at daniel496.agency Port 443


Here are the last ~50 lines of my apache error log file: 
https://pastebin.com/UPsTmf28 


I’m thinking that there could be a potential conflict between 
libapache2-mod-wsgi and libapache2-mod-wsgi-py3.  I encountered a similar 
issue a few weeks ago. There are apparently still traces of 
libapache2-mod-wsgi (for Python 2.7) still flagged as active on my system 
given that $ sudo dpkg -s libapache2-mod-wsgi prints:


Package: libapache2-mod-wsgi
> Status: deinstall ok config-files
> Priority: optional
> Section: httpd
> Installed-Size: 242
> Maintainer: Ubuntu Developers 
> Architecture: amd64
> Source: mod-wsgi
> Version: 3.4-4ubuntu2.1.14.04.2
> Config-Version: 3.4-4ubuntu2.1.14.04.2
> Provides: httpd-wsgi
> Depends: libc6 (>= 2.14), libpython2.7 (>= 2.7), apache2-api-20120211, 
> python (>= 2.7), python (<< 2.8)
> Conffiles:
> /etc/apache2/mods-available/wsgi.load 06d2b4d2c95b28720f324bd650b7cbd6 
> obsolete
> /etc/apache2/mods-available/wsgi.conf c4ca5be35d0820b5d5cc2892097b476b 
> obsolete
> Description: Python WSGI adapter module for Apache
> The mod_wsgi adapter is an Apache module that provides a WSGI (Web Server
> Gateway Interface, a standard interface between web server software and
> web applications written in Python) compliant interface for hosting Python
> based web applications within Apache. The adapter provides significantly
> better performance than using existing WSGI adapters for mod_python or CGI.
> .
> This package provides module for Python 2.X.
> Homepage: http://www.modwsgi.org/
> Original-Maintainer: Debian Python Modules Team 
> 


However when I go to remove it, it says it’s not installed:


$ sudo apt remove libapache2-mod-wsgi
> Reading package lists... Done
> Building dependency tree   
> Reading state information... Done
> Package 'libapache2-mod-wsgi' is not installed, so not removed
> 0 upgraded, 0 newly installed, 0 to remove and 44 not upgraded.


More to the point, when invoking this as root:


apache2ctl -t -D DUMP_MODULES


...it lists what modules apache2 has loaded. And libapache2-mod-wsgi (for 
Python version 2) is included.  So I Google ‘how to remove apache modules’ 
which turns up this SO post: 
https://stackoverflow.com/questions/9288865/how-can-i-uninstall-an-apache2-module

So I set out to rename my libapache2-mod-wsgi.so (for Python version 2) 
from my apache2 modules directory inside /usr/lib. I see a symlink 
mod_wsgi.so which refers to mod_wsgi.so-3.4:


@:/usr/lib/apache2/modules$ ls -la mod_wsgi*
> lrwxrwxrwx 1 root root 15 Nov 18 2014 mod_wsgi.so -> mod_wsgi.so-3.4
> -rw-r--r-- 1 root root 174448 Nov 18  2014 mod_wsgi.so-3.4
> @:/usr/lib/apache2/modules$ 


So is my Apache serving the libapache2-mod-wsgi module for python2 or just 
for python3 or what?


What else can you people determine could be the issue here?


Here is my wsgi.py:

> """
> WSGI config for first_project_attempt project.
> It exposes the WSGI callable as a module-level variable named 
> ``application``.
> For more information on this file, see
> https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
> """
> import os
> import sys
> from django.core.wsgi import get_wsgi_application
> sys.path.append('/home/tranq/cel2fah/cel2fah')
> # NEW:
> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cel2fah.settings")
> # OLD:
> # os.environ.setdefault("DJANGO_SETTINGS_MODULE", 
> "first_project_attempt.settings")


application = get_wsgi_application()

And my ssl.conf:



>
> 
>ServerAdmin @gmail.com
>ServerName daniel496.agency
>ServerAlias www.daniel496.agency
> #   DocumentRoot /var/www/html/daniel496.agency/public_html
> #   ErrorLog