Skip to content
Dhia-Eddine Kennouche edited this page Feb 12, 2014 · 14 revisions

Installation Instructions

The following are instructions on how to run Omega from source on the platform of your choice.

Eventually it'd be good to submit packages to the major Linux distributions (any contributions on that front would be more than welcome!).

But until that time, this page will be updated to reflect the latest setup process on the supported platforms. Any errors in this process are high priority bugs in the application that need to be resolved (please file an issue if you run into anything).

Note the web frontend uses WebGL so if you wish to run and access that you will need a graphics card/adapter with OpenGL capabilities. Support for non-opengl rendering is on the TODO list.

## High Level A complete / generic high level overview of this process can be seen [here](Setup-Overview). ## Fedora Linux From a fresh Fedora 19 install:

Install Omega Dependencies:

  • sudo yum install git gcc gcc-c++ ruby-devel openssl-devel libcurl-devel rabbitmq-server
  • gem install rjr
  • gem install curb
  • gem install eventmachine_httpserver
  • gem install em-http-request --version 1.0.3
  • gem install em-websocket
  • gem install em-websocket-client
  • gem install amqp

Startup the messaging queue:

  • sudo service rabbitmq-server start
  • sudo chkconfig --level 35 rabbitmq-server on

Download Omega:

Run the server:

  • RUBYLIB='lib' ./bin/omega-server

Seed it (in a seperate terminal):

  • RUBYLIB='lib' ./examples/universes/small.rb

Create a user:

  • RUBYLIB='lib' ./examples/users.rb Anubis sibuna Athena regular_user

Include static image and audio content in ui:

  • git clone https://github.com/movitto/omega-conf.git # this will take a few minutes
  • ln -s ~/omega/omega-conf/release/omega-content/audio/ site/source
  • ln -s ~/omega/omega-conf/release/omega-content/images/ site/source

Setup the web frontend:

  • sudo yum install nodejs
  • gem install rake
  • gem install middleman
  • rake site:preview

A web server is needed to proxy requests between the browser and omega-server/ the web frontend:

  • sudo yum install httpd
  • sudo setenforce 0
  • Copy the omega.conf to /etc/httpd/conf.d/omega.conf.
  • sudo service httpd start

Pop open firefox, navigate to http://localhost/womega and login!

Gem list:

  • activesupport (3.2.15)
  • addressable (2.3.5)
  • amq-protocol (1.8.0)
  • amqp (1.1.0)
  • bigdecimal (1.2.0)
  • bundler (1.3.5)
  • chunky_png (1.2.9)
  • coffee-script (2.2.0)
  • coffee-script-source (1.6.3)
  • compass (0.12.2)
  • cookiejar (0.3.0)
  • curb (0.8.5)
  • em-http-request (1.0.3)
  • em-socksify (0.3.0)
  • em-websocket (0.5.0)
  • em-websocket-client (0.1.2)
  • eventmachine (1.0.3)
  • eventmachine_httpserver (0.2.1)
  • execjs (1.4.0)
  • ffi (1.9.3)
  • fssm (0.2.10)
  • haml (4.0.3)
  • hike (1.2.3)
  • http_parser.rb (0.6.0.beta.2, 0.5.3)
  • i18n (0.6.5)
  • io-console (0.4.2)
  • json (1.7.7)
  • kramdown (1.2.0)
  • listen (1.3.1)
  • middleman (3.1.6)
  • middleman-core (3.1.6)
  • middleman-more (3.1.6)
  • middleman-sprockets (3.1.4)
  • multi_json (1.8.2)
  • psych (2.0.0)
  • rack (1.5.2)
  • rack-test (0.6.2)
  • rake (10.1.0)
  • rb-fsevent (0.9.3)
  • rb-inotify (0.9.2)
  • rb-kqueue (0.2.0)
  • rdoc (4.0.1)
  • rjr (0.16.6)
  • sass (3.2.12)
  • sprockets (2.10.0)
  • sprockets-helpers (1.0.1)
  • sprockets-sass (1.0.2)
  • thor (0.18.1)
  • tilt (1.3.7)
  • uglifier (2.1.2)
  • websocket (1.1.1)
## Ubuntu Linux From a fresh Ubuntu 13.04 install:

