The error shows the problem as likely being the absence of 'git' in your Docker 
image.

Graham

> On 3 Nov 2017, at 9:46 am, Alister Fenix <[email protected]> wrote:
> 
> Hello Graham, et al. 
> First, thank you for being an outstanding contributor to the community.  This 
> is my first attempt to set up a VM for a pretty old legacy project, and I am 
> very new to devops in general, so thank you in advance for your patience! I'm 
> working to move an old Django/Apache project off of Vagrant into Docker 
> containers. I was able to get it working when using Python's built-in 
> runserver, but I've been stuck for far too long now trying to get it to work 
> with Apache.  From what I can tell from the docs, etc it seems that my 
> mod-wsgi version is struggling with Django 1.7 (I'm making a case with 
> management to upgrade, but so far it's not in the budget).  I also think that 
> I'm incorrectly setting my paths, but my multiple attempts to correct this 
> have come up empty.  Needless to say, there's where I am now. 
> 
> 
> I'm running docker on a Mac os Sierra Version 10.12.6
> 
> Container versions: 
> Django: 1.7.0
> Apache: 2.4.7
> Python: 2.7.6
> mod-wsgi: 3.4
> Ubuntu OS: 14.04
> 
> 
> **** Dockerfile ****** 
> FROM ubuntu:14.04
> 
> RUN apt-get update 
> RUN apt-get upgrade -y 
> RUN apt-get install -y apt-utils apache2 apache2-utils 
> RUN apt-get install -y \
>       pkg-config \
>       python-pip \
>       python2.7-dev \
>       build-essential \
>       python2.7 \
>       libmysqlclient-dev \
>       && apt-get autoremove \
>         && apt-get clean
> 
> WORKDIR /var/www/configurator
> ADD requirements /var/www/configurator/requirements
> RUN pip install --upgrade pip
> RUN pip install -r requirements/dev.txt
> 
> RUN pip install django
> 
> ENV PYTHONPATH $PYTHONPATH:/var/www/configurator
> ENV DJANGO_SETTINGS_MODULE scs-configurator.settings.dev
> 
> ADD ./apache.conf /etc/apache2/sites-available/000-default.conf
> ADD ./apache.conf /etc/apache2/sites-enabled/000-default.conf
> 
> EXPOSE 80 3500
> 
> CMD ["apache2ctl", "-D", "FOREGROUND"]
> -------------------------------------------------------------------------
> 
> 
> 
> ***** docker-compose.yml *******
> version: '2'
> services:
>   mysql:
>     image: mysql
>     volumes:
>       - "./.data/mysql:/var/lib/mysql"
>     ports:
>       - "3306:3306"
>     environment:
>       MYSQL_ROOT_PASSWORD: root
>       MYSQL_DATABASE: configuratordb
>     restart: always
>   django-apache2:
>     build: .
>     container_name: django-apache2
>     ports:
>       - '8005:80'
>     volumes: 
>       - ".:/var/www/configurator"
>     depends_on:
>       - mysql
>     restart: always
> ---------------------------------------------------------------------------
> 
> 
> 
> ***** apache.conf  *******
> WSGIPythonPath /var/www/configurator
>  
>  <VirtualHost *:80>
>          ServerName configurator
>          DocumentRoot /var/www/configurator/dist
>          
>          <Directory /var/www/configurator>
>             Options -Indexes +FollowSymLinks
>             AllowOverride all
>             Require all granted
>          </Directory>
> 
>            ServerAdmin webmaster@localhost
>          DocumentRoot /var/www/configurator 
>          
>          Alias /static /var/www/configurator/dist
>          
>          SetEnv APPLICATION_ENV dev
>  
>          WSGIDaemonProcess scs-configurator 
> python-path=/var/www/configurator/:/usr/local/lib/python2.7/site-packages
>          WSGIProcessGroup scs-configurator
>          WSGIScriptAlias / /var/www/configurator/apache/backend-dev.wsgi
>  </VirtualHost>
> ------------------------------------------------------------------------------
> 
> 
> *****   backend-dev.wsgi  *******
> import os, sys
> from django.core.wsgi import get_wsgi_application
> import backend.monitor
> 
> sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '../../' )
> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.dev")
> 
> print ('sys.version: ')
> print (sys.version)
> print ('sys.path: ') 
> print (sys.path)
> 
> os.environ['APPLICATION_ENV'] = 'dev'
> os.environ['PGCONNECT_TIMEOUT'] = '20'
> 
> _application = get_wsgi_application()
> 
> def application(wsgi_environ, start_response):
>     return _application(wsgi_environ, start_response)
> 
> backend.monitor.start(interval=1.0)
> ------------------------------------------------------------------------------
> 
> This set up gives me a 500 Internal Server error after the container is built 
> and up.  When I investigate the containers Apache error.log file I get the 
> following output: 
> 
> root@95937636bd2f:/var/www/configurator# cat /var/log/apache2/error.log
> AH00558: apache2: Could not reliably determine the server's fully qualified 
> domain name, using 172.25.0.3. Set the 'ServerName' directive globally to 
> suppress this message
> [Thu Nov 02 22:37:12.934167 2017] [mpm_event:notice] [pid 6:tid 
> 140568651089792] AH00489: Apache/2.4.7 (Ubuntu) mod_wsgi/3.4 Python/2.7.6 
> configured -- resuming normal operations
> [Thu Nov 02 22:37:12.934299 2017] [core:notice] [pid 6:tid 140568651089792] 
> AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
> [Thu Nov 02 22:37:31.647113 2017] [:error] [pid 7:tid 140568547739392] 
> sys.version: 
> [Thu Nov 02 22:37:31.647242 2017] [:error] [pid 7:tid 140568547739392] 2.7.6 
> (default, Oct 26 2016, 20:33:43) 
> [Thu Nov 02 22:37:31.647258 2017] [:error] [pid 7:tid 140568547739392] [GCC 
> 4.8.4]
> [Thu Nov 02 22:37:31.647270 2017] [:error] [pid 7:tid 140568547739392] 
> sys.path: 
> [Thu Nov 02 22:37:31.647296 2017] [:error] [pid 7:tid 140568547739392] 
> ['/var/www/configurator', '/usr/local/lib/python2.7/site-packages', 
> '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', 
> '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', 
> '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', 
> '/usr/lib/python2.7/dist-packages', '/var/www/configurator/apache../../']
> [Thu Nov 02 22:37:31.727120 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896] mod_wsgi (pid=7): Target WSGI script 
> '/var/www/configurator/apache/backend-dev.wsgi' cannot be loaded as Python 
> module.
> [Thu Nov 02 22:37:31.727172 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896] mod_wsgi (pid=7): Exception occurred processing 
> WSGI script '/var/www/configurator/apache/backend-dev.wsgi'.
> [Thu Nov 02 22:37:31.727286 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896] Traceback (most recent call last):
> [Thu Nov 02 22:37:31.727324 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File 
> "/var/www/configurator/apache/backend-dev.wsgi", line 16, in <module>
> [Thu Nov 02 22:37:31.730468 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     _application = get_wsgi_application()
> [Thu Nov 02 22:37:31.730515 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File 
> "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 14, in 
> get_wsgi_application
> [Thu Nov 02 22:37:31.730595 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     django.setup()
> [Thu Nov 02 22:37:31.730612 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File 
> "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 20, in setup
> [Thu Nov 02 22:37:31.730654 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     configure_logging(settings.LOGGING_CONFIG, 
> settings.LOGGING)
> [Thu Nov 02 22:37:31.730669 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File 
> "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 46, in 
> __getattr__
> [Thu Nov 02 22:37:31.730747 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     self._setup(name)
> [Thu Nov 02 22:37:31.730762 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File 
> "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in 
> _setup
> [Thu Nov 02 22:37:31.730783 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     self._wrapped = Settings(settings_module)
> [Thu Nov 02 22:37:31.730795 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File 
> "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 94, in 
> __init__
> [Thu Nov 02 22:37:31.730810 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     mod = 
> importlib.import_module(self.SETTINGS_MODULE)
> [Thu Nov 02 22:37:31.730823 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File "/usr/lib/python2.7/importlib/__init__.py", 
> line 37, in import_module
> [Thu Nov 02 22:37:31.731533 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     __import__(name)
> [Thu Nov 02 22:37:31.731554 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File "/var/www/configurator/settings/dev.py", 
> line 46, in <module>
> [Thu Nov 02 22:37:31.735029 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     GIT_REVISION = subprocess.check_output(['git', 
> 'rev-parse', '--short', 'HEAD'], cwd=DJANGO_ROOT).rstrip()
> [Thu Nov 02 22:37:31.735087 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File "/usr/lib/python2.7/subprocess.py", line 
> 566, in check_output
> [Thu Nov 02 22:37:31.735638 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     process = Popen(stdout=PIPE, *popenargs, 
> **kwargs)
> [Thu Nov 02 22:37:31.735673 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File "/usr/lib/python2.7/subprocess.py", line 
> 710, in __init__
> [Thu Nov 02 22:37:31.735710 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     errread, errwrite)
> [Thu Nov 02 22:37:31.735722 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]   File "/usr/lib/python2.7/subprocess.py", line 
> 1327, in _execute_child
> [Thu Nov 02 22:37:31.735739 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896]     raise child_exception
> [Thu Nov 02 22:37:31.735764 2017] [:error] [pid 7:tid 140568547739392] 
> [remote 172.25.0.1:30896] OSError: [Errno 2] No such file or directory
> 
> 
> Any and all suggestions for how to move forward at this time are most welcome!
> 
> 
> 
> -- 
> 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