Forum: Ruby on Rails Production environment for Rails on Win32, anyone interested

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-29 23:15
(Received via mailing list)
Hi all, as part of adopting Rails in my company I had to go through
the hassle of setting up a Rails production environment on Win32
system since we mostly use MS SQL as our database back end and also
because we mostly dealing with customers who become green-blue-purple
as soon as you mention Unix/Linux and run for the door.
I also need to mention that most of our web applications are internal
and do not need to handle a heavy load (50 concurrent users at most)
and dont risk to get /.ed

I've naturally started with the instant Rails package but founded too
bloated on some aspect and not complete on some other, and since I
wanted a PROD environment setup and not just a DEV machine I wanted to
control the whole chain of tools from A to Z and just install what we
needed to get the job done, and also wanted to make sure I was in
control of the updating process.

Rather than downloading bits and pieces from all over the web in
binary forms to get a complete setup, I've tackled the task to build
everything from scratch on Windows.

This is what I've build from the latest sources:

Apache (2.2) with mod_ssl (0.9.8a), mod_zlib (1.2.3), mod_fcgi
(2.4.3snap-0404142202) and mod_scgi (1.10)
Ruby (1.8.4) with mysql.so (2.7), ADO.rb, fcgi.so (0.8.6), scgi
(0.4.3), zlib.so, iconv.so and openssl.so

I was able with all this to get Rails 1.0 (installed using RubyGems)
running with Apache and FastCGI, the whole lot seemed very stable and
I was able to hammer it using JMeter with up to 250 concurrent users
without reaching a bottleneck (i.e. response time grows linearly with
the number of users, 255 is the maximum of concurrent connections for
Apache)

Here's some test data on a Windows 2003 server (3.2Ghz single Xeon
CPU, 1GB of Ram), average of 5000 requests per test. Test request is a
default scaffolding of a table with 100 values in it, paging set to 10
entries per page.

Users=Throughput (Request/Sec)
5=32
10=31
20=28
50=27
100=26
150=25
200=25
250=25

Naturally the more users, the longer it takes to get the request (0.16
seconds with 5 users up to 10 seconds with 250 users). The values
above are calculated as follow:
( 1 second / avg_request_time ) * nb_users

FYI: I've tried all different setup with FCGI, SCGI, Mongrel and
WebRick and FCGI turned out to the better but very close to SCGI and
Mongrel. I also found it easier to manage since it starts with Apache,
no need to add services.

Since this took me quite a while to get there, especially with some
extension like FCGI and MySQL which weren't meant to be build on
Windows that easily, I was wondering if some people out there would be
interested in a binary release of all this so they can setup a
production environment on Win32 using all the latest tools available.

I've just tested this with Rails 1.1 and it seems to works fine too, I
need to do some more test but so far so good.

If I get enough people attention, I will put all this in sourceforge
so that others can benefits from my time...

PS: This isn't a replacement for Instant Rails, it was just a way for
me to control the whole build process from sratch and only build what
I needed to do for the job. The idea was to be able to setup a Windows
Production machine in a minimal effort by just unzipping a couple of
files and configuring one or two config files.

Gael
A777f1a2049d78a12ead38efb8f75f97?d=identicon&s=25 Tanner Burson (Guest)
on 2006-03-30 00:18
(Received via mailing list)
On 3/29/06, Gael Pourriel <gael.pourriel@gmail.com> wrote:
>
>
> I've naturally started with the instant Rails package but founded too
> bloated on some aspect and not complete on some other, and since I
> wanted a PROD environment setup and not just a DEV machine I wanted to
> control the whole chain of tools from A to Z and just install what we
> needed to get the job done, and also wanted to make sure I was in
> control of the updating process.


I'd be interested in hearing what you found bloated, or missing from
InstantRails.  The team (including myself) is currently working on a
major
rewrite for the 2.0 release, and we are definitely looking for comments
from
users.  Your situation is something that definitely fits an intended use
of
InstantRails, so I look forward to hearing what problems you found.  You
can
contact me off-list if you prefer.
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-30 08:44
(Received via mailing list)
Hi Tanner, my post wasn't meant to tell anything bad about Instant
Rails, just to say that it didn't fit my need.

When I meant "too bloated", it's because it ships with loads of stuff
which I dont need when I want to setup a Rails prod machine, MySQL,
PHP, PHPMyAdmin, Typo, TclTk Extension, Fx Ruby etc...

I aslo found it incomplete because I wanted to use Apache 2.2 with
FastCGI and Instant Rails ships with Apache 1.3 and SCGI, I also
needed the MySQL extension in binary form, other than that it's pretty
complete.

