Re: In need of serious setup help.
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.
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.
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.
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.
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(