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 <user>@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 <[email protected]>
> 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 
> <[email protected]>


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:


<user>@<host>:/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
> <user>@<host>:/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:


<IfModule mod_ssl.c>
>
> <VirtualHost *:443>
>        ServerAdmin <user>@gmail.com
>        ServerName daniel496.agency
>        ServerAlias www.daniel496.agency
> #       DocumentRoot /var/www/html/daniel496.agency/public_html
> #       ErrorLog ${APACHE_LOG_DIR}/error.log
>        ErrorLog ${APACHE_LOG_DIR}/daniel496/error.log
>        CustomLog ${APACHE_LOG_DIR}/access.log combined
>        # Django project
>        Alias /static /home/tranq/cel2fah/static
>        <Directory /home/tranq/cel2fah/static>
>                Require all granted
>        </Directory>
>        <Directory /home/tranq/cel2fah/cel2fah>
>                <Files wsgi.py>
>                    Require all granted
>                </Files>
>        </Directory>
>        WSGIDaemonProcess cel2fah2 python-home=/home/tranq/cel2fah/venv
>        WSGIProcessGroup cel2fah2
>        WSGIScriptAlias / /home/tranq/cel2fah/cel2fah/wsgi.py
> Include /etc/letsencrypt/options-ssl-apache.conf
> SSLCertificateFile /etc/letsencrypt/live/daniel496.agency/cert.pem
> SSLCertificateKeyFile /etc/letsencrypt/live/daniel496.agency/privkey.pem
> SSLCertificateChainFile /etc/letsencrypt/live/daniel496.agency/chain.pem
> </VirtualHost>
> </IfModule>
>
>
Thanks for your attention.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" 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/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/2f641cca-a9ec-46f0-ac82-6c9db5cb8590%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to