Development:Setup:Linux:RHEL

From Expertiza_Wiki
Jump to navigation Jump to search

Prerequisites

  • You must have shell access
  • You must have root access (via sudo), or the required software must already be installed

Install Git

sudo yum install git

Get Expertiza

Expertiza Repository URLs

Default

git clone <remote>
git clone git@github.com:expertiza/expertiza.git

Options

git clone -b <branch> <remote>
git clone -b production git@github.com:expertiza/expertiza.git

Install RVM

RVM Install

Single User Mode (Recommended)

\curl -L https://get.rvm.io | bash -s stable
Load RVM as a Function
source ~/.rvm/bin/rvm

Multi User Mode

\curl -L https://get.rvm.io | sudo bash -s stable
Load RVM as a Function
source /etc/profile

Post-Installation

Is RVM a Function?
$ type rvm | head -1
rvm is a shell function

If not, try loading RVM as a function again. If it is still not a function, try reinstalling RVM.

Make sure all the dependencies are met for RVM
rvm requirements

This will show a yum command. Run it to install the dependancies for Ruby. For example:

sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

Install Ruby v. 1.8.7

rvm install 1.8.7
rvm use 1.8.7

Create Expertiza Gemset (optional)

rvm use 1.8.7
rvm gemset create expertiza
rvm use 1.8.7@expertiza

Create a .rvmrc File (optional)

echo 'rvm use 1.8.7@expertiza' > .rvmrc

Install Native Expertiza Dependencies

Dependencies are for the gems raspell, rjb, nokogiri, and mysql.

sudo yum install aspell-devel java-devel gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel mysql-devel mysql-server

Install Bundled Gems

Set JAVA_HOME for the rjb gem:

export JAVA_HOME=/etc/alternatives/java_sdk
bundle install

Set Up the Database

Enable and Start the MySql Daemon

sudo service mysqld enable
sudo service mysqld start

Set the MySql Root Password

mysqladmin -u root password

Log in to MySql

mysql -uroot -p

The following commands are executed inside mysql

Create the Expertiza User

create user expertiza@localhost;

Create the Databases

create database pg_development;
create database pg_test;

Grant Privileges to the Expertiza User

grant all on pg_development.* to expertiza@localhost;
grant all on pg_test.* to expertiza@localhost;

Build the Expertiza Database

rake db:migrate
rake db:test:prepare

Import Development Data (Optional)

This step requires that you have your ssh private/public key pairs loaded in the production server under the rails user.
How to Add SSH Keys to the Expertiza Production Server

cap load_production_data