CentOS/RedHat
These are specific notes for installing PEcAn on CentOS (7) and will be referenced from the main installing PEcAn page. You will at least need to install the build environment and Postgres sections. If you want to access the database/PEcAn using a web browser you will need to install Apache. To access the database using the BETY interface, you will need to have Ruby installed.
This document also contains information on how to install the Rstudio server edition as well as any other packages that can be helpful.
Install build environment
sudo -s
# install packages needed for PEcAn
yum -y groupinstall 'Development Tools'
yum -y install git netcdf-fortran-openmpi-devel R bc curl libxml2-devel openssl-devel ed udunits2 udunits2-devel netcdf netcdf-devel gmp-devel python-devel gdal-devel proj-devel proj-epsg expect
# jags
yum -y install http://download.opensuse.org/repositories/home:/cornell_vrdc/CentOS_7/x86_64/jags3-3.4.0-54.1.x86_64.rpm
yum -y install http://download.opensuse.org/repositories/home:/cornell_vrdc/CentOS_7/x86_64/jags3-devel-3.4.0-54.1.x86_64.rpm
# fix include folder for udunits2
ln -s /usr/include/udunits2/* /usr/include/
# install packages needed for ED2
yum -y install environment-modules openmpi-bin libopenmpi-dev
# install requirements for DALEC
yum -y install gsl-devel
# install packages for webserver
yum -y install httpd php
systemctl enable httpd
systemctl start httpd
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
# install packages to compile docs
#apt-get -y install texinfo texlive-latex-base texlive-latex-extra texlive-fonts-recommended
# install devtools
echo 'install.packages("devtools", repos="http://cran.rstudio.com/")' | R --vanilla
# done as root
exit
echo "module load mpi" >> ~/.bashrc
module load mpi
Install Postgres
sudo -s
# point to latest PostgreSQL
yum install -y epel-release
yum -y install http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
# install packages for postgresql (using a newer version than default)
yum -y install postgresql94-server postgresql94-contrib postgis2_94 postgresql94-devel
# install following if you want to run pecan through the web
yum -y install php-pgsql
# enable bety user to login with trust by adding the following lines after
# the ability of postgres user to login in /var/lib/pgsql/9.4/data/pg_hba.conf
local all bety trust
host all bety 127.0.0.1/32 trust
host all bety ::1/128 trust
# Create database
/usr/pgsql-9.4/bin/postgresql94-setup initdb
# Enable postgres
systemctl enable postgresql-9.4
systemctl start postgresql-9.4
exit
Apache Configuration PEcAn
# become root
sudo -s
# get index page
rm /var/www/html/index.html
ln -s /home/carya/pecan/documentation/index_vm.html /var/www/html/index.html
# fix selinux context (does this need to be done after PEcAn is installed?)
chcon -R -t httpd_sys_content_t /home/carya/pecan /home/carya/output
# setup a redirect
cat > /etc/httpd/conf.d/pecan.conf << EOF
Alias /pecan /home/carya/pecan/web
<Directory /home/carya/pecan/web>
DirectoryIndex index.php
Options +ExecCGI
Require all granted
</Directory>
EOF
a2enconf pecan
/etc/init.d/apache2 restart
# done as root
exit
Apache Configuration BETY
sudo -s
# install all ruby related packages
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
yum -y install ruby ruby-devel mod_passenger
# link static content
ln -s /home/carya/bety/public /var/www/html/bety
# fix GemFile
echo 'gem "test-unit"' >> bety/Gemlile
# fix selinux context (does this need to be done after bety is installed?)
chcon -R -t httpd_sys_content_t /home/carya/bety
# setup a redirect
cat > /etc/httpd/conf.d/bety.conf << EOF
RailsEnv production
RailsBaseURI /bety
PassengerRuby /usr/bin/ruby
<Directory /var/www/html/bety>
Options +FollowSymLinks
Require all granted
</Directory>
EOF
systemctl restart httpd
Rstudio-server
NEED FIXING
NOTE This will allow anybody to login to the machine through the rstudio interface and run any arbitrary code. The login used however is the same as the system login/password.
Based on version of ubuntu 32/64 use either of the following
32bit only
wget http://download2.rstudio.org/rstudio-server-0.98.1103-i386.deb
64bit only
wget http://download2.rstudio.org/rstudio-server-0.98.1103-amd64.deb
# bceome root
sudo -s
# install required packages
apt-get -y install libapparmor1 apparmor-utils libssl0.9.8
# install rstudio
dpkg -i rstudio-server-*
rm rstudio-server-*
echo "www-address=127.0.0.1" >> /etc/rstudio/rserver.conf
echo "r-libs-user=~/R/library" >> /etc/rstudio/rsession.conf
rstudio-server restart
# setup rstudio forwarding in apache
a2enmod proxy_http
cat > /etc/apache2/conf-available/rstudio.conf << EOF
ProxyPass /rstudio/ http://localhost:8787/
ProxyPassReverse /rstudio/ http://localhost:8787/
RedirectMatch permanent ^/rstudio$ /rstudio/
EOF
a2enconf rstudio
/etc/init.d/apache2 restart
# all done, exit root
exit
Additional packages
NEED FIXING
HDF5 Tools, netcdf, GDB and emacs
sudo apt-get -y install hdf5-tools cdo nco netcdf-bin ncview gdb emacs ess nedit