Development:Setup:Linux:RHEL
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
- (ssh, read/write) git@github.com:expertiza/expertiza.git
- (https, read/write) https://github.com/expertiza/expertiza.git
- (git, read-only) git://github.com/expertiza/expertiza.git
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
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
Inport 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