Hey Eric,

So the generated config file looks as if a subdirectory installation wasn't
actually specified in rb-site install. It was supposed to have:

    WSGIScriptAlias "/reviewboard/" "....."

And the /reviewboard/ prefix for all Aliases.

Now, I should say that the configuration file we generate by default assumes
complete control over the subdomain. That's basically your problem,
regarding it taking over. This is intended to be used as a base, since
different people have different configurations when it comes to sharing a
domain. We probably should strive to create a better config in this case.

You're going to need to make alterations, put this content (the WSGI*,
<Directory>, and Aliases) in an existing <VirtualHost> (if you have one) and
I think wrap it all in a <Location>. It should work better with your other
sites on the server.

Looking at the config, it seems we did a better job of this with mod_python.
We'll have to work on a better mod_wsgi config so it's a little bit clearer.

So then we have the DLL load failed error. I suspect I know what this is. I
never saw what version of Review Board you're trying to install, so I'm
assuming 1.5.5. It looks like there was a bug we've since fixed but still
need to release. We were unconditionally assuming mod_python was installed
(which is only somewhat recently no longer true).

For now what I'd suggest is going into your installed
ReviewBoard*.egg/reviewboard/admin/middleware.py file and delete this line:

    from django.core.handlers.modpython import ModPythonRequest

I'll get a release out soon with this fix. For now, though, I think that
will fix that error you're hitting.

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
VMware, Inc. - http://www.vmware.com


On Thu, May 26, 2011 at 7:51 AM, Eric Mann <e...@eam.me> wrote:

> Alright, I've removed the BitNami stack and re-did everything with basic
> installations.
>
> Using:
>
>    - Apache 2.2.19
>    - MySQL 5.5.12
>    - mod_wsgi 3.3
>    - Python 2.7.1
>    - PHP 5.3.6 (to allow access to MySQL through phpMyAdmin)
>
> Still having problems.  Firstly, I tried installing (once again) to a
> subdirectory (http://localhost/reviewboard).  The actual command I used
> once everything was installed was: rb-site install E:\ReviewBoard
>
> Then I answered all of the questions I was asked and things seemed to work.
>  Directories were created, the database was populated, etc.  I included the
> reviewboard conf file in Apache by adding the following line to the end of
> httpd.conf:
>
> Include "E:\ReviewBoard\conf\apache-wsgi.conf"
>
> Restarted Apache, everything seems to be working just fine.  Then the
> massive failures:
>
>    - The root of my server (http://localhost/) is no longer accessible.
>     Visiting that in a browser takes me to the "Review Board is taking a nap"
>    page.
>    - PhpMyAdmin is no longer accessible.  Visiting
>    http://localhost/phpmyadmin in a browser takes me to the "Review Board
>    is taking a nap" page.
>    - Review Board won't load.  Visiting http://localhost/reviewboard in a
>    browser takes me to the "Review Board is taking a nap" page.
>
> Here are the contents of apache-wsgi.conf from Review Board:
>
> <VirtualHost *:80>
> ServerName dev7
>  DocumentRoot "E:/ReviewBoard/htdocs"
>
> # Error handlers
>  ErrorDocument 500 /errordocs/500.html
>
> WSGIPassAuthorization On
>  WSGIScriptAlias "/" "E:/ReviewBoard/htdocs/reviewboard.wsgi"
>
> <Directory "E:/ReviewBoard/htdocs">
>  Allow from All
> AllowOverride All
> </Directory>
>
> # Alias static media requests to filesystem
> Alias /media "E:/ReviewBoard/htdocs/media"
>  Alias /errordocs "E:/ReviewBoard/htdocs/errordocs"
> </VirtualHost>
>
> I had to add "Allow from All" to the <Directory> directive otherwise I was
> given 403 Forbidden responses to every request.
>
> Here are the contents of Apache's error log:
>
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212] mod_wsgi (pid=4616):
> Exception occurred processing WSGI script
> 'E:/ReviewBoard/htdocs/reviewboard.wsgi'.
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212] Traceback (most
> recent call last):
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212]   File
> "E:\\Python27\\lib\\site-packages\\django-1.3-py2.7.egg\\django\\core\\handlers\\wsgi.py",
> line 250, in __call__
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212]
> self.load_middleware()
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212]   File
> "E:\\Python27\\lib\\site-packages\\django-1.3-py2.7.egg\\django\\core\\handlers\\base.py",
> line 47, in load_middleware
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212]     raise
> exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' %
> (mw_module, e))
> [Thu May 26 07:38:43 2011] [error] [client 10.0.0.212]
> ImproperlyConfigured: Error importing middleware
> reviewboard.admin.middleware: "DLL load failed: The specified module could
> not be found."
>
> Also, regarding Python 2.5 versus 2.7.  It wasn't a requirement stated in
> your installation instructions, but most of the dependencies on which Review
> Board runs haven't been compiled for Python 2.7 for Windows.  mod_python in
> particular, which is recommended everywhere, hasn't been "released" for
> anything about 2.5 and every set of build-it-yourself-from-source
> instructions I could find required either Linux or Unix to actually make the
> build - yes, even to build it for Windows.  Perhaps linking directly to
> sources that provide up-to-date versions of these assemblies, binaries, and
> modules would help prevent any confusion.
>
> On Wed, May 25, 2011 at 2:31 PM, Christian Hammond <chip...@chipx86.com>wrote:
>
>> Okay, it was worth asking about Linux. Given the Windows requirements,
>> though, we'll have to figure out another plan.
>>
>> So this comes down to the Python path. Can you determine where the BitNami
>> stack's Python site-packages directory is, and also figure out where the
>> ReviewBoard*.egg directory is? If they're not in the same place, then that's
>> the cause of the error you're seeing, so that'll be the first thing to
>> check. If that's indeed the problem, we should get a lot further pretty
>> quickly once that's fixed.
>>
>> Python 2.7 is certainly supported. Were there instructions somewhere
>> saying you needed 2.5?
>>
>> You're right in that not all Python-based apps have this level of
>> difficulty. The difference with us is that we depend on some modules that
>> use native code by way of DLLs (repository bindings, SSH wrappers, etc.),
>> and there are some really frustrating compatibility issues based on which
>> compiler different things are using. Most Python apps out there use pure
>> Python modules, and that's far easier.
>>
>> Now you haven't hit those issues yet, but they may be a problem down the
>> road, depending. We'll cross that bridge when we come to it.
>>
>>
>> Christian
>>
>> --
>> Christian Hammond - chip...@chipx86.com
>> Review Board - http://www.reviewboard.org
>> VMware, Inc. - http://www.vmware.com
>>
>>
>> On Wed, May 25, 2011 at 2:17 PM, Eric Mann <e...@eam.me> wrote:
>>
>>> On Wed, May 25, 2011 at 1:47 PM, Christian Hammond 
>>> <chip...@chipx86.com>wrote:
>>>
>>>> Hi Eric,
>>>>
>>>> Sorry you're hitting problems. Let's see if we can get through them.
>>>>
>>>> First off, I'm curious what problems you hit with Apache. We generally
>>>> recommend Apache and mod_wsgi, though mod_python tends to work well too
>>>> (provided it's available -- Apache deprecated it).
>>>>
>>>
>>> My first attempt was to install vanilla Apache and MySql.  MySql
>>> installed just fine, as did Apache.  But trying to reconfigure Apache to do
>>> anything else was where the problems came up.  I have Python 2.7 on my
>>> system (for other tools I'm already use and scripting with, so downgrading
>>> to 2.5 is not an option).  I couldn't get the build tools to work to
>>> manually recompile mod_python for 2.7 (due to the various make/cmake/gnumake
>>> systems I have installed for working with .Net and Delphi), so I tried
>>> looking for precompiled binaries instead.
>>>
>>> Every precompiled system I found failed.  mod_python, FastCGI, FCGI, and
>>> even mod_wsgi broke Apache when I tried to enable them in http.conf.  And by
>>> broke, I mean triggered a "generic error with code 1" when I tried to start
>>> the httpd service.  I went with the BitNami stack for one reason: the only
>>> reference I could find to successfully installing Review Board under Windows
>>> referenced it.  Everyone else listed pages of complaints and problems and
>>> said they either went to a paid system like Kiln or just put everything on a
>>> Linux box instead.
>>>
>>>
>>>> However, we don't recommend sqlite. That's only really intended for
>>>> initial testing, but won't handle the load of many users.
>>>>
>>>
>>> That's fine, I wasn't jazzed about sqlite at all.  I prefer MySQL, but
>>> keep in mind that the python-mysql bindings available through easy_install
>>> are broken and you have to either build them yourself or find a precompiled
>>> binary for Windows somewhere else.  I was trying to get things up and
>>> running quickly, and it was faster to just use the built-in tool than search
>>> for a pre-built system.
>>>
>>>
>>>> I don't know anything about the BitNami stack. We don't officially
>>>> support it, but can still try to guide you through. The thing with that is,
>>>> you'll end up wanting to upgrade, and that may require upgrading Django, 
>>>> and
>>>> so you'd have to figure out how that all works with the stack, and how that
>>>> also works with the way Review Board is upgraded.
>>>>
>>>> The fact that you're doing all this on Windows is probably the core
>>>> problem. A lot of the dependencies we use are absolutely a pain on Windows,
>>>> due to a variety of reasons. If you can at all try this on Linux (Ubuntu
>>>> specifically, perhaps in a VM) life will be better for you.
>>>>
>>>
>>> Unfortunately, that's not an option.  We do Windows development on
>>> Windows machines here.  But our source control is in Mercurial and no one
>>> comes recommended more highly than Review Board, so I thought I'd give it a
>>> shot.  But really, I can't afford to run a VM on my workstation just to run
>>> a code review tool.  If that's what I'll have to end up doing, we'll likely
>>> have to use some other tool.
>>>
>>>
>>>> Now the problem you're hitting is due to the Python path not factoring
>>>> in your Review Board install. This is probably a side effect of using the
>>>> BitNami stack. I imagine it has its own Python interpreter and modules,
>>>> which means it may have a different Python path from what you're using to
>>>> install Review Board. The result would be Review Board installed in one
>>>> place, and your stack looking for modules in another place.
>>>>
>>>> Without knowing how their stack works, it's hard to give specific
>>>> instructions. You'd need to scrap your local Python and use everything from
>>>> their Python. That means their easy_install, installing Python modules into
>>>> their setup, etc. Everything needs to be in the same place, with the same
>>>> Python version, in order to work. It also may mean you'll hit issues with
>>>> some Python modules using binary components, as everything must be compiled
>>>> with the same compiler on Windows for it to work. These aren't Review Board
>>>> problems, but rather the sad reality of Python on Windows.
>>>>
>>>> Again, with Linux, these problems basically go away. You'll have one
>>>> Python you can rely on, a package manager to give you most of what you 
>>>> need,
>>>> and then you'll be good to go. There are a variety of VM solutions, if you
>>>> want to still run on top of Windows. Look at VMware Server, for instance.
>>>> You can find some pre-made Ubuntu server VMs that you can stick Review 
>>>> Board
>>>> in. The install procedure will be much, much easier.
>>>>
>>>> So that's my recommendation. If you have to stick with Windows, you may
>>>> need to scrap the stack and go back to a system-level Python and Apache and
>>>> mod_wsgi, and then we can work on hopefully fixing whatever errors you hit.
>>>>
>>>
>>> Like I said, I *started* with a system-level Python and Apache and had
>>> even more problems with that.  As in I never even got to the "Review Board
>>> is taking a nap" maintenance screen.  I can give that another whirl, but
>>> really ... I've already spent far too many manhours trying to get this
>>> running already.  We can chalk it up to "the sad reality of Python on
>>> Windows" but to be perfectly honest, I have not had problems on this level
>>> with any other python-based system.  I followed the "Installing on Windows"
>>> directions to-the-letter the first time, but didn't get anywhere.  That was
>>> when I started Googling for other solutions and alternatives.
>>>  Unfortunately, they haven't seemed to do much better.
>>>
>>> I really do want to give Review Board a try, but it has to be able to run
>>> on Windows, and I have to use Python 2.7.  Those are really the only two
>>> requirements I have.
>>>
>>>
>>>>  Christian
>>>>
>>>> --
>>>> Christian Hammond - chip...@chipx86.com
>>>> Review Board - http://www.reviewboard.org
>>>> VMware, Inc. - http://www.vmware.com
>>>>
>>>>
>>>> On Wed, May 25, 2011 at 11:33 AM, Eric Mann <e...@eam.me> wrote:
>>>>
>>>>> OK, I'll try to outline everything I've done so far ... but I'm about
>>>>> ready to give up.
>>>>>
>>>>> First I tried to install ReviewBoard using just a straight Apache
>>>>> installation and SQLLite.  Unfortunately, Apache in this setup would
>>>>> not work with any of the CGI variants that I needed to use.  FastCGI
>>>>> failed, FCGI failed, mod_python failed ... so I scrapped that.
>>>>>
>>>>> Second, I tried using LightTPD, but I wasn't able to import any of the
>>>>> configuration files needed by ReviewBoard.  Making any changes to
>>>>> LightTPD's conf files broke the system and left me with a lot of
>>>>> system errors ... so I scrapped that.
>>>>>
>>>>> Finally, I found a tutorial suggesting using DjangoStack from
>>>>> BitNami.  I downloaded and installed that, and since it came with
>>>>> MySQL I set that up as well.  But I still couldn't get any of the
>>>>> FastCGI/mod_python stuff to work, so I resorted to wsgi instead.
>>>>>
>>>>> My first attempt was to install in a subfolder.  Basically
>>>>> http://localhost/reviewboard.  But that hosed anything in the root
>>>>> directory (http://localhost/phpinfo.php would no longer work), though
>>>>> it still allowed me to use other sub-folder apps (i.e. phpMyAdmin).
>>>>> But I couldn't get past the "taking a nap" page, so I assumed I'd done
>>>>> something wrong, uninstalled everything, and tried to install in the
>>>>> root instead.
>>>>>
>>>>> Now, I'm back to the "Review Board is taking a nap" message, but
>>>>> everything's hosed.  Even phpMyAdmin dumps back to Review Board, which
>>>>> makes it utterly useless as well.  Not helpful.
>>>>>
>>>>> Here's what I'm getting from Apache's error logs:
>>>>>
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212] mod_wsgi
>>>>> (pid=2160): Exception occurred processing WSGI script 'E:/Program
>>>>> Files/BitNami DjangoStack/apps/reviewboard/htdocs/reviewboard.wsgi'.
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212] Traceback (most
>>>>> recent call last):
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\core\
>>>>> \handlers\\wsgi.py", line 250, in __call__
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]
>>>>> self.load_middleware()
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\core\
>>>>> \handlers\\base.py", line 39, in load_middleware
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]     for
>>>>> middleware_path in settings.MIDDLEWARE_CLASSES:
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\utils\
>>>>> \functional.py", line 276, in __getattr__
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]
>>>>> self._setup()
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\conf\
>>>>> \__init__.py", line 42, in _setup
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]
>>>>> self._wrapped = Settings(settings_module)
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\conf\
>>>>> \__init__.py", line 89, in __init__
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]     raise
>>>>> ImportError("Could not import settings '%s' (Is it on sys.path?): %s"
>>>>> % (self.SETTINGS_MODULE, e))
>>>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212] ImportError:
>>>>> Could not import settings 'reviewboard.settings' (Is it on sys.path?):
>>>>> No module named reviewboard.settings
>>>>>
>>>>> Not sure where to go from there.
>>>>>
>>>>> Here's more info about my system for those of you who might know what
>>>>> I can do:
>>>>> - Windows XP
>>>>> - Python 2.7
>>>>> - BitNami DjangoStack 1.3-0
>>>>>
>>>>> And from my apache-wsgi.conf file:
>>>>> <VirtualHost *:80>
>>>>>        ServerName dev7.numedics.local
>>>>>        DocumentRoot "E:/Program Files/BitNami
>>>>> DjangoStack/apps/reviewboard/
>>>>> htdocs"
>>>>>
>>>>>        # Error handlers
>>>>>        ErrorDocument 500 /errordocs/500.html
>>>>>
>>>>>        WSGIPassAuthorization On
>>>>>        WSGIScriptAlias "/" "E:/Program Files/BitNami DjangoStack/apps/
>>>>> reviewboard/htdocs/reviewboard.wsgi"
>>>>>
>>>>>        <Directory "E:/Program Files/BitNami
>>>>> DjangoStack/apps/reviewboard/
>>>>> htdocs">
>>>>>                Allow from All
>>>>>                AllowOverride All
>>>>>        </Directory>
>>>>>
>>>>>        # Alias static media requests to filesystem
>>>>>        Alias /media "E:/Program Files/BitNami
>>>>> DjangoStack/apps/reviewboard/
>>>>> htdocs/media"
>>>>>        Alias /errordocs "E:/Program Files/BitNami DjangoStack/apps/
>>>>> reviewboard/htdocs/errordocs"
>>>>> </VirtualHost>
>>>>>
>>>>> Basically, I need to get this up and running on my system, preferably
>>>>> in parallel with phpMyAdmin so I can manage other databases as well.
>>>>> Other developers on my local network will be using this as well so we
>>>>> can collaborate on projects ... but right now we're at an impasse.
>>>>> It's either keep hitting my head against the wall, or go back to doing
>>>>> code reviews by watching over one another's shoulders.
>>>>>
>>>>> I typically don't ask mailing lists for help from out of the blue, but
>>>>> I've been trying to figure this out since Sunday, and 4 days
>>>>> struggling on my own is all I'm willing to invest.  Is this
>>>>> salvageable?  Or should I move on to something else?
>>>>>
>>>>> --
>>>>> Want to help the Review Board project? Donate today at
>>>>> http://www.reviewboard.org/donate/
>>>>> Happy user? Let us know at http://www.reviewboard.org/users/
>>>>> -~----------~----~----~----~------~----~------~--~---
>>>>> To unsubscribe from this group, send email to
>>>>> reviewboard+unsubscr...@googlegroups.com
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/reviewboard?hl=en
>>>>
>>>>
>>>>  --
>>>> Want to help the Review Board project? Donate today at
>>>> http://www.reviewboard.org/donate/
>>>> Happy user? Let us know at http://www.reviewboard.org/users/
>>>> -~----------~----~----~----~------~----~------~--~---
>>>> To unsubscribe from this group, send email to
>>>> reviewboard+unsubscr...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/reviewboard?hl=en
>>>>
>>>
>>>  --
>>> Want to help the Review Board project? Donate today at
>>> http://www.reviewboard.org/donate/
>>> Happy user? Let us know at http://www.reviewboard.org/users/
>>> -~----------~----~----~----~------~----~------~--~---
>>> To unsubscribe from this group, send email to
>>> reviewboard+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/reviewboard?hl=en
>>>
>>
>>  --
>> Want to help the Review Board project? Donate today at
>> http://www.reviewboard.org/donate/
>> Happy user? Let us know at http://www.reviewboard.org/users/
>> -~----------~----~----~----~------~----~------~--~---
>> To unsubscribe from this group, send email to
>> reviewboard+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/reviewboard?hl=en
>>
>
>  --
> Want to help the Review Board project? Donate today at
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/reviewboard?hl=en
>

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en

Reply via email to