Re: In need of serious setup help.

2011-05-26 Thread Christian Hammond
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*,
, and Aliases) in an existing  (if you have one) and
I think wrap it all in a . 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  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:
>
> 
> ServerName dev7
>  DocumentRoot "E:/ReviewBoard/htdocs"
>
> # Error handlers
>  ErrorDocument 500 /errordocs/500.html
>
> WSGIPassAuthorization On
>  WSGIScriptAlias "/" "E:/ReviewBoard/htdocs/reviewboard.wsgi"
>
> 
>  Allow from All
> AllowOverride All
> 
>
> # Alias static media requests to filesystem
> Alias /media "E:/ReviewBoard/htdocs/media"
>  Alias /errordocs "E:/ReviewBoard/htdocs/errordocs"
> 
>
> I had to add "Allow from All" to the  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 dependenci

Re: In need of serious setup help.

2011-05-26 Thread Eric Mann
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:


ServerName dev7
DocumentRoot "E:/ReviewBoard/htdocs"

# Error handlers
ErrorDocument 500 /errordocs/500.html

WSGIPassAuthorization On
WSGIScriptAlias "/" "E:/ReviewBoard/htdocs/reviewboard.wsgi"


Allow from All
AllowOverride All


# Alias static media requests to filesystem
Alias /media "E:/ReviewBoard/htdocs/media"
Alias /errordocs "E:/ReviewBoard/htdocs/errordocs"


I had to add "Allow from All" to the  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 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  wrote:
>
>> On Wed, May 25, 2011

Re: In need of serious setup help.

2011-05-25 Thread Christian Hammond
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  wrote:

> On Wed, May 25, 2011 at 1:47 PM, Christian Hammond 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 lo

Re: In need of serious setup help.

2011-05-25 Thread Eric Mann
On Wed, May 25, 2011 at 1:47 PM, Christian Hammond 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 tryin

Re: In need of serious setup help.

2011-05-25 Thread Christian Hammond
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).

However, we don't recommend sqlite. That's only really intended for initial
testing, but won't handle the load of many users.

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.

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.

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  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(