I think Instant Rails is a great package for someone who wants to give
Rails a try and setup a quick environment and you've done a great job
to do so, but when you're moving in the production environment you
want to start with the minimum and add on top of it to match your
requirements rather than install everything and then delete (or leave)
what you dont need. That's how I see it anyway...

Maybe you should split your packages into several smaller packages so
that everyone can choose what they need, and keep the full packages
for people who dont really know what they need, I'd suggest the
following breakdown:

-Apache + Ruby + RubyGems
-Rails + Rails Apps + SCGI/FCGI
-Mysql + Ruby SQL Drivers

I would definitly remove from Instant Rails stuff like PHP and
PHPMyAdmin and possibly the Tcl/TK extensions...

You can ship the very nice MySQL front end developed by MySQL AB
instead, this will replace PhpMyAdmin.

Gael
F16def8015a7562a285c65a14be48540?d=identicon&s=25 Mathieu Chappuis (Guest)
on 2006-03-30 09:20
(Received via mailing list)
Hi Gael,

> I was wondering if some people out there would
> be
> interested in a binary release of all this so they can setup a
> production environment on Win32 using all the latest tools available.
>
> If I get enough people attention, I will put all this in sourceforge
> so that others can benefits from my time...

That's a GRAND welcome idea for me Gael. Thanks for this big building
job.

I also got "green-blue-purple" people but at the Apache evocation.

I've put some of working stuff under IIS (w2003). Performance is not
so bad, but I got so strange Ror behavior compared with Webrick or
Apache, I will become "red" and urge "green-blue-purple" to fall back
to Apache.

Also a good way to have a recent Apache+SSL.

Easy to install stuff is welcome as is, and also for writing install
guide for such sysadmins.

Gretz,
F0379e983ab499fac4d972494beab5c0?d=identicon&s=25 Brez! !! (brez)
on 2006-03-30 09:27
I'd like to see more.. [one vote anyway]
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-30 10:24
(Received via mailing list)
On 30/03/06, Mathieu Chappuis <mathieu.chappuis.lists@gmail.com> wrote:
> That's a GRAND welcome idea for me Gael. Thanks for this big building job.

I've requested a project in Sourceforge so once this is active I'll
dump my binary on it.

> I also got "green-blue-purple" people but at the Apache evocation.
> I've put some of working stuff under IIS (w2003). Performance is not
> so bad, but I got so strange Ror behavior compared with Webrick or
> Apache, I will become "red" and urge "green-blue-purple" to fall back
> to Apache.

I'm not a big fan on IIS so I wont be heading into that direction,
Apache 2.2 is really stable on Windows now so I dont see why I should
throw myself into IIS, I dont get blue-green faces when I mention
Apache so long as it run on Windows, it's having a Unix server lying
around in their network that scare them away...

Next step for me is to get Capistrano and SVN running on Windows and
try to integrate them the same way.

Gael
91308e9bc88cb069fd1bcf88e910d042?d=identicon&s=25 Nick Snels (nicksnels)
on 2006-03-30 11:40
Hi Gael,

I tried to compile some stuff one Windows myself without much luck. I'm
interested in hearing which tools you had to download and install to be
able to compile all this. You probably also compiled Ruby yourself,
where did you find the source of the Ruby version you compiled?

Kind regards,

Nick
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-30 14:41
(Received via mailing list)
Hi Nick, I'll be posting this on the project page as soon as I get the
approval from the SF team.

Gael
2b891e820c238ded365d035771603f21?d=identicon&s=25 Bill Walton (Guest)
on 2006-03-30 16:28
(Received via mailing list)
Hi Nick,

I'm not Gael, but I thought this might help you both.  Here's a link to
a
recent thread on comp.lang.ruby titled "How to compile Ruby on Windows".

http://groups.google.com/group/comp.lang.ruby/brow...
6bba9d1

HTH,
Bill


----- Original Message -----
From: "Nick Snels" <nick.snels@gmail.com>
To: <rails@lists.rubyonrails.org>
Sent: 2006-03-30 3:40 AM
Subject: [Rails] Re: Production environment for Rails on Win32, anyone
intere
6ef90e6701684e1e1db2a07f25f781ff?d=identicon&s=25 Lin Jiaqi (Guest)
on 2006-03-30 16:35
(Received via mailing list)
Are you talking about something similar to Instant Rails. I wouldn't
mind
helping out.

Regards
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-30 17:06
(Received via mailing list)
On 30/03/06, Lin Jiaqi <linjiaqi@mac.com> wrote:
> Are you talking about something similar to Instant Rails. I wouldn't mind
> helping out.

Yes and No, read my previous posts to see the difference...
As soon as I have the SF approval I will inform you if you want to help.

Gael
2b891e820c238ded365d035771603f21?d=identicon&s=25 Bill Walton (Guest)
on 2006-03-30 18:19
(Received via mailing list)
Hi Gael,