Install Omega Dependencies:

  • sudo apt-get install git c++ ruby1.9.1-dev libssl-dev libcurl4-openssl-dev rabbitmq-server
  • gem install --install-dir ~/.gem/ruby/1.9.1/ rjr
  • gem install --install-dir ~/.gem/ruby/1.9.1/ curb
  • gem install --install-dir ~/.gem/ruby/1.9.1/ eventmachine_httpserver
  • gem install --install-dir ~/.gem/ruby/1.9.1/ em-http-request --version 1.0.3
  • gem install --install-dir ~/.gem/ruby/1.9.1/ em-websocket
  • gem install --install-dir ~/.gem/ruby/1.9.1/ em-websocket-client
  • gem install --install-dir ~/.gem/ruby/1.9.1/ amqp

Download Omega:

Run the server:

  • RUBYLIB='lib' ./bin/omega-server

Seed it (in a seperate terminal):

  • RUBYLIB='lib' ./examples/universes/small.rb

Create a user:

  • RUBYLIB='lib' ./examples/users.rb Anubis sibuna Athena regular_user

Include static image and audio content in ui:

  • git clone https://github.com/movitto/omega-conf.git # this will take a few minutes
  • ln -s ~/omega/omega-conf/release/omega-content/audio/ site/source
  • ln -s ~/omega/omega-conf/release/omega-content/images/ site/source

Setup the web frontend:

  • sudo apt-get install nodejs
  • gem install --install-dir ~/.gem/ruby/1.9.1/ middleman
  • cd site
  • ~/.gem/ruby/1.9.1/bin/middleman server -p 4567

A web server is needed to proxy requests between the browser and omega-server/ the web frontend:

  • sudo apt-get install apache2
  • Copy the omega.conf to /etc/httpd/conf.d/omega.conf.
  • sudo service a2enmod proxy
  • sudo service a2enmod proxy_http
  • sudo service apache2 start

Pop open firefox, navigate to http://localhost/womega and login!

Gem list:

  • activesupport (3.2.15)
  • addressable (2.3.5)
  • amq-protocol (1.8.0)
  • amqp (1.1.0)
  • bundler (1.3.5)
  • chunky_png (1.2.9)
  • coffee-script (2.2.0)
  • coffee-script-source (1.6.3)
  • compass (0.12.2)
  • cookiejar (0.3.0)
  • curb (0.8.5)
  • em-http-request (1.0.3)
  • em-socksify (0.3.0)
  • em-websocket (0.5.0)
  • em-websocket-client (0.1.2)
  • eventmachine (1.0.3)
  • eventmachine_httpserver (0.2.1)
  • execjs (1.4.0)
  • ffi (1.9.3)
  • fssm (0.2.10)
  • haml (4.0.3)
  • hike (1.2.3)
  • http_parser.rb (0.6.0.beta.2, 0.5.3)
  • i18n (0.6.5)
  • json (1.8.1)
  • kramdown (1.2.0)
  • listen (1.3.1)
  • middleman (3.1.6)
  • middleman-core (3.1.6)
  • middleman-more (3.1.6)
  • middleman-sprockets (3.1.4)
  • multi_json (1.8.2)
  • rack (1.5.2)
  • rack-test (0.6.2)
  • rake (10.1.0)
  • rb-fsevent (0.9.3)
  • rb-inotify (0.9.2)
  • rb-kqueue (0.2.0)
  • rjr (0.16.6)
  • sass (3.2.12)
  • sprockets (2.10.0)
  • sprockets-helpers (1.0.1)
  • sprockets-sass (1.0.2)
  • thor (0.18.1)
  • tilt (1.3.7)
  • uglifier (2.1.2)
  • websocket (1.1.1)
## Windows Tried this in a Windows 7 environment (though this should work on Windows going back to 2000/XP)

Download/Install Ruby For Windows:

Registration Screenshot

Enter the following commands at the prompt (indicated here with '>')

  • cd C:\Ruby193\devkit

  • ruby dk.rb init

  • ruby dk.rb install

Install Omega Dependencies:

  • gem install rjr --platform=ruby

  • gem install eventmachine_httpserver --platform=ruby

  • gem install em-http-request --platform=ruby --version=1.0.3

  • gem install em-websocket --platform=ruby

  • gem install em-websocket-client --platform=ruby

Download curl for Windows:

Registration Screenshot

  • gem install curb --platform=ruby -- --with-curl-bin="C:/curl/bin" --with-curl-lib="C:/curl/bin" --with-curl-include="C:/curl/include"

Install messaging queue:

Install git for Windows and fetch Omega:

Registration Screenshot

Run Omega:

  • set PATH=%PATH%;C:\curl\bin

  • cd C:\omega

  • ruby -Ilib bin\omega-server

The server will now stay running so long as this terminal is open.

