This assums you have a base install of Fedora 16 inside a KVM instance SERVER: =============================================================================== 1: System Setup a: Get IP address - dhclient eth0 b: Disable iptables - service iptables stop c: Set up CrankCase Repo [crankcase] name=Crankcase $releasever - $basearch baseurl=http://mirror.openshift.com/pub/crankcase/fedora-$releasever/$basearch enable=1 gpgcheck=0 d: Install Packages - yum -y install stickshift-broker gcc gcc-c++ apr apr-util zlib-devel openssl-devel libcurl-devel httpd-devel rubygem-passenger-native-libs rubygem-swingshift-mongo-plugin bind-utils rubygem-uplift-bind-plugin rubygem-gearchanger-oddjob-plugin cartridge-php-5.3 rubygem-passenger-native-libs wget e: Work around passenger bugs - gem install passenger - passenger-install-apache2-module f: Selinux - setsebool -P httpd_unified on - setsebool -P allow_ypbind on g: Install bind-local - http://jknife.fedorapeople.org/TriLUG/bind-local-0.23-1.fc16.noarch.rpm 2: Configure Mongo a: Enable auth in mongo - Uncomment auth=yes in /etc/mongodb.conf b: Set mongo to auto start and start it. - chkconfig mongod on - service mongod start 3: Configure Broker a: removed b: rm -f /var/www/stickshift/broker/Gemfile.lock c: Add needed gems to the Broker gemfile /var/www/stickshift/broker/Gemfile - gem 'swingshift-mongo-plugin' - gem 'uplift-bind-plugin' - gem 'gearchanger-oddjob-plugin' d: Create plugin configurations ***CHANGE ADD TO DEVELOPMENT.RB*** - development.rb DNSKEY=grep Key: /var/named/example.com.private | cut -d ' ' -f2 ================================================== config.dns = { :server => "127.0.0.1", :port => 53, :keyname => "example.com", :keyvalue => $DNSKEY, :zone => "example.com", } config.auth = { :salt => "thisisreallyrandom", :mongo_replica_sets => false, :mongo_host_port => ["localhost", 27017], :mongo_user => "stickshift", :mongo_password => "", :mongo_db => "stickshift_broker_dev", :mongo_collection => "auth_user" } ================================================== e: Set the datastore password - Search development.rb for mooo and replace it with the mongo password you used for config.auth 4: Create Mongo User a: mongo localhost/stickshift_broker_dev --eval "db.addUser(\"stickshift\", \"\")" 5: Configure DNS a: "Configure" oddjob - sed -i -e 's/localhost/node.example.com/' \ /usr/lib/ruby/gems/1.8/gems/gearchanger-oddjob-plugin-0.8.3/lib/gearchanger-oddjob-plugin/gearchanger/oddjob_application_container_proxy.rb b: Fix DNS Provider - sed -i -e 's/@dns_provider/@ss_dns_provider/' \ /usr/lib/ruby/gems/1.8/gems/stickshift-controller-0.9.12/lib/stickshift-controller/lib/stickshift/dns_service.rb c: Create A name record for node.example.com nsupdate -k /var/named/example.com.key server 127.0.0.1 update delete node.example.com A update add node.example.com 180 A (ip for eth0) send quit d: On host machine update /etc/resolve.conf to include the VM ip e: Make sure node.example.com is resolving 6: Enable and start the services - chkconfig oddjobd on - chkconfig httpd on - chkconfig stickshift-broker on - service oddjobd start - service httpd start - service stickshift-broker start 7: Double check everything is set up - wget http://jknife.fedorapeople.org/TriLUG/ss-accept-broker - only *ONE* fail should happen(iptables) 8: Create stickshift user - ss-register-user -u -p CLIENT: =============================================================================== 0: Edit /etc/resolv.conf - add nameserver before your other nameservers 1: Install RHC client tools - gem install rhc 2: Create $HOME/.openshift - mkdir $HOME/.openshift 3: Configure $HOME/.openshift/express.conf - default_rhlogin= - libra_server='' 4: Create domain rhc domain create -n -p 5: Create application rhc app create -t php-5.3 -a php If all went well you should be able to goto php-.example.com in your host boxs browser. git remote add prod -m master git pull -s recursive -X theirs prod master git checkout -b r1 git checkout master git merge r1 git push prod r1:master