Wow.  Totally excellent!!  And yes, I think your proposal is not only
welcome but important.  Any idea when?  I've personally got a need
coming up
in about a month where I would absolutely use your tool if it was
available.
Please keep us informed.

Best regards,
Bill

Gael Pourriel wrote:
>
<snip>

Since this took me quite a while to get there, especially with some
extension like FCGI and MySQL which weren't meant to be build on
Windows that easily, I was wondering if some people out there would be
interested in a binary release of all this so they can setup a
production environment on Win32 using all the latest tools available.
2c04f5de2d897d94743c526697dc479f?d=identicon&s=25 Marius Popescu (mapopescu)
on 2006-03-30 19:01
Gael Pourriel wrote:
> On 30/03/06, Mathieu Chappuis <mathieu.chappuis.lists@gmail.com> wrote:
>> That's a GRAND welcome idea for me Gael. Thanks for this big building job.
>
> I've requested a project in Sourceforge so once this is active I'll
> dump my binary on it.
>


You definitely have my vote too.

Marius
Ddc850a63a423c3ff963bdf3a097652f?d=identicon&s=25 Larry Kelly (ldk2005)
on 2006-03-31 01:48
(Received via mailing list)
IF it would run with reasonable speed on 2003 server. You've got my
vote.
-Larry

On 3/30/06, Marius Popescu <mapopescu@gmail.com> wrote:
>
>
--
Best Regards,
-Larry
"Work, work, work...there is no satisfactory alternative."
            --- E.Taft Benson
5d15c6821f3c3054c04b85471824ba7c?d=identicon&s=25 Kevin Olbrich (Guest)
on 2006-03-31 02:03
(Received via mailing list)
Any particular reason not to put this on Rubyforge instead?


_Kevin
Eea7ad39737b0dbf3de38874e0a6c7d8?d=identicon&s=25 Justin Forder (Guest)
on 2006-03-31 05:51
(Received via mailing list)
Gael Pourriel wrote:

