Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

LinRails — Ruby On Rails For Linux

kdawson posted more than 7 years ago | from the be-the-first-on-your-block dept.

Programming 201

foobarf00 writes "LinRails is a binary package that includes Ruby-1.8.6, Rubygems-0.9.4, Rails 1.2.3, Mongrel 1.0.1, MySQL-5.0.41, ncurses-5.6, OpenSSL-0.9.8e, and zlib-1.2.3. Its goal is to make it easy to get a Ruby on Rails development environment running in no time. This initial 0.1 release doesn't have a Web server in the package; opinions are solicited as to which to include."

cancel ×

201 comments

Sorry! There are no comments related to the filter you selected.

frost pist (-1, Offtopic)

ameoba (173803) | more than 7 years ago | (#19742105)

icy cold.

Whats wrong with... (2, Insightful)

monk.e.boy (1077985) | more than 7 years ago | (#19742107)

...up2date?

:-P

monk.e.boy

Re:Whats wrong with... (1, Funny)

ameoba (173803) | more than 7 years ago | (#19742189)

...it's not apt.

Re:Whats wrong with... (1)

charlieman (972526) | more than 7 years ago | (#19742899)

Yeah, all they need is a metapackage depending on those packages...

Re:Whats wrong with... (1)

foobarf00 (666782) | more than 7 years ago | (#19742279)

This helps have a standard development environment between programmers in a team. This prevents stuff like "well it works on my MySQL/Rails machine" in addition to just downloading and unzip a file to get started.

Re:Whats wrong with... (0)

Anonymous Coward | more than 7 years ago | (#19743147)

Yes, let me unzip a tar archive :D

Re:Whats wrong with... (1)

ZG-Rules (661531) | more than 7 years ago | (#19742289)

Primarily the fact that since Red Hat Enterprise Linux 5, it's been removed in favour of Yum. Users of non-crusty Red Hat versions can't use it.

Re:Whats wrong with... (1)

X0563511 (793323) | more than 7 years ago | (#19743539)

Well maybe they should consider something that doesn't suck*.

* The only reason that it sucks is RPM. I personally watched my 2x 2.66ghz, 1gb ram, 260gb 7200RPM HD system take 2 hours to get 37% through installing 300 updates after install. That's 2 hours for 100 package installs. Note that this is two hours after all the packages were downloaded.

By contrast, APT would have been done in 5 minutes, on this system.

Aptitude (2, Interesting)

thechanklybore (1091971) | more than 7 years ago | (#19742113)

Makes this so easy it's hardly worth the packaging bother. Although I guess people still saddled with the atrocious Yum will like it.

Re:Aptitude (1)

ZG-Rules (661531) | more than 7 years ago | (#19742323)

I'd really love to know why you consider Yum "atrocious", but without that context, I'm going to have to consider you a troll. Disclaimer: I use Yum, I like it.

Re:Aptitude (1)

thechanklybore (1091971) | more than 7 years ago | (#19742495)

Various reasons - 1. No autocomplete 2. Very slow searching in comparison to Apt 3. Very (very) slow repository comparison compared to Apt. 4. No automatic redundant package notification. Those are my main gripes, but I just generally find it a lot less friendly. Don't mean to troll.

Re:Aptitude (2, Insightful)

ZG-Rules (661531) | more than 7 years ago | (#19742673)

1) autocomplete - does if you have bash-completion rules (i do - the caveat being completion speed is dependent on the same factors as your 1 and 2), or you can do "yum install packa*". How does apt autocomplete package names?

2/3) The difference would be that "apt-cache search" is running from the cached headers. That's equivalent to "yum -C search" - yes apt-cache is faster than yum normally because yum is downloading all the headers, unzipping the xml and combining before it does the search. I haven't benchmarked cached yum against cached apt - you may still be right that Yum is still slower.

4) again, you're not comparing apples to apples. Aptitude is a frontend to the functionality of apt and dselect. Yum is only a package manager. Comparing the features of apt to yum would be a more equal choice - and apt doesn't do redundant package notification, because that's a dselect feature.

I'd say that Aptitude is more like Pirut rather than Yum.

Re:Aptitude (1)

Klaidas (981300) | more than 7 years ago | (#19742389)

With my finger on the trigger i run ./configure...
Seriously, aptitude and apt-get are probably the best installation methods I've seen (except for .exes on Windows...)

Re:Aptitude (5, Insightful)

compm375 (847701) | more than 7 years ago | (#19742643)

How are .exes on Windows better than apt-based packaging?
Windows:
1)find .exe
2)download .exe
3)go through installation wizard

apt:
1)if you already know package, do apt-get install ... and no clicking through an installer
or
1)search for a package with apt-cache, aptitude, or synaptic
2)install, again without installer
or
1)find a .deb
2)download .deb
3)install .deb with dpkg or gdebi again with no installer to click through

I don't see how .exes are better as an installation method.

Re:Aptitude (0)

Anonymous Coward | more than 7 years ago | (#19742861)

find and download .exe are the practically the same thing. Yes, after you've "found" you've got to click a link to download, but don't you have to click a button or hit the "enter" key to download through apt/aptitude? The .exe offers you choice. If you want all the default choices, just hit enter. If you want choice, use it. If you don't want choices, use apt.

Re:Aptitude (2, Insightful)

charlieman (972526) | more than 7 years ago | (#19743309)

If you want to get asked questions while installing with apt just
dpkg-reconfigure debconf
and set the priority to low.

Anyway, packages are separated so if you just want the main package for example:
aptitude install ruby
If you want more then:
aptitude install ruby ruby-prof rubygems etc

maybe even better:
aptitude --with-recommends install ruby.

Re:Aptitude (0)

Anonymous Coward | more than 7 years ago | (#19743427)

Comparing .exe files and .deb files is really like comparing apples and oranges, assuming oranges are better.

A better comparison would be Windows Installer files, and Debian Packages. Or, if you want to go the other way, .exe files and .bin files.

Re:Aptitude (1)

bigdavesmith (928732) | more than 7 years ago | (#19742891)

I agree with you there. I never thought about exe's until I started using Linux, but now that I do, it's a totally unfriendly way to manage software, particularly when you want to know what version of BLAH you're running, or what BLAH needs to run, or even if you have BLAH installed. The only thing I prefer over apt is OS X's apps. God do I love just throwing applications in the garbage... :)

Re:Aptitude (1)

wylf (657051) | more than 7 years ago | (#19743085)

I don't see how .exes are better as an installation method.

Perhaps installation is easy (it's hard to beat a double-click), but the ongoing maintenance of the software is where apt et al win, I believe. Its so easy to see what versions are installed and what new versions are available all through the one interface. Updates couldn't be simpler, and the software categories help new users explore what software's out there. And then there are the meta-packages, making getting the right system "recipe" of various applications dead simple.

Re:Aptitude (3, Insightful)

Klaidas (981300) | more than 7 years ago | (#19743191)

Yeah, but what about those times the the package is not in th repo, and the .deb needs some obscure libraries who are also not included, and you have to compile everything? And then compiling also needs something, which depends on even more files... Also, let's not forget that pretty much every program can run on Windows, but doesn't have a linux port, or the linux alternative is far away from being better that the windows' original. If you know exactly what program you want, and it is in the repo, and everything you need is in that repo, and there won't be any conlicts, then yes. if not, .exe FTW.

Re:Aptitude (1)

TheRagingTowel (724266) | more than 7 years ago | (#19743673)

You missed the real stuff: 1. No need to find where to download from 2. And ofcourse - dependencies resolving! No DLL-Hell, no finding needed packages by yourself Windows is such a toy...

Re:Aptitude (1)

Raineer (1002750) | more than 7 years ago | (#19743733)

I agree with the "no downloading" portion of it the most. The fact I can just drop to console and type one command, have (usually) all dependencies immediately resolved and the download AND installation started for me is just amazing. I do like the uninstall process too, mostly because I can chose whether or not I want to keep the config files in case I'm reinstalling for a reason. There was certainly a learning curve but now that I've completely migrated over I'm so happy to never have to see another "Installshield" ever again!

Why .exe's are better (2, Informative)

Krommenaas (726204) | more than 7 years ago | (#19743853)

As a frustrated Windows user who would like to switch to Linux but can't get it to work, let me explain this to you:

1) in my experience a Windows .exe always works regardless of what Windows version I'm using, while a Linux package generally doesn't work on the Linux distro I'm trying.

2) if I'm given a link to a .exe that will fix my internet connection, it's rather obvious to me that I can download the .exe from another PC, put it on a USB key and run it on my own PC. however, if I get an apt-get line to help me fix my internet connection, I have absolutely no clue what to do with it.

Re:Aptitude (1)

pinkfloydhomer (999075) | more than 7 years ago | (#19743893)

They are better because when you've found your .exe, you're done. Downloading and installing are trivial steps.

With package management systems such as apt and tools like Aptitude, you just have to hope that the software in question is already in your repository. If not, you have set up alternate repositories, or as I do myself, a local repository in which to put downloaded packages, and install from there. Installing from various sources, repositories, tarballs, etc., often becomes a mess.

And don't get me started on installing proprietary closed source software on Linux. It often works only on a particular distribution, and/or it requires special treatment during installation etc.

As long as the software you need is in your repository, things are easy. Whenever they are not, things become needlessly complicated. From a usability view, it is much easier to just download an .exe and be done with it.

I know this is not particular to Aptitude or to package managers in general, but is about the whole software installation school of thought that lives in the *nix world. But I think it is old fashioned and is only holding Linux back.

It does have a very good web server (3, Informative)

Fjan11 (649654) | more than 7 years ago | (#19742179)

> It includes Mongrel 1.01 [...]
>This initial 0.1 release doesn't have a Web server
Mongrel is a very good web server, especially for a development environment. (And the ruby package includes webbrick on top of that). Current 'best practice' deployments of RoR applications usually use a pack of Mongrels behind a load balancer (such as mod_proxy or Pound), and/or Apache or Nginx to serve static pages. If you want to completely mirror your production environment in your development/testing environment than including those would the logical choice.

Why not a metapackage? (5, Insightful)

k-zed (92087) | more than 7 years ago | (#19742277)

This thing is completely pointless and unnecessary under modern Linux package management systems. One could just create a metapackage with the proper dependencies.

Even without such a metapackage, one can install this software with a single apt-get command line. Windows-based development methodology is bad enough, let's not infect linux/unix development with it.

Re:Why not a metapackage? (1)

kevin lyda (4803) | more than 7 years ago | (#19742855)

Yes, but no one has done that.

And last I checked Debian didn't include Gems which is really annoying if you're learning Ruby and a book mentions a bunch of gems you should install.

Is it still single-threaded? (2, Interesting)

Sanity (1431) | more than 7 years ago | (#19743127)

Last time I checked, Mongrel was still single threaded, meaning that if you wanted to put together a decent website, you had to run multiple mongrel instances and have Apache load balance between them. The unfortunate reality of Rails in my experience, having deployed several Rails websites (example [revver.com] ), is that it is still a toy, it certainly isn't "enterprise ready", and while its possible to make it scale, its an uphill struggle (I'm not the only one [radicalbehavior.com] who thinks so).

I can, on the other hand, highly recommend Wicket [sf.net] , its what we used to build Thoof [thoof.com] , and so-far its scaling very well indeed.

Why MySQL (1, Offtopic)

Simon (S2) (600188) | more than 7 years ago | (#19742181)

And not the vastly superior PostgreSQL? I really like FKs in my relational data. And I know that MySQL does support them, but not with myISAM tables.
This is really not meant to be a flame, but pgsql is really better than mysql, so why not include the better one? Or am I wrong?

Re:Why MySQL (2, Funny)

Anonymous Coward | more than 7 years ago | (#19742205)

because MySQL is free.

See, you're not the only one that can spew garbage.

Re:Why MySQL (0)

Anonymous Coward | more than 7 years ago | (#19742267)

So is PostgreSQL...

Re:Why MySQL (3, Insightful)

dkf (304284) | more than 7 years ago | (#19742281)

because MySQL is free.
And PostgreSQL is BSD, and so open. Please try again to list why MySQL should be used instead.

Re:Why MySQL (-1, Troll)

Anonymous Coward | more than 7 years ago | (#19743655)

BSD is hardly free, it's just available. Like the difference between a hooker and a girlfriend.

Re:Why MySQL (1)

AvitarX (172628) | more than 7 years ago | (#19742659)

Funniest post ever.

Re:Why MySQL (2, Insightful)

Enderandrew (866215) | more than 7 years ago | (#19742257)

I imagine a meta-package like this is catering to the average user who just wants a common setup easy to just drop in and go. MySQL is more commonly used, and thusly it seems the logical choice for such a meta-package.

Though I'm looking to move off a web-host and build a server out of my house. Everyone keeps saying PostgreSQL is better. Why? For my average use, what benefits will it offer me?

If I throw some common PHP/SQL stuff on there, will it run faster (Gallery2, LotGD, phpbb3, etc)?

Re:Why MySQL (2, Insightful)

Simon (S2) (600188) | more than 7 years ago | (#19742347)

Though I'm looking to move off a web-host and build a server out of my house. Everyone keeps saying PostgreSQL is better. Why? For my average use, what benefits will it offer me?

If I throw some common PHP/SQL stuff on there, will it run faster (Gallery2, LotGD, phpbb3, etc)?
I know that a lot of people here will kill me and say "but you can do this in mysql too!! (somehow)", but:
- Integrity: if i delete from people where id=1; all child tables of people (telephone numbers, addresses and whatnot) are kept. On top of that you are allowed to delete the parent if it has childs. I hate this default behavior.
- ACID
- Stored Procs: You may not use them, but one day you may will. Maybe you will have to insert rows in a table after an update on another, or implement some other things that are best implemented on the database. If you use pg from the beginnig you can.
- Triggers: the same
This are my main choices I choose pg ove mysql, but this is really a personal choice. The flamewar between mysql an pg will never end, I think it's like emacs vs vi.

Re:Why MySQL (1)

Enderandrew (866215) | more than 7 years ago | (#19742423)

- Integrity is always nice!
- ACID - InnoDB seems to provide that for me. I've never lost data on MySQL.
- Stored Procs - We use these at work on our insanely complex MSSQL setups that I loathe, but I don't know that I'll ever have use for them on my server, and I (perhaps mistakenly) assumed this was a standard SQL feature. MySQL doesn't support stored procs?
- Triggers - I'm not sure what these are.

I'll Google some PosgreSQL vs MySQL comparisons and benchmarks.

Re:Why MySQL (1)

Simon (S2) (600188) | more than 7 years ago | (#19742471)

- Stored Procs - We use these at work on our insanely complex MSSQL setups that I loathe, but I don't know that I'll ever have use for them on my server, and I (perhaps mistakenly) assumed this was a standard SQL feature. MySQL doesn't support stored procs?
It does, but only really basic stuff.

- Triggers - I'm not sure what these are.
You can make a trigger on a table that triggers before or after a row is inserted/updated/deleted and runs a spc or a dml statement.

Re:Why MySQL (0)

Anonymous Coward | more than 7 years ago | (#19742629)

> Triggers - I'm not sure what these are.

Speaking like a true MySQL user. Get back to your PHP.

Re:Why MySQL (0)

Anonymous Coward | more than 7 years ago | (#19743563)

The answer to the first two is "Use InnoDB".

The InnoDB engine supports foreign keys (including ON UPDATE CASCADE and ON UPDATE RESTRICT). The InnoDB engine supports transactions, including rollback. That's why the InnoDB engine is slower than MyISAM (depending on transaction load - MyISAM is faster for tables that are not often modified, while InnoDB tends to be faster if you're making frequent modifications).

BDB supported all those features long before InnoDB was added to MySQL. So unless you're using MyISAM (and there are valid reasons to do so), MySQL has had those features for a long time.

Yes, PostgreSQL has MVCC, while InnoDB has to make do with row-level locking. The upcoming Falcon engine for MySQL has MVCC too, but I'm not sure I'd want to use that in production until it'd been in use for a few versions.

Stored Procedures have been available since at least MySQL 5. PostgreSQL's support for stored procedures is a bit better, mostly because stored procedures don't have to be in SQL.

Triggers have been available since MySQL 5.1. They are more limited than PostgreSQL's - each event can only have one trigger. So you can't have five different triggers that all fire when you insert a row in a particular table. You have to merge them all into one trigger.

Re:Why MySQL (1)

Fweeky (41046) | more than 7 years ago | (#19743889)

"Yes, PostgreSQL has MVCC, while InnoDB has to make do with row-level locking."
Er, no, InnoDB uses MVCC, as can be trivially verified by playing about with it. Start a transaction in 2 clients, update a table in client 1 and commit, then read those rows in client 2; note client 2 sees the version of the table prior to client 1's modifications because you've got a versioned snapshot.

You can modify this behavior by selecting a different isolation level [mysql.com] .

Ok, on site (2, Interesting)

Colin Smith (2679) | more than 7 years ago | (#19743063)

We have Oracle 8, Sybase 12 and postgresql 8 (I think).

The whole factory is run off of postgresql.
The financial system is run off of Oracle.
The timesheet system is run off of Sybase.

Guess the systems which gave the most and least problems.

The winner is PostgreSQL. Untouched for months, perhaps even years. Next we have Oracle which is a pain in the arse to manage but never failed. and last place came sybase which had to be touched, managed and/or restarted regularly[1].

In terms of transactions, the factory systems took an absolute pounding, the financial system was used extensively daily and the timesheet system got maybe thousand updates per day.

PostgreSQL's largest benefit is reliability.

[1] Clearly these attributes are what made Sybase the product of choice for Microsoft to build their enterprise database management system upon.
 

Re:Why MySQL (1)

weighn (578357) | more than 7 years ago | (#19742273)

vastly superior...Or am I wrong?
oh yeah, here we go. Have we not discussed this before [slashdot.org] . Very recently at that.

And for a web server, why not lighttpd?. Its vastly faster. Or IIS ... fastly vaster...

Re:Why MySQL (1)

Simon (S2) (600188) | more than 7 years ago | (#19742381)

And for a web server, why not lighttpd?. Its vastly faster. Or IIS ... fastly vaster...
Well, because the webserver can change between the production an developement machine, but the db should not (at least IMHO). I can develop with mongrel, webrick, lighttpd or whatever and then deploy on another webserver, but this is most of the time probably not the case with the database.

your sig ... ? (0)

Anonymous Coward | more than 7 years ago | (#19742431)

I just don't trust anything that bleeds for five days and doesn't die.
homo?

Re:your sig ... ? (0)

Anonymous Coward | more than 7 years ago | (#19742519)

raging!

Re:Why MySQL (0)

Anonymous Coward | more than 7 years ago | (#19742309)

You are not wrong, but most people don't know what a database can do. That's why you keep seeing posts on forums asking how to remove duplicates from their tables, or using 'Select Distinct' calls.

Re:Why MySQL (1)

suv4x4 (956391) | more than 7 years ago | (#19742345)

And not the vastly superior PostgreSQL? I really like FKs in my relational data. And I know that MySQL does support them, but not with myISAM tables.
This is really not meant to be a flame, but pgsql is really better than mysql, so why not include the better one? Or am I wrong?


Why MySQL? But of course, so there's something to whine about.

If you used RoR you'll figure out all advanced features of a database are left unused, so why bother.

Re:Why MySQL (2, Informative)

Xest (935314) | more than 7 years ago | (#19742371)

MySQL just seems more common and I can't see that changing. Pretty much every web development book and site uses MySQL for database teachings so as people come into web development I'd argue it's just going to increase the MySQL user base even more.

For most people's web development needs MySQL just does what you need. Chances are if you need something MySQL doesn't have then you're already competent enough to not need a package like this and set it all up yourself anyway, this just makes it easier for those who are relatively new to web development to jump straight in.

I'm just about to start learning RoR myself and I just run my practice servers as VMs so for people like me, it's pretty easy to just setup a Linux VM, install a package like this and knuckle straight down with learning RoR. When I've got a decent understanding of it and am sure it's something I really do want to continue with I'll start to pay more attention to setting it up in a production environment and I'll start looking further into different databasing options and so forth.

Re:Why MySQL (2, Interesting)

killjoe (766577) | more than 7 years ago | (#19742449)

Why bother with either. Just include sqlite and be done with it. Rails can take care of all the data integrity for you anyway. Combine that with microapache and you are done.

Re:Why MySQL (1)

mwvdlee (775178) | more than 7 years ago | (#19742459)

"This is really not meant to be a flame, but my random opinion is really better than your random opinion."

Next time you don't want to flame, please provide reasons for people to assume you're not flaming. Just stating, as if a fact, that X is better than Y without any figures to back it up or explaination why you think that is, looks a lot like flaming.

Not saying that you are, but stating something as a fact without any evidence is either A) flaming or B) religion. Some people would go so far as to equate the two :)

Re:Why MySQL (1)

Simon (S2) (600188) | more than 7 years ago | (#19742547)

Next time you don't want to flame, please provide reasons for people to assume you're not flaming. Just stating, as if a fact, that X is better than Y without any figures to back it up or explaination why you think that is, looks a lot like flaming.
You are right. I was a bit lazy. Here [slashdot.org] you go.

Re:Why MySQL (1)

Per Wigren (5315) | more than 7 years ago | (#19742501)

I always use PostgreSQL for production but for this package Sqlite would be perfect.
Sqlite is perfect to develop with until you have something usable. Then you can switch to Postgres (or MySQL or whatever) and run your tests to make sure everything works.

MySQL == windows (1)

CarpetShark (865376) | more than 7 years ago | (#19742527)

The problem is that MySQL has the lion's share of the market, despite being (relatively speaking) crap. It's a lot like windows in that respect: if you want to ensure that a machine you sell can run random software for grannies, you (sadly) generally put windows on it. Likewise, if you want to ensure easy webapp development, you go with the database that can work with lots of other stuff.

That said, it's ass-backwards. People should fix the bug --- that some software doesn't have a database abstraction layer --- and then choose that best DB.

Web Server (0)

Anonymous Coward | more than 7 years ago | (#19742231)

This initial 0.1 release doesn't have a Web server in the package; opinions are solicited as to which to include.
lighttpd [wikipedia.org]

Re:Web Server (1)

geniusj (140174) | more than 7 years ago | (#19742297)

nginx [nginx.net] - It's the new lighttpd, dontcha know?

Re:Web Server (1)

Aethedor (973725) | more than 7 years ago | (#19742631)

I would go for Hiawatha [leisink.org] . It is small, fast and secure, and the configuration is not as ugly as the ones they are debating about.

Re:Web Server (0)

Anonymous Coward | more than 7 years ago | (#19742857)

Nginx does reverse proxying and has a decent rewrite module. The config isn't that bad either once you split your vhosts out into separate files.

We first looked at Hiawath and andhttpd (which also comes with a security guarantee) a couple of years back. nginx was the one that finally moved us off Apache 1.3x.

Re:Web Server (1)

foobarf00 (666782) | more than 7 years ago | (#19742385)

Mongrel people dont recomment Lighttpd here [rubyforge.org] . So here is the debate:

* mongrel with nginx
* lighttpd with fastcgi
* apache

Re:Web Server (1)

thinkingserious (1112749) | more than 7 years ago | (#19742645)

Some time ago I tried using Apache and it was such a headache I ultimately moved on to Symfony. We use Symfony with lighttpd and fastcgi with great results; we have survived the digg effect easily with that setup (16K visits over a few hours), so I vote lighttpd with fastcgi.

Fantastic (4, Interesting)

PopeRatzo (965947) | more than 7 years ago | (#19742233)

This is great news for me. I recently built an Ubuntu system on which to do media production (music, video, like that). It's not my primary system yet, but I've been so disgusted with Windows Vista and Mac OS that I decided it was time to make (another) try at doing my work on a Linux system.

After three months, the results have far exceeded my expectation. I'm very impressed with the maturity of music production apps for Linux and the performance has been as strong as I expected. I'm still a Linux noob, but the experience has been positively inspirational. In fact, it's been a lot like my first experiences with media production on my first Mac, where just about every day brought another new way to look at the work.

I'm not a programmer, but I'm learning Ruby and this new release gives me one more reason to sit down at the Linux box instead of my others.

Re:Fantastic (1)

JohnFluxx (413620) | more than 7 years ago | (#19742905)

Sounds good, but don't use this silly thing.

Just run synaptic, find ruby on rails, and install. I think it will suggest mysql automatically. If not install that too.

You'd don't need anything more than that. Then just follow any ror tutorial on the web. It's pretty easy.

Re:Fantastic (1)

charlieman (972526) | more than 7 years ago | (#19742961)

Just aptitude install ruby rubygems rails mysql ncurses openssl zlib

(I think mongrel isn't in ubuntu, but there's apache and lighttpd)

Apache? (2, Interesting)

Enderandrew (866215) | more than 7 years ago | (#19742241)

Color me stupid here, but isn't Apache the de facto standard that most everyone uses?

Some may argue that better alternatives exist (of which I'm not really aware) but since Apache is so popular and common place, wouldn't it seem the logical piece of this meta-package?

People who want specific packages for specific reasons are going to set up their own environment. For a pre-setup environment, shouldn't you shoot for the common setup?

Re:Apache? (2, Interesting)

andr0meda (167375) | more than 7 years ago | (#19742261)


Agreed.

Apache is not only the most widely used web server, it is also the most supported one, of good quality, and offers countless possibilities alongside the purpose of your typical RR demo program, which is nice to have if you think like a biz.

Re:Apache? (0)

Anonymous Coward | more than 7 years ago | (#19742461)

Many web developers run their apps in a VM with limited memory and Apache is far from great in this situation. This is one of the many reasons the web2.0 crowd favor high-performance, lightweight httpds such as Nginx and (yuk) lighttpd.

Rails may be a toy but change is in the air for web development. Nginx has all but replaced Apache here and if the nekovm is bundled, we'll probably ditch Zend PHP too (although NOT for HaXe).

Re:Apache? (5, Informative)

FooBarWidget (556006) | more than 7 years ago | (#19742509)

Ruby on Rails cannot be run in Apache.

Yes, I was stunned when I found this out last year. If one wants to run RoR on Apache, then one has to use either mod_fastcgi (or mod_fcgi or whatever it was called; it'd run RoR as a FastCGI process) or mod_ruby. mod_ruby seems to be abandoned, and I have heard stories about excessive memory usage. mod_f(ast)cgi doesn't seem to work on Apache 2 at all.

So there are two ways to run RoR: either in Lighttpd (which has proper FastCGI support) or in Mongrel (a web server which can run RoR directly).

Re:Apache? (2, Informative)

Dark$ide (732508) | more than 7 years ago | (#19742817)

> Ruby on Rails cannot be run in Apache. How do you arrive at that conclusion? I have RoR running in Apache. It needs some funky .htaccess stuff and I have a virt host defined for it.


# SetEnv RAILS_ENV development
ServerName rails
DocumentRoot /home/Dark$ide/ruby/myapp/public/
ErrorLog /home/Dark$ide/ruby/myapp/log/apache.log


Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all



Alias /ruby /home/Dark$ide/ruby/myapp/public

Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all

The .htaccess file in the public directory needs a quick tweak to match the Alias to get the rewrite rules working. Works well.

Re:Apache? (1)

stevey (64018) | more than 7 years ago | (#19743111)

A better solution is to use mongrel running on localhost:3000, then use Apache's mod_proxy to proxy to it.

That loses the overhead of parsing .htacess for each request.

See here for a Debian-centric guide [debian-adm...ration.org] .

Re:Apache? (0)

Anonymous Coward | more than 7 years ago | (#19743451)

> That loses the overhead of parsing .htacess for each request.

And adds the overhead of another HTTP request.

Well done!

Re:Apache? (1)

metalhed77 (250273) | more than 7 years ago | (#19743381)

Yes, it cannot be run "in" apache, and this is a good thing.

The way most rails stacks are setup your webserver (I use apache for instance) gets a request.
The web server looks for the file on the disk, if it's there it sends it and that's the end.
If the file is not there, the server asks a load balancer (ModProxyBalancer, Pound, Nginx, even FastCGI*)
to send a request to one of a pool of persistent rails processes which can then handle it.

Now, if you serve up say, 5 images and 3 JS or CSS files on a page on average, that means that 5 out of 8 requests will use a bloated webserver process containing RoR, when in reality we need far fewer processes since only 1 in 8 requests actually ever touches ruby code. Less loaded and running code makes a big difference.

The other advantage is that this makes adding extra servers easy. You've already got the scalability built in, expanding out is just adding another server and adding its rails daemons.

If you're still confused, here's a good diagram:
http://blog.innerewut.de/articles/2006/04/21/scali ng-rails-with-apache-2-2-mod_proxy_balancer-and-mo ngrel [innerewut.de]

*Yes I know FastCGI isn't really a load balancer in the same sense as NGinx and Pound and ModProxyBalancer

Re:Apache? (1)

Fweeky (41046) | more than 7 years ago | (#19743781)

mod_fastcgi runs fine in Apache 2, threaded mode and all, and has done so for many years. mod_fcgi is an alternative with, supposedly, a smarter application manager (that's the thing which spawns additional FastCGI servers as needed), and it too should work fine in Apache 2, though we've only used mod_fastcgi in production.

This is our preferred way of running PHP, too. Keeps the webserver nice and lean and isolated and stable. On the other hand, I think it would be tidier if PHP had something like mongrel instead; a minimal webserver for serving PHP applications, so we can just set up mod_proxy(_balancer) instead of faffing about with what is, ultimately, a somewhat crufty solution to a problem HTTP already solves. Anyone fancy porting the HTTP bits of mongrel to a PHP SAPI?

Re:Apache? (2, Insightful)

Simon (S2) (600188) | more than 7 years ago | (#19742571)

Color me stupid here, but isn't Apache the de facto standard that most everyone uses?
Yes, for production environments of course, but for development it does not really matter that your webserver is scalable/fast/modular/supported/whatever so webrick or mongrel are better choices.

Re:Apache? (1)

mwvdlee (775178) | more than 7 years ago | (#19742747)

...unless your development shop considers the whole deployment aspect part of development too. I've basically seen both flavors, and many inbetween.

Personally; I know the brand of webserver isn't supposed to matter to the webapp, but I'm not betting any money on it. I like my development environment to be as much like production as possible ;)

Re:Apache? (1)

suv4x4 (956391) | more than 7 years ago | (#19743033)

Yes, for production environments of course, but for development it does not really matter that your webserver is scalable/fast/modular/supported/whatever so webrick or mongrel are better choices.

It doesn't hurt either. Especially since you're supposed to use as close environment to production as possible. I run Apache on my winbox for dev and I'm perfectly happy with it (next step is moving to a linux box.. but not yet).

Ask Slashdot? (1)

WIAKywbfatw (307557) | more than 7 years ago | (#19742367)

It seems to me that this would have made a good "Ask Slashdot" article.

All it would have taken was editing a word or two of the submitted story to make the implicit question more direct and, voila, there's the article...

Rails is a joke for serious production sites (1)

Anonymous Coward | more than 7 years ago | (#19742377)

How anybody could conclude otherwise is beyond me.

Re:Rails is a joke for serious production sites (1)

rubycodez (864176) | more than 7 years ago | (#19743479)

no, j2ee is the joke. I work for a VAR that sells among other things Weblogic and all the major hardware platforms (Sun, HP, Dell, IBM). My observation is that j2ee sells hardware, that's for sure.

Good application architecture is independent of language, but the common commercial j2ee platforms automate the creations of layers of bloat that needs expensive hardware and large numbers of servers to power. And the latest craze with SOA just puts middleware on your middleware, more bloat and even more servers.

So go ahead and use your 1980's warmed-over c++ / half-baked oo crap that is java, make my employer rich.

or, use your brain and a truly high level language, cut time to market in third and run on one third the front-end and middle-ware hardware.

Re:Rails is a joke for serious production sites (1, Insightful)

Anonymous Coward | more than 7 years ago | (#19743589)

J2ee and Rails are both a joke, they just target different ends of the comedy market. As it happens, Java and Ruby are both fine languages, and they hardly have the monopoly on over-reaching, ultimately restrictive web frameworks and templating solutions.

Show me one site.... (2, Interesting)

Anonymous Coward | more than 7 years ago | (#19742457)

I've read a little about Ruby on Rails. Will somebody list one site that's on Rails and is worth a flip? I've seen the hype, but I'd love to see a site that talks the talk. Thanks!

Re:Show me one site.... (0)

Anonymous Coward | more than 7 years ago | (#19742525)

RevolutionHealth.com, Blinksale.com, Twitter.com, various 37signals.com applications, just to name a few....

Re:Show me one site.... (0)

Anonymous Coward | more than 7 years ago | (#19742555)

Which of those is worth a flip exactly? Anything on the scale of wikipedia or slashdot and how much more hardware does Rails need for equivalent performance to a site done in perl or Zend PHP with an op-cache?

Never heard of 'm (0)

Anonymous Coward | more than 7 years ago | (#19742783)

Four URLs, and I haven't ever heard of any of them. And I get around on the Web (2.0 Aaarrrgggg!!!).

This is my main gripe with RoR: It's boasted into the stratosphere by zealots, but hasn't proven itself in The Real World at all. PHP, PERL, Python, etc on the other hand have proven themselves more then enough. Penny-arcade is about the only widely known site I've ever heard of running on RoR, and from what I read, it took a lot of static page generation to keep it fast enough.

That and the fact that RoR proponents somehow have the notion that RoR is a magical elixer which will cure all your web-dev problems and that it's somehow soooo much better than every other thing out there. RoR is nothing more than a framework with a bunch of (really neat) libs that existed for other languages way before RoR came into the picture.

I'll wait a while before putting all my eggs in one basket. Until then, I'll happily keep on using PHP and Python for my web development.

Re:Never heard of 'm (0)

Anonymous Coward | more than 7 years ago | (#19743367)

This is my main gripe with RoR: It's boasted into the stratosphere by zealots, but hasn't proven itself in The Real World at all. PHP, PERL, Python, etc on the other hand have proven themselves more then enough.

So much so, in fact, that PHP was chosen for rubyonrails.com instead of RoR.

Penny-arcade is about the only widely known site I've ever heard of running on RoR, and from what I read, it took a lot of static page generation to keep it fast enough.

You call that fast enough? It seems to fall over every time somebody links to it. Everybody talks about 37Signals, but aren't they the people that keep saying no to feature requests and had massive data loss when the Google Web Accelerator came along because their web applications were buggy? And these are the guys that created RoR!

Its fanboys keep telling everybody that this is the price you pay for rapid development and you can always go back and optimise later. Well sorry, but I can develop just as quickly with Django, which incidentally was created by a newspaper, so it's not like that hasn't proven itself.

Re:Never heard of 'm (1)

HorsePunchKid (306850) | more than 7 years ago | (#19743815)

This is my main gripe with RoR: It's boasted into the stratosphere by zealots, but hasn't proven itself in The Real World at all...

Err... In case it wasn't common knowledge, 37signals is largely responsible for the development of Ruby on Rails. As such, I'm pretty sure it powers all of their apps, like Ta-da List, Basecamp, and Highrise. I think Highrise is pretty new, but Basecamp has been around for a while, and I think it qualifies as proven [basecamphq.com] .

It's hard to believe you "get around on the Web 2.0" and yet haven't heard of 37signals or any of their products; perhaps you just don't remember hearing of them. Jason Fried, the founder (a co-founder?) of 37signals, gave the keynote at our campus webmaster forum this year. I'm pretty sure most of us knew who he was. (I could be wrong!)

All that said, I've tried RoR and not liked it. It's on my list of things to play with again the next time I have some free cycles. :)

Re:Show me one site.... (1)

pasamio (737659) | more than 7 years ago | (#19742569)

I believe Penny Arcade (http://www.penny-arcade.com) is running RoR

Re:Show me one site.... (0)

Anonymous Coward | more than 7 years ago | (#19742613)

http://www.redbubble.com.au/ [redbubble.com.au]

Re:Show me one site.... (1)

cortense (75925) | more than 7 years ago | (#19743545)

I'm assuming, as the previous responder did, that you mean "a site using Rails" when you say "a site that's on Rails", as opposed to a site about Rails. The obvious sites here are the 37signals [wikipedia.org] sites, the ones that were the impetus for the development of RoR by David Heinemeier Hansson [wikipedia.org] the first place. Basecamp [basecamphq.com] , a project management tool, was their first and Highrise [highrisehq.com] is their most recent. There are more of their sites listed on the Wikipedia page as well.

Another Rails site that's been in the headlines recently is Twitter [twitter.com]

If you're looking for a good place to start, Agile Web Development with Rails [pragmaticprogrammer.com] by Dave Thomas and DHH is probably the best book out there.

Re:Show me one site.... (1)

Neil Watson (60859) | more than 7 years ago | (#19743863)

Fraternity Live [fraternitylive.com]

Mongrel is a web server (2, Interesting)

Gunark (227527) | more than 7 years ago | (#19742635)

Mongrel is a web server, hence this package includes a web server (unless it doesn't actually contain Mongrel, despite what the writeup says). Also, Ruby 1.8.6 comes with WEBrick, which is a the web server Rails uses by default...

Anyway isn't a simplified Rails installer for Linux kind of redundant? Most newer Linux distros I've seen already have a native package that installs Ruby on Rails and all its dependencies. Most people will probably find the Instant Rails [rubyforge.org] package a lot more useful, since it does the same for Windows.

Re:Mongrel is a web server (1)

cortense (75925) | more than 7 years ago | (#19743607)

I certainly agree with the parent poster, I've installed Rails many times on Linux and it's never been more complex than a simple "apt-get install rails".

A similar product to Instant Rails, but for OS X is Locomotive [raaum.org] , a simple, GUI-based way of getting Rails up and running in that environment... one executable, no hassle. Also for OS X, the definitive tutorial for building and installing from source is certainly the one at HiveLogic [hivelogic.com] . I've used this tutorial as well, as installing it from the packages can be a little tricky on OS X 10.4, because it ships with a broken Ruby installation. Good news though, Leopard (10.5) will come with Rails installed by default. [rubyonrails.org]

mo3 uP (-1, Redundant)

Anonymous Coward | more than 7 years ago | (#19742677)

*BSD is dying Yet NIIGER ASSOCIATION

Ruby Sucks (0, Flamebait)

Anonymous Coward | more than 7 years ago | (#19742705)

That is all.

Special Announcement (5, Funny)

delire (809063) | more than 7 years ago | (#19742749)


After months of hard work I finally bring Debian/Ubuntu/Xandros/[derivativus infinitum] users a computer program that will not only download the latest RoR development packages for you, it will also notify you of new versions when they become available later.

Moreso, all the packages I provide are registered in a special database so that should you choose to remove the below packages, you can do so with ease using a GUI button or the command line!

Please download the following code into your computer terminal and compile it by hitting ENTER (one-key compile for convenience).

sudo apt-get update ; sudo apt-get install rails ruby rubygems libruby1.8-extras mysql libncurses-ruby openssl libzlib-ruby

The above program is licensed under the "Why Make It Harder Than It Needs 2B License". Please use this link [debian.org] to make a donation to my project.

Re:Special Announcement (4, Informative)

foobarf00 (666782) | more than 7 years ago | (#19743229)

From their blog:

"We decided to this so that we can share the same development environment with all the team. If programmers have a different Linux distro/version, they will still share the same development environment. This prevents programmers to say "well, it works on mine" when there is a problem. Also if you have a Linux distro package, versions may change when a new Linux distro is released. Also if you want to upgrade to the latest and greatest you are at the mercy of the Linux distribution. We will try to always have the latest versions of each tool. This helps to solve those problems."

Even better package (0)

Anonymous Coward | more than 7 years ago | (#19742807)

RoR's ActiveRecord makes it easy to use sqlite for development/testing and mysql/postgresql/etc for production (if desired.)

For the goals of LinRails, they would've been better served by packaging sqlite 3.4 instead of mysql.

Unlike mysql or postgresql, sqlite doesn't require a separate server process and it is ideal for:

* learning RoR
* testing RoR
* websites with few concurrent users writing data
* websites running in a VM with limited memory

And lastly, it wouldn't scare noobs as much just in case they are already running mysql and wondering if installing this package might break things.

A child with a hammer sees everything as a nail--much like developers and their favorite language|database|OS|...

Not really necessary (1)

MarkWatson (189759) | more than 7 years ago | (#19743079)

The Ruby bundles for Windows have their place but for Linux and OS X, just build Ruby from source, install gems, and you are good to go. Once Ruby and gem are installed use gem for everything.

A bit off topic, but useful advice: I set up editor projects (TextMate, gedit, etc.) for:

1. /usr/local/lib/ruby/1.8 - location of Ruby source code for standard libraries on my system
2. /usr/local/lib/ruby/gems/1.8/gems - location of local gem installs (often contain examples/tests and documentation files) on my system

When you are using a standard library or a gem it is great to have the source right in front of you for reference.

Binary? (0)

Anonymous Coward | more than 7 years ago | (#19743349)

Slashdot frontpage announces the release of a Linux binary package?? Without the intention of mocking it! I never tought I'd see this.

I got a better one! (0, Redundant)

gwolf (26339) | more than 7 years ago | (#19743735)

sudo aptitude install rails

Any questions?

Oh, and regarding foobarf00 [slashdot.org] 's reply: All the distributions strive to do exactly the same. Why would you want to keep track of versioning at two different upstream repositories (or... Do you use Gems? Well, s/two/many/ if you please) when you can keep all of your system's versions synchronized with The One True Source?
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>