Over time, I've become fairly adept at installing web apps downloaded from various sources. This site for instance runs on Drupal & I've also used Wordpress extensively. I've dabbled with quite a few others - and in most cases, the install process is fairly simple. The only common element was that they were all based on PHP / MySQL.
Something came up at work, that I thought could be easily be handled using some sort of issue tracking web app.
After looking at the available options, I ended up narrowing down to 3 options. Mantis, RT & Redmine. RT looked promising, but after I started going through the install notes, I decided that it was going to involve more time setting it up than I'd actually spend using it. Based on a few comparisons of features & playing about with demo versions, I settled on Redmine. Now, Redmine runs with Ruby on Rails - not the PHP that I'm used to. I thought that it would work in a similar sort of way though - that I move the whoe thing to a directory, alter a config file to use the correct database logins & then go to a setup page where I can go through any other configuration options.
I had heard a lot about Ruby on Rails - and I knew a smattering of Ruby (on which RoR runs, so thought that it would be a fairly easy thing to get running.
How wrong I was... (By the way - please try not to let this scare you off using Redmine (I got it working eventually) - just be prepared for the fact that it is a bit more complex than many other web apps at the setup stage).
So - I did it the guess work way first - unzipping the whole downloaded archive to a subdirectory & then looking for some sort of startup / config file. After giving up on this, I searched about for a help file.
So - the first issue was that I had put it in completely the wrong place - RoR apps have to be installed to a non-publicly accessable directory & then the public directory redirected to point tot he public directory within the App.
Next, I fond that I needed to use SSH to give me shell access to install various "gems". Gems are pre-compiled Ruby modules. I started running the script from the command line to download them, but it kept failing. After a bit of searching, I found that I needed to get my ISP to do this for me, as lot of them can only be installed by someone with root access. (This sounds like a quick thing - but it took quite a while before I worked out what I needed to do).
Next, I had to alter the database configuration in some text files, & then reun more commands from SSH to import the default database etc.
After a bit more playing about on the comand line, I thought I was finally ready to open the web browser to the right page & see the program running - but no such luck. Instead I got error messages about the wrong versions of various gems being installed. I looked from the command line however & the correct versions were definitely still there. After much playing about with different setting & configuration files, I worked out that I could alter some lines in the .htaccess to point the app to the right direction to find these.
Finally, I came up with a login prompt, but the text looked plaing & unstyled. Quite a bit more searching about, along with renaming of files & deleting of various lines from .htaccess was needed before this bit worked.
A few more configuration files then needed to be altered & then it was pretty much operational.
Now - this all seems pretty complex. Which makes my wonder whether RoR apps are more appealing to developers than end users. Most install information assumes that yo are using the apps on your own server, which you have root access on, not shared hosting (which is what most people have), so a lot of things are made more complicated. I'm assuming that it must be way easier to develope apps in RoR, as for the end user, it seems to involve a lot of extra effort, for an end result that visually could have been created with a PHP app.
So - someone explain to me - what are the advantages of RoR - as so far to me it just seems like a lot of additional work.