Server configuration

From mx Help Wiki
Jump to: navigation, search


Setting up a production sever to run mx (and various other programs)

These notes document the present progress of setting up a server on a unconfigured and essentially empty machine. Note that additional software (see additional on wishlist) that mx does not require is being installed as well. If you already have a server (say OS X with apache) running the process should be significantly simplified. This process is ongoing now.


 * An uninterruptable power supply (UPS) will help protect your computer from power spikes and outages.

operating system


This was incredibly useful, and very easy to follow.


I.e. like rails + apache setup from slicehost & unixmonkey refers a lot to this article reg ubuntu: uses Apache+Mongrel+mod_proxy_balancer config

ubuntu documentation: has article on installing rails with apache using fastcgi although says not recommended it doesn't recommend any other way!

more ubuntu help from rails wiki:

stuff to do (by far not a complete list)

  * config linux with sudo
  * mysql and rails 2.02, ruby, gems
  * set up apache and php
  * apache virtual hosts
  * raid backup set up
  * Set bios to reboot at a power loss
  * performance config?
  * forward the port

applications to install wishlist

  * rails
  * ruby
  * ruby gems
  * imagemagick 
  * apache, or some other Rails capable server (list coming)
  * mysql  in theory other engines could be used  
  * php additional 
  * perl additional 
  * svn or trac? additional 
  * fisheye additional 
  * media wiki additional 
  * wordpress additional

specific setup example from Casey at the School of Computational Sciences at FSU (thanks Casey!)

still asking about this setup and possible need for rewrite config for apache, not sure if it supports additional platforms. In other words not saying that I recommend it...not yet!

The iSpace 2007 Ruby on Rails webserver was brought up in September, 2007, and it is scheduled to remain up until September of 2009. It was setup to facilitate Rails development, since Ruby on Rails requires special prerequisites and server configuration to run properly.

In the event that it needs to be rebuilt from scratch for whatever reason, use the following procedure to bring it up:


  • starting from a blank vm on vmWare server, with 10.0gb disk

space, 512mb RAM, and Ubuntu 7.04 mounted as the CD-ROM

1. Start with a clean install of Ubuntu 7.04. 2. Install Apache2 3. Enable a2enmod rewrite

  sudo a2enmod rewrite

4. Install FCGI for Apache and Ruby:

 sudo apt-get install libapache2-mod-fcgid

5. Configure FCIGD for Ruby. Edit the /etc/apache2/mods-available/fcgid.conf file to match the following template:

 <IfModule mod_fcgid.c>
 AddHandler fcgid-script .fcgi
 SocketPath /var/lib/apache2/fcgid/sock
 IdleTimeout 600
 ProcessLifeTime 3600
 MaxProcessCount 8
 IPCConnectTimeout 8
 IPCCommTimeout 48

6. Install some Ruby prerequisites:

 sudo apt-get install build-essential ruby1.8-dev libfcgi-dev

7. Install Ruby:

 sudo apt-get install ruby rdoc irb libyaml-ruby libzlib-ruby ri

8. Install RubyGems via source (recommended way):


 tar xzvf rubygems-0.9.2.tgz
 cd rubygems-0.9.2
 sudo ruby setup.rb

9. Install fcgi for Ruby (try this twice if it fails!):

 sudo gem install fcgi

10. Update the Gem System (try this twice if it fails!):

 sudo gem update --system

11. Install Rails and its dependencies:

 sudo gem install rails -y

12. Set the HTTP home directory to a local folder. Important, because it will not work on NFS shares!

he is running multiple platforms and comments:

No special configuration was needed, really. I am running the following development environments (platforms) on Ubuntu/Apache:

  1. Ruby on Rails (using fastCGI)
  2. PHP (using an Apache extension)
  3. Perl (using an Apache extension)
  4. ASP (using the MONO Apache extension)
  5. Python (using an Apache extension)

Each site is a virtual host. If a host happens to be running a RoR environment, then the Rewrites on the virtual host are setup appropriately. If the virtual host is running a PHP, Python, etc. application, then no special settings are applied to it.

Personal tools