Slashdot Mirror


LinRails — Ruby On Rails For Linux

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

32 of 201 comments (clear)

  1. Whats wrong with... by monk.e.boy · · Score: 2, Insightful

    ...up2date?

    :-P

    monk.e.boy

  2. Aptitude by thechanklybore · · Score: 2, Interesting

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

    1. Re:Aptitude by compm375 · · Score: 5, Insightful

      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.

    2. Re:Aptitude by ZG-Rules · · 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 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.

    3. Re:Aptitude by Klaidas · · Score: 3, Insightful

      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.

    4. Re:Aptitude by charlieman · · 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.

    5. Re:Aptitude by EsbenMoseHansen · · Score: 3, Informative

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

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    6. Re:Aptitude by FooBarWidget · · Score: 3, Informative

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

  3. It does have a very good web server by Fjan11 · · Score: 3, Informative

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

    --
    This sig is just as redundant as the rest of this posting
  4. Re:Why MySQL by Anonymous Coward · · Score: 2, Funny

    because MySQL is free.

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

  5. Fantastic by PopeRatzo · · Score: 4, Interesting

    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.

    --
    You are welcome on my lawn.
  6. Apache? by Enderandrew · · Score: 2, Interesting

    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?

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. Re:Apache? by andr0meda · · 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.

      --
      With great power comes great electricity bills.
    2. Re:Apache? by FooBarWidget · · Score: 5, Informative

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

    3. Re:Apache? by Simon+(S2) · · Score: 2, 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.
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    4. Re:Apache? by Dark$ide · · 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.
      --

      Sigs. We don't need no steenking sigs.

  7. Re:Why MySQL by Enderandrew · · Score: 2, 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)?

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  8. Why not a metapackage? by k-zed · · Score: 5, Insightful

    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.

    --
    we discovered a new way to think.
  9. Re:Why MySQL by dkf · · Score: 3, Insightful

    because MySQL is free. And PostgreSQL is BSD, and so open. Please try again to list why MySQL should be used instead.
    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
  10. Re:Why MySQL by Simon+(S2) · · Score: 2, 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 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.
    --
    I just don't trust anything that bleeds for five days and doesn't die.
  11. Re:Why MySQL by Xest · · Score: 2, 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 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.

  12. Re:Why MySQL by killjoe · · Score: 2, 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.

    --
    evil is as evil does
  13. Show me one site.... by Anonymous Coward · · Score: 2, Interesting

    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!

  14. Mongrel is a web server by Gunark · · Score: 2, Interesting

    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 package a lot more useful, since it does the same for Windows.

  15. Special Announcement by delire · · Score: 5, Funny


    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 to make a donation to my project.

    1. Re:Special Announcement by foobarf00 · · Score: 4, Informative

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

  16. Ok, on site by Colin+Smith · · Score: 2, Interesting

    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.

    --
    Deleted
  17. Is it still single-threaded? by Sanity · · Score: 2, Interesting
    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), 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 who thinks so).

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

  18. Why .exe's are better by Krommenaas · · Score: 2, Informative

    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.

    1. Re:Why .exe's are better by jack455 · · Score: 2, Informative

      At some point I installed Fedora Core 2 (now on 7), and the install was very smooth. I installed KDE and already knew how to use that from using the Knoppix Live CD.

      Upon First Boot I immediately allowed Fedora to AutoUpdate, but then had trouble. Without a tutorial, I searched for and found software I wanted to install but I thought I had to compile from 'somepackage.tar.gz'. Oops. Seems silly to me now, but I didn't have anyone helping me. I knew I could go to forums, but didn't. I then found out about rpm's and how to install from the command line. Then I found out that 'yum' was better to use than 'rpm' for installing 'somepackage.rpm'. Weird, at first anyway. Eventually '#yum install yumex' got me a graphical software finder and installer. KMenu(like Start)---System---Yum Extender

      But occasionally I want to install software from a CD or download 'somepackage.rpm'.

      Instead of 'someprogram.exe' it's 'somepackage.rpm'. The one thing I had to learn wasn't so much how to do it, but what the commands meant.

      For the same reason I decided to stop using Windows, I wasn't going to type su into a terminal without knowing why. But you can run Konsole from the "start" menu. Type $su; enter root's password; navigate to your Desktop folder or wherever 'somepackage.rpm' is; type #yum localinstall somepackage.rpm; type y for ok!

      Not blazingly simple after all, but there's very little to understand.

      Remember that intermediate, advanced, or experts on any OS(windows, mac or linux/unix) should all be telling you _not_ to download an exe and run it in order to fix an internet connection.

  19. Re:Zope by samjensen · · Score: 2, Insightful

    Zope, Plone, Django, Turbogears -- cool.
    Cake, Symfony -- stay the hell away from these crummy frameworks.

    And sure Rails may be overhyped, but that doesn't mean that it's bad.

    --
    this space intentionally left blank
  20. Re:What's your problem with Cake and/or Symfony? by samjensen · · Score: 2, Interesting

    Care to elaborate? I'd like an educated opinion, why you think these aren't worth it. Do you have real experience with them or did you just dick around with each for 20 minutes? I did say that based on a quick hour-or-less session I did with several PHP frameworks. I checked out Symfony, Cake, Qcodo, Zend framework, and I may have taken a cursory look at a couple other. After evaluating those last summer (about a year ago exactly) I ended up using the Zend framework for that project.

    Both Symfony and Cake seemed nice at first, but I couldn't even follow their 101 tutorials because the instructions were not correct for the current stable versions. Sure I could have figured it out, but when I have a fairly short time to evaluate these things I'm not going to start diving into the source just to get started! I didn't have to do that with Rails, and I didn't have to do that with the Zend framework (which was at v0.14 at the time).

    Qcodo is interesting. Seagull looked fairly interesting as well, but this was a small internal project and the Zend framework fit the bill nicely.

    So it was based on a quick 20-minute dicking around. If you're very interested in the projects then they may work well for you, and for all I know the docs actually match the code by now which I guess was the biggest turn off.

    Or is it PHP that you don't like? I'm really interested. Propels XML is the only potential downside I can see. And that doesn't seen to much of a problem. I won't pretend to be a PHP fan but that didn't factor into my choice of framework since it had to be done in PHP. I didn't take more than a 20-minute glance at Propels (as part of Symfony iirc) so I don't have much of an opinion on it.

    Cake and Symfony try very hard to be Rails. If you have a choice of language I strongly urge anyone looking at those 2 to just use the real deal instead. If you want to use PHP then I would still urge you to look at Prado, Seagull, Zend framework or Qcodo before these 2. At least those have some unique features and direction, rather than just picking up the scraps Rails throws away.
    --
    this space intentionally left blank