-
Notifications
You must be signed in to change notification settings - Fork 10
Install
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:
- git clone https://github.com/movitto/omega.git
- cd 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)
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:
- git clone https://github.com/movitto/omega.git
- cd 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)
Download/Install Ruby For Windows:
- http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.9.3-p448.exe?direct
- add ruby executables & associate rb files
- Download Ruby DevKit for Windows:
- https://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
- Run and extract to C:\Ruby193\devkit
- Open a terminal with Ruby:
- Start Menu > All Programs > Ruby1.9.3-p448 > Start Command Prompt with Ruby
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:
- http://curl.haxx.se/gknw.net/7.33.0/dist-w32/curl-7.33.0-devel-mingw32.zip
- Click on download, double click on curl-7.33.0-devel folder, select all files, right click and select 'copy'
- Create a folder at C:\curl, inside right click and 'paste' all files
-
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:
-
gem install amqp --platform=ruby
- Download and install erlang for windows: http://www.erlang.org/download/otp_win32_R16B02.exe
- Download and install rabbitmq-server (will auto-start on install): http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.0/rabbitmq-server-3.2.0.exe
Install git for Windows and fetch Omega:
-
Download/install git for windows: https://msysgit.googlecode.com/files/Git-1.8.4-preview20130916.exe
-
I left all options at the defaults except for "Use git with Windows Command Prompt"
-
Open git gui: Start Menu > Git > Git GUI
-
Click 'clone existing repository'
-
Clone https://github.com/movitto/omega.git to C:\omega
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
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
Run Web UI frontend:
- Download/install nodejs for windows http://nodejs.org/dist/v0.10.21/node-v0.10.21-x86.msi
-
cd C:\omega
-
gem install rake --platform=ruby
-
gem install middleman --platform=ruby
-
gem install wdm --platform=ruby
-
rake site:preview
Setup nginx webserver to proxy requests between Omega and web fronend:
-
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; }
- Double click on nginx.exe in C:\ngnix to start the server
Use the Simulation:
- Open up firefox, navgigate to http://localhost/womega and login!
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)
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-confThe 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!