For my new project, I am setting up the working environment right now, and the key place in it is occupied by a bug / timetracker + wiki. Paid implementations are known (the same Basecamp, Fogbugs, updatelog.com), but I wanted to find something that is hosted on my server. From the well-known and well-working - this is Bugzilla (with very modest functionality), Trac (there is everything, but only 1 project), and I just came across a “new” project (about 3 years old for it) - Redmine. Almost analogous to the above mentioned paid services, but free. The problem for me is that it is written in Ruby on Rails, and as it turned out, the deployment of ROR applications may not be too simple (at least for such newbies in this business as me). Since hosting does not specialize in Ruby, there is no Passenger. In the end, it turned out that all this is not so difficult :-)
Standard installation instructions imply the launch of WEBrick’s built-in WebServer (instead of Apache). Of course, you can deploy the system on a VPS server, and then everything will work in 5 minutes. On shared hosting you have to screw Apache. We managed to do it this way:
1. rails ~ / my_rails_app Create a dummy application (maybe this is not necessary)
2. rm -rf ~ / www / <your domain name> / Remove the directory for the site created by default cpanel
3. ln -s ~ / my_rails_app / public ~ / www / <your domain name> Create a symbolic link for statics and FCGI-dispatcher
4. From ~ / my_rails_app / public save to the thread .htaccess and dispatcher. *, You may need. We nail the contents of ~ / my_rails_app and expand the contents of the required ROR application there
5. Now in ~ / my_rails_app / public you need to do .htaccess, or edit the existing one to make it like this:
AddHandler fastcgi-script .fcgi
Options +FollowSymLinks +ExecCGI
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
Copy dispatch.fcgi.example to dispatch.fcgi, and fix inside the path to the environment, and ruby-interpreter. I want to note that it is necessary to use fcgi, just cgi will slow down godlessly (in this place I found out that in fcgi mode everything used to fall once every 4 minutes due to memory leaks :-))
')
Now you can go to <your domain name> and enjoy a working Ruby-application :-) If everything works, go to /config/environment.rb and turn on Production. The unencrypted line #ENV ['RAILS_ENV'] || = 'production'
Hopefully people will benefit from non-Ruby specialists :-)