Seed Omega (in a seperate terminal):

  • cd C:\omega

  • ruby -Ilib .\examples\universes\small.rb

  • ruby -Ilib .\examples\users.rb Anubsi sibuna Athena regular_user

  • note: ran into issue w/ previous command where it ran successfully but did not exit/return to command line (just hung) after it was done, need to fix

Setup UI Audio/Image content:

  • Open git gui
  • Clone https://github.com/movitto/omega-conf.git to C:\omega\omega-conf (will take a few minutes)
  • Copy images and audio directories underneath C:\omega\omega-conf\release\omega-content to C:\omega\site\source

Registration Screenshot

Run Web UI frontend:

Setup nginx webserver to proxy requests between Omega and web fronend:

  • Download: http://nginx.org/download/nginx-1.5.6.zip

  • Install to C:\nginx

  • Edit C:\nginx\conf\nginx.conf config

  • Add the following to the default server section of the config:

      location /womega/ {
           rewrite ^/womega/(.*) /$1 break; 
           proxy_pass        http://localhost:4567;
      }
    
      location /omega {
           proxy_pass        http://localhost:8888;
      }
    

Registration Screenshot

  • Double click on nginx.exe in C:\ngnix to start the server

Use the Simulation:

Gem list:

  • activesupport (3.2.15)
  • addressable (2.3.5)
  • amq-protocol (1.8.0)
  • amqp (1.1.1)
  • bigdecimal (1.1.0)
  • bundler (1.3.5)
  • chunky_png (1.2.9)
  • coffee-script (2.2.0)
  • coffee-script-source (1.6.3)
  • colored (1.2)
  • compass (0.12.2)
  • cookiejar (0.3.0)
  • curb (0.8.5)
  • em-http-request (1.0.3)
  • em-socksify (0.3.0)
  • em-websocket (0.5.0)
  • em-websocket-client (0.1.2)
  • eventmachine (1.0.3 x86-mingw32)
  • eventmachine_httpserver (0.2.1)
  • execjs (1.4.0)
  • ffi (1.9.3)
  • fssm (0.2.10)
  • haml (4.0.3)
  • hike (1.2.3)
  • http_parser.rb (0.5.3)
  • i18n (0.6.5)
  • io-console (0.3)
  • json (1.8.1, 1.5.5)
  • kramdown (1.2.0)
  • listen (1.3.1)
  • middleman (3.1.6)
  • middleman-core (3.1.6)
  • middleman-more (3.1.6)
  • middleman-sprockets (3.1.4)
  • minitest (2.5.1)
  • multi_json (1.8.2)
  • rack (1.5.2)
  • rack-test (0.6.2)
  • rake (10.1.0, 0.9.2.2)
  • rb-fsevent (0.9.3)
  • rb-inotify (0.9.2)
  • rb-kqueue (0.2.0)
  • rdoc (3.9.5)
  • rjr (0.16.6)
  • sass (3.2.12)
  • sprockets (2.10.0)
  • sprockets-helpers (1.0.1)
  • sprockets-sass (1.0.2)
  • thor (0.18.1)
  • tilt (1.3.7)
  • uglifier (2.1.2)
  • wdm (0.1.0)
  • websocket (1.1.1)
## Mac OSX Coming soon... ## Production install - Make sure to modify your omega.yml to change the default passwords and configure the app as needed - Running 'rake site:build' in the project directory will generate the static site in the site/build directory. This can then just be copied into the apache, nginx, or other web server document root. - See the omega-conf project for many config files and helper scripts to set things up in a production install. Also included is a rpm specfile for omega as well as a Puppet recipe to perform the install

See the Configuration section of the wiki for more information on how to configure the server.

## Next Steps... - It's your universe, whats next is up to you! ## omega-conf

The Omega Config Recipe consists of many tools & config files to assist w/ an omega install:

  • a puppet receipe to install / setup omega w/ dependencies and frontend

  • a bootstrapping script to install Omega from scratch + other helper / utility scripts

  • the image & audio content for an omega release

  • various other resources, config files, docs, and helpers

It iss a good starting resource to see the steps required to install project releases.

To use the bootstrap script simply download and run it as root like so:

$ wget https://raw.github.com/movitto/omega-conf/master/bin/omega-bootstrap.sh
$ chmod +x omega-bootstrap.sh
$ sudo ./omega-bootstrap.sh

Note it's been a little while since the recipe / bootstrap script has been updated. If there are any bugs feel free to file and issue or a pull request! Thanks!