4 Setting Up a CentOS Server
4.1 Install CentOS 7
Download CentOS from https://www.centos.org/download/. The DVD ISO should have the essentials.
Alternatively, you can use the NetInstall verion. Instructions are here: https://www.if-not-true-then-false.com/2014/centos-7-netinstall-guide/
4.2 Install additional system software
We assume you are logged in as a user with sudo privileges.
The following commands will get you most of what’s needed:
sudo -s
yum install postgres
yum install httpd
yum install epel-release
yum install http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm
yum install postgresql94-server postgresql-contrib postgis2_94 postgresql94-devel
yum install emacs # (or your favorite editor)
yum install git
yum install graphviz
yum install R
yum install java
4.3 Install required Ruby and Rails software8
4.3.1 RVM (Ruby Version Manager)
Run the following three commands to get and install RVM and add yourself to the
rvm
group:sudo grgpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -sSL https://get.rvm.io | sudo bash -s stable sudo usermod -a -G rvm `whoami`
Ensure rvmsudo works:
if sudo grep -q secure_path /etc/sudoers; then sudo sh -c "echo export rvmsudo_secure_path=1 >> /etc/profile.d/rvm_secure_path.sh" && echo Environment variable installed; fi
Log out of the server and then log back in to make RVM take effect.
Install the correct version of Ruby
First, visit https://github.com/PecanProject/bety/blob/master/.ruby-version and note the version of Ruby that BETYdb currently expects.
To install that version of Ruby, run
rvm install ruby-X.X.X
where X.X.X is the version number found in the .ruby-version file. Ensure this version is set as the default by running
rvm --default use ruby-2.3.0
4.4 Bundler:
gem install bundler --no-rdoc --no-ri
4.5 node.js (needed to be able to compile Rails assets):
sudo yum install -y epel-release
sudo yum install -y --enablerepo=epel nodejs npm
4.6 Phusion Passenger9
Passenger requires EPEL. Enable it with the following commands:
sudo yum install -y epel-release yum-utils
sudo yum-config-manager --enable epel
sudo yum clean all && sudo yum update -y
Ensure the date
is working properly and install ntp if not:
date
If this gives the wrong output, install ntp:
sudo yum install -y ntp
sudo chkconfig ntpd on
sudo ntpdate pool.ntp.org
sudo service ntpd start
Now add the Passenger YUM repository:
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
Install Passenger + Apache module:
sudo yum install -y mod_passenger || sudo yum-config-manager --enable cr && sudo yum install -y mod_passenger
Restart Apache:
sudo systemctl restart httpd
Check installation:
sudo /usr/bin/passenger-config validate-install
See the Phusion Passenger site’s instructions for installing RVM, Ruby, Bundler, and nodejs here: https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/apache/oss/install_language_runtime.html↩
See the Phusion Passenger site’s instructions for installing Passenger here: https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/apache/oss/el7/install_passenger.html↩