Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

LinRails — Ruby On Rails For Linux

Posted by kdawson on Wed Jul 04, 2007 06:53 AM
from the be-the-first-on-your-block dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • ...up2date?

    :-P

    monk.e.boy

  • Makes this so easy it's hardly worth the packaging bother. Although I guess people still saddled with the atrocious Yum will like it.
    • 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 (Score:5, Insightful)

        by compm375 (847701) on Wednesday July 04 2007, @08:07AM (#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 (Score:4, Insightful)

          by Klaidas (981300) on Wednesday July 04 2007, @09:04AM (#19743191) Homepage
          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: (Score:2, Insightful)

            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 (Score:4, Informative)

            by EsbenMoseHansen (731150) on Wednesday July 04 2007, @02:33PM (#19746361) Homepage

            You fail to understand how people use software.

            Take a common program, for instance. Say, Gnumeric. And you're running Ubuntu 6.06 -- the Long Term Support release.

            So you are running a release that is made for one purpose: To not change and then complain that it doesn't change? Okaydokey. The rest of us just follows the automatic Ubuntu upgrades as times go by. Sure, sometimes we have to wait for 6 months before getting the latest .x release, but personally, I really don't care.

            It sounds as if you want a stable core, with application repositories closely tracking the newest available? Sounds like a decent idea for a distro. Are you sure that there isn't just such a distrobution?

            That's the problem. Repositories are just time-constrained cludges. People should be able to install cool new apps whenever they want, all in a single file, just like you buy a new CD from the shop and play it. Linux was getting there with Autopackage, but sadly that hasn't been taken up to any grand scale...

            I don't know about autopackage, but klik [atekon.de] seems to offer what you want. I'm sure the klik team will appreciate your contributions, at least with testing. They seem to need some server reasources, too, the search seems very slow.

            Personally, I prefer to be able to have new, fairly tested software without having to bother with the actual upgrades. But I am sure you actually enjoy hunting down the 10-50 apps you use and upgrade them as needed every now and then ;p

            • Re:Aptitude (Score:4, Informative)

              by FooBarWidget (556006) on Wednesday July 04 2007, @05:42PM (#19748117)
              "Great, so you download a .exe from some random website. You have no idea what's in it so you constantly run the risk of getting more spyware/adware/crap installed."
              What if it's not "some random website"? What if you know that it's good software, but it isn't in any repository?

              "Locate package foo. Download it, ensure dependencies are met"
              Ensure that dependencies are met? Most people don't want to manually hunt down hundreds of dependencies.

              "Alternatively download the source tarball and run ./configure && make && sudo make install. What's hard about that?"
              Try explaining that to your mother and your grandmother. You'll find out what's so hard about that.

              However, the fact that some software are not in repositories is just as much of a political/social problem as a technical one. It already starts with the question: DEB or RPM? What if I want to produce DEB but I'm using an RPM distro? If I produce a DEB, will it work on all Debian-based distros? (Answer is no, unfortunately.) If I produce an RPM will it work on all RPM-based distro? (No either). What about non-DEB non-RPM distros? Etc. Making an installer on Linux would hide the package format problem, but will not solve binary compatibility problems (FooApp needs libfoo.so.4 but AwesomeLinux only provides libfoo.so.5).
        • Re: (Score:2, Insightful)

          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 ben
  • by Fjan11 (649654) * on Wednesday July 04 2007, @07:04AM (#19742179) Homepage
    > 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.
    • by k-zed (92087) on Wednesday July 04 2007, @07:19AM (#19742277) Homepage Journal
      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.
    • 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 recomm

  • 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: (Score:2, Funny)

      by Anonymous Coward
      because MySQL is free.

      See, you're not the only one that can spew garbage.
    • Re: (Score:3, Insightful)

      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: (Score:3, Insightful)

        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 th

        • - 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.
          • - 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.

      • 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
    • 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...

      • 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.
    • 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: (Score:3, Informative)

      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
    • Re: (Score:3, Interesting)

      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.
    • "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 t
      • 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.
    • 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.
    • 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 la
  • Fantastic (Score:5, Interesting)

    by PopeRatzo (965947) * on Wednesday July 04 2007, @07:12AM (#19742233) Homepage Journal
    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.
    • 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.
  • Apache? (Score:3, Interesting)

    by Enderandrew (866215) <enderandrewNO@SPAMgmail.com> on Wednesday July 04 2007, @07:13AM (#19742241) Homepage Journal
    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: (Score:2, Interesting)


      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? (Score:5, Informative)

      by FooBarWidget (556006) on Wednesday July 04 2007, @07:51AM (#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: (Score:2, Informative)

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

      • 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 a
    • Re: (Score:3, Insightful)

      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.
      • ...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 ;)
      • 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).
  • 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...
  • Show me one site.... (Score:2, Interesting)

    by Anonymous Coward
    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!
  • by Gunark (227527) on Wednesday July 04 2007, @08:06AM (#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.

  • by delire (809063) on Wednesday July 04 2007, @08:16AM (#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.
    • by foobarf00 (666782) on Wednesday July 04 2007, @09:08AM (#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."
  • 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

    W
    • 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 serve