This tutorial assumes that you already have a working installation of an Apache server.
Install Phusion Passenger
Phusion Passenger has been by far the easiest way I’ve found for managing multiple Rails application instances on top of either Apache or Nginx. It comes as a gem and has custom modules for both major web servers.
Then you will need to update your apache configuration (as in the passenger instructions).
First, create a file called /etc/apache2/mods-available/passenger.load and input the following code :
Second, create a file called /etc/apache2/mods-available/passenger.conf and input the following code :
Then, enable the passenger module in Apache and restart the server.
Last but not least, you will need a DB engine. I mainly use PostgreSQL. Here is the installation process.
First create and init a new remote on your server
Capistrano needs git to update your code source. You can use any git repository as it is accessible from your server. Sometimes you could have a repository inside your local network and a server outside this network. In this case, your server will not be able to pull your code source. You can still create a git repository on your server, add it as a remote and push to it for capistrano. Here is how :
Capify your application
Add this following code into your Gemfile
And then :
And finally :
Capistrano is very well documented. By following the comments, first edit your /config/deploy.rb and then your specific environments settings in config/deploy/my_env.rb
You need to create and setup permissions for the folder which will be used to deploy your app.
Then you need to create a virtual host to your current folder. Create a new file called myapp.conf in /etc/apache2/site-available
Don’t forget the .conf extension. Without this extension Apache is not able to treat it.