Sadly, passenger-stack isn’t going to make you a sandwich, no child; Not even if you call it with sudo.
Here are some useful tips to get the ball rolling:
Both Merb and Rails currently have their own way of managing dependencies.
For merb you can install your gems using `thor merbinstall`, I’ve baked this into my capistano deployment scripts (extract).
Rails manages dependencies using `config.gem` in `environment.rb`, they can be installed using `rake gems:install`
Create a new file in `/etc/apache2/sites-available/your-app-name` that looks something like this:
Allow from all
Symlink `sites-available/your-app-name` file to `sites-enabled`:a2ensite your-app-name
Or you can do it manually:ln -s /etc/apache2/sites-available/your-app-name /etc/apache2/sites-enabled/your-app-name
Restart Apache using `/etc/init.d/apache2 restart`
Now Apache knows that your site should be running, hopefully; it is.
As root, run the following command:tail -f /var/log/apache2/*
Reload your app, this should warn you of any broken paths, missing dependencies and alike.
Apache almost never runs in an optimal state out of the box, remember, its everything to everyone.
Thankfully, its battle-hardened and can use some tweaks:
I’m not going to tell you why, so go and read the documentation, but on a 256 MB slice without MySQL or Memcached (Read: A pure app server) these worked well;PassengerUseGlobalQueue On PassengerMaxPoolSize 4
Those options go into /etc/apache2/extras/passenger.conf