Skip to content

Install GenApp

madscatt edited this page Jun 20, 2026 · 2 revisions

Install

Installing an Instance of GenApp

  • if you are simply installing a local instance without a webserver, you could follow these instructions

  • currently supported systems for automated install of a web server.

    • Ubuntu 14.04 LTS 64 bit, 16.04 LTS 64 bit and 18.04 LTS 64 bit
    • CentOS 6.7, 6.8, 6.9, 7.2, 7.3, 7.4, 7.5 & 7.6 64 bit
    • Red Hat Enterprise Linux 6.7, 6.8 & 7.5 64 bit
    • for RedHat make sure you are subscribed, as the rhel-server-rhscl-(6|7)-rpm repo is needed.
      • e.g. {{{ subscription-manager register --username --password --auto-attach }}}
    • Scientific Linux 7.2, 7.3 & CernVM 64 bit
  • if you have another target of interest or run into any issues during the install process please get in touch

  • if you have mighty linux prowess, you can try to install all the pieces by yourself

    • if so, you might want to also look at the install code in bash and perl

what this will do to your system

  • proper versions of apache-httpd, php, mongodb will be installed
    • if you have already installed a webserver or mongodb on this system for other purposes, it is recommended that you do not use the automated install process
  • http will be served (if you want https, you will have to modify the apache config and install certificates yourself)
  • genapp's websocket server will be proxied over http (or https if you switch to http).
  • a group "genapp" will be created
  • the webserver's user will be added to the genapp group
  • the genapptest application instance will be installed
  • a messaging server will run with two process
    • php msg-wsserver.php and php udp-server.php
    • these can be managed with $ sudo /etc/init.d/rc.genapp start|stop|status|restart
  • CentOS & RedHat
    • apache httpd will be upgraded to 2.4.6 from the Centos SCL or RHSCL repositories
    • port 80 will be opened in iptables
    • httpd will run in selinux "permissive" mode
    • /var/www will be backed up and symbolically linked to /opt/rh/httpd24/root/var/www

steps for an automated install

  • you will need sudo access setup for your user

  • check the special system specific notes below before starting

  • install Git and clone the GenApp code into /src/genapp (you can change the directory if you wish, but all the notes below refer to this path, so substitute your chosen path)

    • The active/default branch is php7designer.
    • Ubuntu 14.04, 16.04 & 18.04 LTS 64 bit
    • $ {{{sudo apt-get update && sudo apt-get -y install git build-essential libssl-dev bc && sudo mkdir /src && sudo chmod a+rwx /src && cd /src && git clone https://github.com/ehb54/genapp.git}}}
    • Centos 6.7, 6.8, 7.2, 7.3, 7.4, 7.5, 7.6 & RedHat 6.7, 6.8 64 bit
    • $ {{{sudo yum install -y git openssl-devel bc bind-utils && sudo yum -y groupinstall 'Development tools' && sudo mkdir /src && sudo chmod a+rwx /src && cd /src && git clone https://github.com/ehb54/genapp.git}}}
    • RedHat 7.5 64 bit
    • $ {{{sudo yum groups mark install 'Development tools' && sudo yum groups mark convert 'Development tools' && sudo yum -y groupinstall 'Development tools' && sudo yum install -y git openssl-devel bc bind-utils && sudo mkdir /src && sudo chmod a+rwx /src && cd /src && git clone https://github.com/ehb54/genapp.git}}}
    • Scientific Linux 7.2, 7.3 & CernVM 64 bit
    • $ {{{sudo yum install -y git openssl-devel && sudo yum -y groupinstall 'Development tools' && sudo mkdir /src && sudo chmod a+rwx /src && cd /src && git clone https://github.com/ehb54/genapp.git}}}
  • begin the install process

    • $ {{{/src/genapp/sbin/install}}}
  • the install process will stop with (hopefully) appropriate notes that will require you to do something and restart (simply rerun the install command)

    • in particular, it will stop the first time requesting you verify the created config.json
    • this requires usage of the utility {{{/src/genapp/sbin/setconfig.pl}}}
      • $ {{{/src/genapp/sbin/setconfig.pl -h}}} will list the options
    • see system specific notes for what to expect

system specific notes

  • CentOS & RedHat & Scientific Linux
    • a new version of perl is needed and the install process will stop early and tell you to run {{{$ /src/genapp/sbin/install-perl-stable}}}
    • this will not overwrite the system installed perl, but will create a separate copy of perl under /src/genapp
  • Scientific linux
    • package kit seems to interfere with yum (giving a yum lock error) if you get this during install, try {{{ $ sudo systemctl stop packagekit.service }}}
  • RedHat
    • make sure your system is registered with RedHat {{{ $ sudo subscription-manager register }}}
    • the RHSCL repository is needed, which seems to require registering
    • RH 6.x
    • the RHSCL repository is needed, so you will have to attach a pool, the install process will stop and explain this
      • you could do this in advance manually so as to not halt the install process
      • the command install will run to try to enable RHSCL is {{{ $ sudo yum-config-manager --enable rhel-server-rhscl-6-rpms }}}
      • if you are not attached to a pool, you will receive instructions to {{{ $ sudo subscription-manager list --available }}}
      • then you will have to pick a pool-id from the output and run {{{ $ sudo subscription-manager attach --pool=pool_id }}}
    • RH 7.5
    • RH 7 allows auto-attach (not sure if this was present in RH 6)
      • e.g. {{{ $ sudo subscription-manager register --username --password --auto-attach}}}
      • if you are not set for auto-attach, perhaps you can {{{ $ sudo subscription-manager unregister}}} and then register again with --auto-attach or simply manually enable:
        • the command install will run to try to enable RHSCL is {{{ $ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms }}}

after install

  • note that to get the GENAPP environment variable set for command line usage, you will need to login again (to read the updated /etc/profile.d/genapp.sh or .csh)

    • if you are using other than the bash or csh, it may not be set.
    • the proper settings (in bash) are {{{export GENAPP=/src/genapp; export PATH=$GENAPP/bin:$PATH}}}
  • test that it is working by pointing your web-browser to {{{ http://system-ip-address/genapptest }}}

    • go to tools->align and press "submit"
    • you should see something like the following in red in the output area:
Unexpected results:

hi => align executable

computation => sqrt( abs( input1 * input2 ) )
  • if this works, basic job submission is working

  • go to tools->center, check "message box results" and then "submit"

  • if messaging is working, you will see pop-up messages (8 in total) during the 1 minute default run.

  • try to register (the top right "head" icon) and then log in.

  • run tools->align again

  • take a look at your "file browser" (the file cabinet icon in the top right)

  • it should have a directory "no_project_specified" that can be expanded

  • if everything to this point worked, you should have a good installation

  • to use feedback, system message event notification and user registry email validation, outgoing email must be configured.

  • installing other applications

Clone this wiki locally