[...]
> without reaching a bottleneck (i.e. response time grows linearly with
> 10=31
> ( 1 second / avg_request_time ) * nb_users
>
> FYI: I've tried all different setup with FCGI, SCGI, Mongrel and
> WebRick and FCGI turned out to the better but very close to SCGI and
> Mongrel. I also found it easier to manage since it starts with Apache,
> no need to add services.

Have you tried mod_fcgid? Various posts on this list have recommended it
for use with Apache2, and one poster (Rich A.) suggests that the
combination outperforms Lighttpd:

"Also, if the only reason you're using Lighttpd is because you were led
to believe it is much faster than Apache 2.x, then do your own benchmark
using Apache 2.0.55 MPM-Worker (not MPM-Prefork)--be sure to be sitting
down before reading the results because you'll be surprised at which is
faster."

(from the thread "FastCGI vs. Simple CGI", 3rd March 2006)

regards

   Justin
771d3934c5bd53b76c95b4429c38ae0c?d=identicon&s=25 Erwin Quita (erwinquita)
on 2006-03-31 06:06
(Received via mailing list)
Justin Forder wrote:
>> I was able with all this to get Rails 1.0 (installed using RubyGems)
>>
>> Naturally the more users, the longer it takes to get the request (0.16
> it for use with Apache2, and one poster (Rich A.) suggests that the
> regards
>
>   Justin
>
>
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
Justin,

    This is good news! Can you please provide us with a download link of
your compiled installer. I've been waiting for this for a long time
now... appreciate your work.

thanks!

Erwin Quita
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-31 08:35
(Received via mailing list)
On 31/03/06, Justin Forder <justin@justinforder.me.uk> wrote:
> Have you tried mod_fcgid? Various posts on this list have recommended it
> for use with Apache2, and one poster (Rich A.) suggests that the
> combination outperforms Lighttpd:

Hi Justin, Yes I initially went down that road and got mod_fcgid
compiled for Apache 2.2 too, however I never succed in getting it to
work with Rails on windows, not sure why.

The thing I didn't quite understand is that we suppose to use the
mod_fcgid on the apache side but with the fcgi module on the ruby side
(which is compiled against the fastCGI library), am I right in
thinking this too? If anyone got it running under linux I would
appreciate to get told which source/software do you need to get it
working so I can have another go on windows.

Gael
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-03-31 08:38
(Received via mailing list)
On 31/03/06, Erwin Quita <erwinquita@gmail.com> wrote:
> Justin,
>
>     This is good news! Can you please provide us with a download link of
> your compiled installer. I've been waiting for this for a long time
> now... appreciate your work.
>
> thanks!

I'm working on it, I've just got the approval from sourceforge so I
will upload the installer sometimes this weekend...

Got to do some proper work today...

Gael
Eea7ad39737b0dbf3de38874e0a6c7d8?d=identicon&s=25 Justin Forder (Guest)
on 2006-04-01 23:49
(Received via mailing list)
Erwin Quita wrote:
>>>
>>> entries per page.
>>>
>> Have you tried mod_fcgid? Various posts on this list have recommended
>>
> Justin,
>
>    This is good news! Can you please provide us with a download link of
> your compiled installer. I've been waiting for this for a long time
> now... appreciate your work.

Erwin,

the post with the details of the build for Windows was from Gael
Pourriel, who will be putting everything up on Sourceforge in due
course.

regards

   Justin
235c58ad566abb4c7979bc7033e9882c?d=identicon&s=25 David Morton (Guest)
on 2006-04-02 02:20
(Received via mailing list)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

(CC'ing the instantrails dev list)

Gael Pourriel wrote:
> When I meant "too bloated", it's because it ships with loads of stuff
> which I dont need when I want to setup a Rails prod machine, MySQL,
> PHP, PHPMyAdmin, Typo, TclTk Extension, Fx Ruby etc...

Well, we already removed tcl/tk...

> I aslo found it incomplete because I wanted to use Apache 2.2 with
> FastCGI and Instant Rails ships with Apache 1.3 and SCGI, I also
> needed the MySQL extension in binary form, other than that it's pretty
> complete.

I think we wanted to move to apache 2,  but we just hadn't gotten a
stable
version.  Also, the binary mysql was something I thought we were putting
in, is
it not?

I fear that it will be too much duplication of effort to have two such
projects
when they have similar goals.  Our goal is to make it easy to get going,
but
also to provide the tools for a usable production environment.

Perhaps a better solution is a better installer that can install only
the
requested parts?

I haven't looked at the license for the mysql admin program, is it ok to
distribute it bundled?   That would indeed remove the need for php.

- --
David Morton
Maia Mailguard                        - http://www.maiamailguard.com
Morton Software Design and Consulting - http://www.dgrmm.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFELxkWSIxC85HZHLMRAjqKAKChRTwymxh5lKkUtbptSNBqHKxYTQCbB/Gi
ci9k2P4OXegGfaqREOTJmXk=
=YWJR
-----END PGP SIGNATURE-----
Eea7ad39737b0dbf3de38874e0a6c7d8?d=identicon&s=25 Justin Forder (Guest)
on 2006-04-02 04:13
(Received via mailing list)
Gael Pourriel wrote:
> mod_fcgid on the apache side but with the fcgi module on the ruby side
> (which is compiled against the fastCGI library), am I right in
> thinking this too? If anyone got it running under linux I would
> appreciate to get told which source/software do you need to get it
> working so I can have another go on windows.

That sounds right to me. When Rich A. posted the item I quoted from, I
replied asking if he had published the configuration he used, but I
didn't get a response. I know other are using mod_fcgid, as I've seen
complaints about slow startup, and also a recent post about using a
patched version to overcome (if I remember right) the idle timeout.

 From a quick look at mod_fcgid the impression I got was that the code
was nicely structured, but didn't have the degree of configurability
that you get with mod_fcgi (e.g. with respect to setting up a static
pool of FCGI processes). Some cross-fertilisation might be required.

I hope someone else will chip in here with details of their
configuration.

regards

   Justin
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-02 10:44
(Received via mailing list)
Hi David,

On 02/04/06, David Morton <mortonda@dgrmm.net> wrote:
> Gael Pourriel wrote:
> > When I meant "too bloated", it's because it ships with loads of stuff
> > which I dont need when I want to setup a Rails prod machine, MySQL,
> > PHP, PHPMyAdmin, Typo, TclTk Extension, Fx Ruby etc...
>
> Well, we already removed tcl/tk...

In the latest version I've just downloaded (Version 1.0) Tcl/Tk was
still in it

> > I aslo found it incomplete because I wanted to use Apache 2.2 with
> > FastCGI and Instant Rails ships with Apache 1.3 and SCGI, I also
> > needed the MySQL extension in binary form, other than that it's pretty
> > complete.
>
> I think we wanted to move to apache 2,  but we just hadn't gotten a stable
> version.  Also, the binary mysql was something I thought we were putting in, is
> it not?

I always thought Apache 2.X was far more stable on Windows because it
used the native threading model. I've never bothered with Apache 1.3
on Windows and always used 2.X and never had any stability issue, on
top of this Apache 2.X is far more easier to build on Windows than
Apache 1.3.

> I fear that it will be too much duplication of effort to have two such projects
> when they have similar goals.  Our goal is to make it easy to get going, but
> also to provide the tools for a usable production environment.
>
> Perhaps a better solution is a better installer that can install only the
> requested parts?

I dont want to duplicate your effort, I think this is 2 different
projects here. Instant rails should remain as it is, if you start
adding installer, different setup, etc... you're going to confuse the
new comer and they wont know what to install to get up and running,
the nice front end to start everything is very clever and simple to
understand and use. The auto configuration is also quite cool.

What I'm trying to do here is just to provide the latest stable
binaries for someone who wants to deploy Rails. I dont intend to add a
GUI to start the system, neither to provide the auto config part. I
only bundle the binaries in an installer and it's up to the user to do
all the configuration.

I think there's room for both project here, am I wrong?

> I haven't looked at the license for the mysql admin program, is it ok to
> distribute it bundled?   That would indeed remove the need for php.

This is developped by the same guys who developped MySQL so I would
imagine that if you can bundle MySQL binaries you should be able to
bundle MySQL Query Browser.


Gael
235c58ad566abb4c7979bc7033e9882c?d=identicon&s=25 David Morton (Guest)
on 2006-04-03 04:47
Gael Pourriel wrote:
> In the latest version I've just downloaded (Version 1.0) Tcl/Tk was
> still in it

1.1 just released... ;)

At the very least, we may benefit from sharing a few things... I think
we want to move apache2 sometime.
E9858a1070ab57b8cf068e8f9d54bb4a?d=identicon&s=25 Charl Souma (charl)
on 2006-04-04 23:06
David Morton wrote:
> Gael Pourriel wrote:
>> In the latest version I've just downloaded (Version 1.0) Tcl/Tk was
>> still in it
>
> 1.1 just released... ;)
>
> At the very least, we may benefit from sharing a few things... I think
> we want to move apache2 sometime.

hi i see you are releasing on SF soon, thats sounds exciting, you gave
me some pointers on my scgi endeavours with Ruby and Lighty, after
reading what has all gone in to your project i feel like trying to just
get ruby to run on lighty is a waste of time since when you have spent
all your time to combined such a nice set of tools all in one.
definately appreciate tools like this, now can't wait for the release
date
charl
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-06 02:18
(Received via mailing list)
Hi all, just a quick note to let you know that I've just uploaded
version 0.1 of my Rails production system for Windows.

Basically it's a bundle of the following software:
-Apache 2.2 with mod_ssl, mod_zlib, mod_fcgi, mod_scgi
-Ruby 1.8.4 with RubyGems 0.8.11
-Ruby native MySQL and MSSQL wrapper
-Rails 1.1

All built from Scratch on a Windows XP system using the latest stable
released of each software.

I've made a installer to ease the setup which let you choose what you
want to install and pre-configure the apache configuration files for
you with support for FCGI, SCGI and WEBRick.

I repeat, this isn't a replacement for Instant Rails, it's tailored to
production environment and doesn't include MySQL or any of the goodies
that Instant Rails has, you still have to do a great deal of
configuration yourself. So if you start with Rails and want a nice and
easy development environment , you shouldn't use this yet.

You can find it here:
http://rails-prod-win.sourceforge.net/

I haven't had time to explain how I've built each individual software
from scratch but that is next on my list. I also want to look at SVN
and Capistrano for next release.

Have fun...

Gael

Note to the Instant Rails team, I'm not trying to duplicate your work
here and I'm happy to share with you as much as I can to get the best
of breed installation kit for Rails on Windows, but I needed this kit
asap because we use it internally to deploy Rails system on the fly
and I thought I would just share it with the world because it did save
me some time and effort so I think it can help others.
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-06 02:18
(Received via mailing list)
On 06/04/06, Gael Pourriel <gael.pourriel@gmail.com> wrote:
> You can find it here:
> http://rails-prod-win.sourceforge.net/

For those of you who wonder why I didn't use RubyForge:

It's a rather big setup (10Meg so far, bound to grow) and I wanted to
benefit from the mirrors features of Sourceforge.

Gael
771d3934c5bd53b76c95b4429c38ae0c?d=identicon&s=25 Erwin Quita (erwinquita)
on 2006-04-06 03:15
(Received via mailing list)
Gael Pourriel wrote:
> released of each software.
>
>
>
>
Gael,

    Great work! I'll set it up... hopefully I can make it work... Is
there anything that I need to change on the http.conf configuration that
I need to modify? Can you please just give a walk through after the
installation... like making a test rails app and how to get it up and
running... thanks! I like that fact that you use the latest stuff in the
installation. Thanks!

- Erwin Quita
15bf61332913bfe999465ca290370304?d=identicon&s=25 Jesse Cai (caiwangqin)
on 2006-04-06 03:49
(Received via mailing list)
good job , thanks for sharing.

2006/4/6, Gael Pourriel <gael.pourriel@gmail.com>:
C475cffda1800fbc3f3af17bc10c220f?d=identicon&s=25 Curt Hibbs (Guest)
on 2006-04-06 04:32
(Received via mailing list)
On 4/5/06, Gael Pourriel <gael.pourriel@gmail.com> wrote:
>
> Note to the Instant Rails team, I'm not trying to duplicate your work
> here and I'm happy to share with you as much as I can to get the best
> of breed installation kit for Rails on Windows, but I needed this kit
> asap because we use it internally to deploy Rails system on the fly
> and I thought I would just share it with the world because it did save
> me some time and effort so I think it can help others.

Hey, no problem!  Glad to see you doing this.

Curt
C475cffda1800fbc3f3af17bc10c220f?d=identicon&s=25 Curt Hibbs (Guest)
on 2006-04-06 04:35
(Received via mailing list)
On 4/5/06, Gael Pourriel <gael.pourriel@gmail.com> wrote:
> On 06/04/06, Gael Pourriel <gael.pourriel@gmail.com> wrote:
> > You can find it here:
> > http://rails-prod-win.sourceforge.net/
>
> For those of you who wonder why I didn't use RubyForge:
>
> It's a rather big setup (10Meg so far, bound to grow) and I wanted to
> benefit from the mirrors features of Sourceforge.

RubyForge has mirrors, too. You just don't get to select them as they
are automatically round-robined on each request.

Not that I encourage large packages on RubyForge, but I'll point out
that the One-Click Installer is 21MB and Instant Rails is 49MB.

Curt
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-06 08:23
(Received via mailing list)
On 06/04/06, Curt Hibbs <ml.chibbs@gmail.com> wrote:
> On 4/5/06, Gael Pourriel <gael.pourriel@gmail.com> wrote:
> RubyForge has mirrors, too. You just don't get to select them as they
> are automatically round-robined on each request.
>
> Not that I encourage large packages on RubyForge, but I'll point out
> that the One-Click Installer is 21MB and Instant Rails is 49MB.

I didnt know that, I guess it's too late now :-(

Gael
F16def8015a7562a285c65a14be48540?d=identicon&s=25 Mathieu Chappuis (Guest)
on 2006-04-06 08:26
(Received via mailing list)
> Hi all, just a quick note to let you know that I've just uploaded
> version 0.1 of my Rails production system for Windows.

Hi Gael,

Thanks for your efforts, I'll give a try soon.

What tool can be used to browse the installation package ?

I wanna know what kind of windows system files or Registry or Path
installer will impact. In others word how that installation would
change any working dev or production env.

Thanks again, that's a very fine works for us.

Mathieu
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-06 08:38
(Received via mailing list)
On 06/04/06, Erwin Quita <erwinquita@gmail.com> wrote:
>     Great work! I'll set it up... hopefully I can make it work... Is
> there anything that I need to change on the http.conf configuration that
> I need to modify? Can you please just give a walk through after the
> installation... like making a test rails app and how to get it up and
> running... thanks! I like that fact that you use the latest stuff in the
> installation. Thanks!

Hi Erwin

As I said in the email, this is not an Instant Rails replacement, i.e.
it assumes that you've already got a Rails application developped and
tested somewhere and you just want to deploy it on a production
machine, however you can use this setup to start a Rail application.
Install the kit and just create a new Rails application using "rails
appname", follow instructions on RoR web site to setup DB etc...

The Installer asks you for a couple of parameters (ServerName,
AdminEmail, Document Root, if you want SSL enabled, if you want FCGI,
SCGI or just Proxying WEBRick) and set up httpd.conf and all the extra
Apache files located in conf/extra with those values.

If you then follow the Install.rtf that will tell you how to configure
the Rails application to talk to Apache. You may still need to edit
httpd.conf to tweak some of the values, this is only giving you the
base to start but you should know what you doing at this stage.

PS: I realised now that setting the Document Root in the installer via
a Folder Tree View isn't probably the best way to go since most of the
time you wont have deployed you application before you install the
kit, especially if I include Capistrano in it. I will think of
something else, for now you'll have to create a dummy directory that
will be your Rails application public directory so you can point to it
in the installer.

Gael
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-06 08:53
(Received via mailing list)
On 06/04/06, Mathieu Chappuis <mathieu.chappuis.lists@gmail.com> wrote:
> What tool can be used to browse the installation package ?

I've used Inno Setup to create the installer and I will post the
script as soon as I get a chance in CVS so everyone can have a look at
it.

> I wanna know what kind of windows system files or Registry or Path
> installer will impact. In others word how that installation would
> change any working dev or production env.

This is a fairly good comment, I usually dont like Installer either
because I'm never sure what they do in the background but I have to
admit that they save me time because I can preset some values
depending on path etc...

This is what the installer does:

-Unzip Apache, Ruby and all the tools in the directory you've choosen
in the setup

-No DLLs/Files are copied in any other directories (Windows, System,
etc..), all the DLLs/Files needed for the application are in the
respective folders of the application (e.g. ruby/bin, httpd/bin,
etc...), this may result in a duplication of DLLs (openssl, zlib and
Iconv) but I'd rather do this than have DLLs all over the system
overriding existing DLLs, and that way I make sure the application
uses the DLLs I want them to use, not some old DLLs left over by Joe
Blogg latest freeware.

-All the application are linked againt the latest MSVC Studio 7.1
runtime library (i.e. MSVCP71.dll and MSVCR71.dll) which are also
installed in the application directory, However I've just noticed that
these 2 DLLs aren't in the Apache bin directory so unless you have
them already or add Ruby bin directory in the PATH, Apache will not
start.

-If you choose to Install Apache as a service and add Ruby to the
Path, the Installer will run "httpd\bin\httpd -k install" to install
Apache as a service, and it will add Ruby bin directory in the
ENV[PATH] using the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment\Path

-Some entries are added to the Start Menu

-No file associations or INI files are changed/added/removed

When you remove the application, it will try its best to remove all
the files from the install directory, however it will leave any new
files you have added since the install, It will uninstall Apache
service and remove Ruby bin directory from the Path variable.

That's all

Hope that's what you after.

Gael
4ba4bb954bcfec077d9708b540558926?d=identicon&s=25 Guido Sohne (Guest)
on 2006-04-11 19:03
(Received via mailing list)
On Apr 2, 2006, at 12:21 AM, David Morton wrote:

> I think we wanted to move to apache 2,  but we just hadn't gotten a
> stable
> version.  Also, the binary mysql was something I thought we were
> putting in, is
> it not?

My 0.02:

Please don't put in MySQL or PHP. Keep it at Ruby (plus gems), Rails
and a web server (preferably allow us to choose between lighttpd,
Apache2, Webrick or Mongrel)

My vote is to build an installer that will default to lighttpd/rails
or mongrel/rails that can work with existing Apache2 and MySQL (or
PostgreSQL) installations.

There's no reason to bundle in a database server given that they
install perfectly well already and require no configuration on the
Rails side (apart from having the requisite gems installed).

It may be even better to decouple this from Ruby and provide some
means of adding Rails to an existing Ruby installation ...

-- G.
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-11 19:22
(Received via mailing list)
On 11/04/06, Guido Sohne <guido.sohne@gmail.com> wrote:
> My 0.02:
>
> Please don't put in MySQL or PHP. Keep it at Ruby (plus gems), Rails
> and a web server (preferably allow us to choose between lighttpd,
> Apache2, Webrick or Mongrel)
>
> My vote is to build an installer that will default to lighttpd/rails
> or mongrel/rails that can work with existing Apache2 and MySQL (or
> PostgreSQL) installations.

I couldn't get Lightty on Windows to work with anything other than
Mongrel using mod_proxy, mod_fastcgi and mod_scgi never worked for me,
not sure why but I gave up, I dont think Lighttpd is very well suited
on Windows yet, it's missing Win32 service for example.

Lightty seems to have the same "cool" effect as Textmate these days,
if you dont use Textmate to develop in Rails and dont use Lightty to
host Rails you're old fashion....
I think I've read several time that Lightty was no better than Apache
performance wise especially on Windows.

> There's no reason to bundle in a database server given that they
> install perfectly well already and require no configuration on the
> Rails side (apart from having the requisite gems installed).

Totally agree with this...

Gael
00973881979aa0a660ffbbb2f7a907fb?d=identicon&s=25 Peter De Berdt (Guest)
on 2006-04-11 19:28
(Received via mailing list)
> Lightty seems to have the same "cool" effect as Textmate these days,
> if you dont use Textmate to develop in Rails and dont use Lightty to
> host Rails you're old fashion....
> I think I've read several time that Lightty was no better than Apache
> performance wise especially on Windows.

Yeah, well, that's what you get for working on Windows ;-) :-)

Best regards

Peter De Berdt
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-11 19:31
(Received via mailing list)
On 11/04/06, Peter De Berdt <peter.de.berdt@pandora.be> wrote:
> > Lightty seems to have the same "cool" effect as Textmate these days,
> > if you dont use Textmate to develop in Rails and dont use Lightty to
> > host Rails you're old fashion....
> > I think I've read several time that Lightty was no better than Apache
> > performance wise especially on Windows.
>
> Yeah, well, that's what you get for working on Windows ;-) :-)

Yeah, well, you dont get choose what you customer wants  :-( , it's
good enough when you can persue them no to use IIS....
4ba4bb954bcfec077d9708b540558926?d=identicon&s=25 Guido Sohne (Guest)
on 2006-04-11 19:53
(Received via mailing list)
On Apr 2, 2006, at 8:42 AM, Gael Pourriel wrote:
> What I'm trying to do here is just to provide the latest stable
> binaries for someone who wants to deploy Rails. I dont intend to add a
> GUI to start the system, neither to provide the auto config part. I
> only bundle the binaries in an installer and it's up to the user to do
> all the configuration.

My 0.02:

I largely agree but I think that putting in some extra effort to do
configuration would be really helpful.

Ideally, the end user should be able to point to an existing Apache2
installation and put a line into the httpd.conf that sources default
configuration information from a file added to that installation by
your system. Appears Apache2 is too finicky because of the SCGI/
FastCGI stuff not being in by default. Maybe you should consider
doing it with lighttpd or even mongrel.

Looking at the directions your projects are taking, I'm beginning to
really like mongrel for its simplicity and would rather see that
becoming a really solid/stable product. Not that it isn't getting
there already ...

-- G.
00973881979aa0a660ffbbb2f7a907fb?d=identicon&s=25 Peter De Berdt (Guest)
on 2006-04-11 19:59
(Received via mailing list)
On 11 Apr 2006, at 19:30, Gael Pourriel wrote:

> Yeah, well, you dont get choose what you customer wants  :-( , it's
> good enough when you can persue them no to use IIS....

I was just joking around, but I know your pain, believe me.

Best regards

Peter De Berdt
D810e7436feb302a3e4e6b11895a7f65?d=identicon&s=25 Gael Pourriel (Guest)
on 2006-04-11 20:11
(Received via mailing list)
On 11/04/06, Guido Sohne <guido.sohne@gmail.com> wrote:
> Ideally, the end user should be able to point to an existing Apache2
> installation and put a line into the httpd.conf that sources default
> configuration information from a file added to that installation by
> your system. Appears Apache2 is too finicky because of the SCGI/
> FastCGI stuff not being in by default. Maybe you should consider
> doing it with lighttpd or even mongrel.

Yes that's the issue with Apache, you cant guarantee the mod_fcgi or
mod_scgi binary you provide will work with the existing Apache build,
as for lighttpd, as I just said in a previous post, even so it's
already built in I wasn't able to get either to work on my setup,
maybe I should have another go.

I was thinking of Mongrel too but it's too easy to install to bother
writing an installer for it really, Zed had already provided us with
the tools to make Mongrel configuration a joy.

Only issue with Mongrel is that you still to proxy it behind something
else if you want SSL support or more advanced web server functions

> Looking at the directions your projects are taking, I'm beginning to
> really like mongrel for its simplicity and would rather see that
> becoming a really solid/stable product. Not that it isn't getting
> there already ...

So am I, I like Mongrel too and its ease of use, configuration, maybe
we should consider releasing a setup kit pre configured to work with
Mongrel, such as Ruby, Rails, Lighttpd + Mod_proxy configure in load
balancer mode so you can have more instance of Mongrel running.

Gael
E7cff3cfd41c495e1012227d7dc24202?d=identicon&s=25 Luis Lavena (luislavena)
on 2006-04-12 07:38
Gael Pourriel wrote:
> So am I, I like Mongrel too and its ease of use, configuration, maybe
> we should consider releasing a setup kit pre configured to work with
> Mongrel, such as Ruby, Rails, Lighttpd + Mod_proxy configure in load
> balancer mode so you can have more instance of Mongrel running.

Hi, I'm working in "production mode" with Rails and Ruby on Win32
(mostly XP but a few 2k3 boxes).

I added the --cpu command to mongrel_rails_service to handle the cpu
affinity on dual/quad core machines.

Due the threading nature of ruby, we set fire 4 instances of mongrel,
each one "bound" to one processor, allowing us take better use of quad
opterons server we have here.

We use lighttpd + mod_secdownload + mod_proxy to provide secure download
of files, also load balancing.

So far that is our best setup.

I haven't benchmarked them, so guess will do to get some comparisons
about performance.

I hope release in the following weeks a plugin and a series of scripts
and Rakefiles to simplify the bundling of your rails application with
these tools.

Regarding Compiling your own ruby, I have a updated, VC .NET 2003 (with
Platform SDK and the missing tools) all bundled in 14mb. Actually I sent
it to Zed Shaw to get mongrel-win32 gems corrently build with ruby 1.8.2
and 1.8.4 msvc6.

Later,

Luis
This topic is locked and can not be replied to.