mod_wsgi tests ok with the sample "Hello World" script included in the
original post.    I see "Hello World" in the browser with no errors in
httpd.    I'm not well versed in Python, but if it works OK with a simple
test script wouldn't that indicate it is installed and functioning properly
(as a baseline)?

On Tue, May 30, 2017 at 2:45 PM, Logan Anderson <[email protected]>
wrote:

> Are you using mod_wsgi compiled for the wrong version of python or
> something of that nature? mod_wsgi has to be compiled for python 2.7. You
> are referencing #!/usr/bin/python2 but if the other modules are not
> compiled for the same version then you will run into errors such as this.
> Also, not certain if this is an issue for you but generally I use something
> more like #!/usr/bin/env python-2.7 for my shebang.
>
>
> This is what my demo trac.wsgi looks like. I am using virtualenv:
>
> import sys
> sys.stdout = sys.stderr
>
>
>
> import os
> activate_this = os.path.expanduser("/var/www/html/trac/bin/activate_this.
> py")
> execfile(activate_this, dict(__file__=activate_this))
>
>
> os.environ['TRAC_ENV_DIR'] = '/var/www/html/trac'
> os.environ['PYTHON_EGG_CACHE'] = '/var/www/html/trac/logan/eggs'
>
>
> import trac.web.main
> def application(environ, start_response):
>   environ['trac.env_path'] = '/var/www/html/trac/logan'
>   return trac.web.main.dispatch_request(environ, start_response)
>
>
>
>
>
> ------------------------------
> *From: *"Adrya Stembridge" <[email protected]>
> *To: *[email protected]
> *Sent: *Tuesday, May 30, 2017 2:39:14 PM
> *Subject: *Re: [Trac] "ImportError: No module named trac.web.main" on
> fresh install with WSGI
>
> It is properly configured with the actual path.  I did a find/replace of
> actual my path before posting.   Never can be too careful.
>
> On Tue, May 30, 2017 at 2:33 PM, Logan Anderson <[email protected]>
> wrote:
>
>> You have the following:
>>
>>        environ.setdefault('trac.env_path', '/path/to/trac')
>>
>> Does your wsgi file literally say '/path/to/trac' ? Or have you properly
>> configured it for your actual path?
>>
>>
>> ------------------------------
>> *From: *"ams" <[email protected]>
>> *To: *"Trac Users" <[email protected]>
>> *Sent: *Tuesday, May 30, 2017 2:03:25 PM
>> *Subject: *[Trac] "ImportError: No module named trac.web.main" on fresh
>> install with WSGI
>>
>> Recently rebuilt a server with RHEL7.   I had to reinstall trac too, but
>> after installing I am seeing the error "ImportError: No module named
>> trac.web.main" in the Apache HTTPD log files.
>> Here are my install steps:
>>
>> -----------------------------------------
>>
>> ## Install trac
>> pip install trac
>>
>> ## create the wsgi script
>> trac-admin /path/to/trac/ initenv
>> trac-admin /path/to/trac/ deploy /tmp/deploy
>>
>> ## examine script
>> cat /tmp/deploy/cgi-bin/trac.wsgi
>>
>> [root@nbs]# cat /path/to/trac/cgi-bin/trac.wsgi
>> #!/usr/bin/python2
>> # -*- coding: utf-8 -*-
>> #
>> # Copyright (C)2008-2009 Edgewall Software
>> # Copyright (C) 2008 Noah Kantrowitz <[email protected]>
>> # All rights reserved.
>> #
>> # This software is licensed as described in the file COPYING, which
>> # you should have received as part of this distribution. The terms
>> # are also available at http://trac.edgewall.org/wiki/TracLicense.
>> #
>> # This software consists of voluntary contributions made by many
>> # individuals. For the exact contribution history, see the revision
>> # history and logs, available at http://trac.edgewall.org/log/.
>> #
>> # Author: Noah Kantrowitz <[email protected]>
>> import os
>>
>> def application(environ, start_request):
>>    if not 'trac.env_parent_dir' in environ:
>>        environ.setdefault('trac.env_path', '/path/to/trac')
>>    if 'PYTHON_EGG_CACHE' in environ:
>>        os.environ['PYTHON_EGG_CACHE'] = environ['PYTHON_EGG_CACHE']
>>    elif 'trac.env_path' in environ:
>>        os.environ['PYTHON_EGG_CACHE'] = \
>>            os.path.join(environ['trac.env_path'], '.egg-cache')
>>    elif 'trac.env_parent_dir' in environ:
>>        os.environ['PYTHON_EGG_CACHE'] = \
>>            os.path.join(environ['trac.env_parent_dir'], '.egg-cache')
>>    from trac.web.main import dispatch_request
>>    return dispatch_request(environ, start_request)
>>
>>
>> ## Move trac scripts to correct location
>> mv /tmp/deploy/* /path/to/trac/
>>
>> ## Set permissions
>> chown -R apache:apache /path/to/trac/
>> chmod 700 /path/to/trac/cgi-bin/trac.wsgi
>>
>> ## create trac.conf for Apache HTTPD
>> WSGIScriptAlias /trac /path/to/trac/cgi-bin/trac.wsgi
>> <Directory /path/to/trac/>
>>    WSGIApplicationGroup %{GLOBAL}
>>    # For Apache 2.2
>>    <IfModule !mod_authz_core.c>
>>        Order deny,allow
>>        Allow from all
>>    </IfModule>
>>    # For Apache 2.4
>>    <IfModule mod_authz_core.c>
>>        Require all granted
>>    </IfModule>
>> </Directory>
>>
>> <Location "/trac/login">
>>  AuthType Basic
>>  AuthName "Trac"
>>  AuthUserFile /data/www/htpasswd/trac.htpasswd
>>  Require valid-user
>> </Location>
>>
>> ## Restart apache
>> service httpd restart
>>
>> ## browser shows:
>> Internal Server Error
>>
>> ## httpd error log shows:
>> [DATE] [:error] [pid 3286] [client CLIENT_IP:55491] mod_wsgi (pid=3286):
>> Exception occurred processing WSGI script '/path/to/trac/cgi-bin/trac.
>> wsgi'.
>> [DATE] [:error] [pid 3286] [client CLIENT_IP:55491] Traceback (most
>> recent call last):
>> [DATE] [:error] [pid 3286] [client CLIENT_IP:55491]   File
>> "/path/to/trac/cgi-bin/trac.wsgi", line 30, in application
>> [DATE] [:error] [pid 3286] [client CLIENT_IP:55491]     from
>> trac.web.main import dispatch_request
>> [DATE] [:error] [pid 3286] [client CLIENT_IP:55491] ImportError: No
>> module named trac.web.main
>>
>>
>> ## If I point trac.conf WSGI to a test script:
>> def application(environ, start_response):
>>     start_response('200 OK',[('Content-type','text/html')])
>>     return ['<html><body>Hello World!</body></html>']
>>
>> I see the "Hello World" in the browser.  WSGI appears to be working OK.
>>
>> Something is off in the trac installation but I am unsure what exactly.
>> Help is greatly appreciated.
>>
>> ams
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Trac 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/trac-users.
>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Trac Users" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/
>> topic/trac-users/yeheTRZRjys/unsubscribe.
>> To unsubscribe from this group and all its topics, 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/trac-users.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Trac 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/trac-users.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Trac Users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/trac-users/yeheTRZRjys/unsubscribe.
> To unsubscribe from this group and all its topics, 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/trac-users.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "Trac 
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/trac-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to