wiki:dSite/c0OMF

OMF/OML Service Installation

Configure Apt Repository

To begin we'll need to add the repositories (ORBIT and MyTestbed) to the list of sources that our console will pull packages from. This is done by running the follwing commands.

Note: It is assumed that you have root access and can run these commands as root if needed

To install ORBIT and MyTestbed repositories gpg-keys into the consoles key-ring and dwonload the source lists for them execute the following commands (as root) on the console:

  • for 12.04 (precise):
    wget -qO - http://packages.orbit-lab.org/downloads/orbitapt.gpg.key | sudo apt-key add -
    wget -qO - http://download.opensuse.org/repositories/devel:tools:mytestbed:stable/xUbuntu_12.04/Release.key | sudo apt-key add -
    echo 'deb http://packages.orbit-lab.org/ubuntu precise main' >> /etc/apt/sources.list.d/orbit.list
    echo 'deb http://download.opensuse.org/repositories/devel:/tools:/mytestbed:/stable/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/oml2.list
    
  • for 14.04 (trusty):
    wget -qO - http://packages.orbit-lab.org/downloads/orbitapt.gpg.key | sudo apt-key add -
    wget -qO - http://download.opensuse.org/repositories/devel:tools:mytestbed:stable/xUbuntu_14.04/Release.key | sudo apt-key add -
    echo 'deb http://packages.orbit-lab.org/ubuntu trusty main' >> /etc/apt/sources.list.d/orbit.list
    echo 'deb http://download.opensuse.org/repositories/devel:/tools:/mytestbed:/stable/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/oml2.list
    

Once we have these changes in place, we need to update the repository list by executing:

apt-get update

Now let's upgrade any currently installed packages to the latest versions (this is to cover any bug fixes not included in the installation media)

apt-get upgrade

Install Services

All the services can be installed via a single container package:

apt-get install omf-aggmgr-geni-5.4

This will install:

The following extra packages will be installed:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common auth-client-config bind9 bind9utils binutils cmap-adobe-japan1 cpp cpp-4.6 fontconfig-config frisbee gcc gcc-4.6 ghostscript
  gnutls-bin gs-cjk-resource gsfonts imagemagick-common imagezip isc-dhcp-server ldap-auth-client ldap-auth-config ldap-utils ldapscripts libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libavahi-client3 libavahi-common-data libavahi-common3 libc-bin libc-dev-bin libc6 libc6-dev libcap2 libcups2 libcupsimage2 libdbd-mysql-perl libdbi-perl libfontconfig1 libgomp1 libgs9
  libgs9-common libhighline-ruby libhtml-template-perl libijs-0.35 libjasper1 libjbig2dec0 libjpeg-turbo8 libjpeg8 liblcms1 liblcms2-2 liblqr-1-0 libltdl7 liblua5.1-0 libmagickcore4 libmpc2 libmpfr4
  libmysql-ruby1.9.1 libmysqlclient-dev libmysqlclient18 libnet-daemon-perl libnss-ldap libodbc1 libpam-ldap libpaper-utils libpaper1 libperl5.14 libplrpc-perl libquadmath0 libreadline5 libruby1.8
  libruby1.9.1 libslp1 libsqlite3-ruby1.9.1 libssl0.9.8 libterm-readkey-perl libtiff4 libyaml-0-2 linux-libc-dev make manpages-dev mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server
  mysql-server-5.5 mysql-server-core-5.5 nmap omf-aggmgr-accountingcommon-5.4 omf-aggmgr-accountmanagement-5.4 omf-aggmgr-autoapprover-5.4 omf-aggmgr-cmc-5.4 omf-aggmgr-common-5.4
  omf-aggmgr-controlpanel-5.4 omf-aggmgr-delegatedam-5.4 omf-aggmgr-frisbee-5.4 omf-aggmgr-genimon-5.4 omf-aggmgr-instr-5.4 omf-aggmgr-inventory-5.4 omf-aggmgr-pxe-5.4 omf-aggmgr-result-5.4
  omf-aggmgr-saveimage-5.4 omf-aggmgr-scheduler-5.4 omf-aggmgr-status-5.4 omf-aggmgr-wimaxrf-5.4 omf-common-5.4 omf-expctl-5.4 perl perl-base perl-modules php5-cli php5-common php5-fpm php5-ldap
  phpldapadmin postfix pwgen ruby ruby-highline ruby-mysql ruby-sqlite3 ruby1.8 ruby1.9.1 ruby1.9.1-dev sharutils slapd sqlite3 ssl-cert tftpd-hpa ttf-dejavu-core zlib1g-dev
Suggested packages:
  apache2-doc apache2-suexec apache2-suexec-custom libpam-cracklib bind9-doc binutils-doc cpp-doc gcc-4.6-locales gcc-multilib autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.6-multilib
  libmudflap0-4.6-dev gcc-4.6-doc libgcc1-dbg libgomp1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold ghostscript-cups ghostscript-x hpijs fonts-ipafont-mincho fonts-ipafont-gothic ttf-arphic-ukai
  ttf-arphic-uming fonts-unfonts-core isc-dhcp-server-ldap php-pear glibc-doc cups-common libipc-sharedcache-perl libjasper-runtime liblcms-utils liblcms2-utils libmagickcore4-extra nscd libmyodbc
  odbc-postgresql tdsodbc unixodbc-bin slpd openslp-doc make-doc tinyca mailx perl-doc libterm-readline-gnu-perl libterm-readline-perl-perl libpod-plainer-perl php5-suhosin procmail postfix-mysql
  postfix-pgsql postfix-ldap postfix-pcre sasl2-bin dovecot-common postfix-cdb mail-reader postfix-doc ri ruby-dev ruby1.8-examples ri1.8 ruby1.9.1-examples ri1.9.1 graphviz sqlite3-doc openssl-blacklist
  syslinux-common
The following NEW packages will be installed:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common auth-client-config bind9 bind9utils binutils cmap-adobe-japan1 cpp cpp-4.6 fontconfig-config frisbee gcc gcc-4.6 ghostscript
  gnutls-bin gs-cjk-resource gsfonts imagemagick-common imagezip isc-dhcp-server ldap-auth-client ldap-auth-config ldap-utils ldapscripts libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libavahi-client3 libavahi-common-data libavahi-common3 libc-dev-bin libc6-dev libcap2 libcups2 libcupsimage2 libdbd-mysql-perl libdbi-perl libfontconfig1 libgomp1 libgs9 libgs9-common
  libhighline-ruby libhtml-template-perl libijs-0.35 libjasper1 libjbig2dec0 libjpeg-turbo8 libjpeg8 liblcms1 liblcms2-2 liblqr-1-0 libltdl7 liblua5.1-0 libmagickcore4 libmpc2 libmpfr4 libmysql-ruby1.9.1
  libmysqlclient-dev libmysqlclient18 libnet-daemon-perl libnss-ldap libodbc1 libpam-ldap libpaper-utils libpaper1 libperl5.14 libplrpc-perl libquadmath0 libreadline5 libruby1.8 libruby1.9.1 libslp1
  libsqlite3-ruby1.9.1 libssl0.9.8 libterm-readkey-perl libtiff4 libyaml-0-2 linux-libc-dev make manpages-dev mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server mysql-server-5.5
  mysql-server-core-5.5 nmap omf-aggmgr-accountingcommon-5.4 omf-aggmgr-accountmanagement-5.4 omf-aggmgr-autoapprover-5.4 omf-aggmgr-cmc-5.4 omf-aggmgr-common-5.4 omf-aggmgr-controlpanel-5.4
  omf-aggmgr-delegatedam-5.4 omf-aggmgr-frisbee-5.4 omf-aggmgr-geni-5.4 omf-aggmgr-genimon-5.4 omf-aggmgr-instr-5.4 omf-aggmgr-inventory-5.4 omf-aggmgr-pxe-5.4 omf-aggmgr-result-5.4
  omf-aggmgr-saveimage-5.4 omf-aggmgr-scheduler-5.4 omf-aggmgr-status-5.4 omf-aggmgr-wimaxrf-5.4 omf-common-5.4 omf-expctl-5.4 php5-cli php5-common php5-fpm php5-ldap phpldapadmin postfix pwgen ruby
  ruby-highline ruby-mysql ruby-sqlite3 ruby1.8 ruby1.9.1 ruby1.9.1-dev sharutils slapd sqlite3 ssl-cert tftpd-hpa ttf-dejavu-core zlib1g-dev
The following packages will be upgraded:
  libc-bin libc6 perl perl-base perl-modules

during the install process you will be prompted to answer the following questions. The order may not match up, but each will be asked.

  1. MySQL Installation Questions You will be prompted for a MySQL admin password during the install. Please note the password specified, it will be required for service config later.
  2. LDAP Server Installation Questions You will be promted for Ldap root passwords. The password you specify must match the password you give when configuring the client. The installer will guess the organizational structure for LDAP based on FQDN that was set during installation. For example if your machine name is console.geni.rutgers.edu, it will assume the domain is:
    geni.rutgers.edu => dc=geni,dc=rutgers,dc=edu
    
    Note: For the rest of this guide we assume the domain is dc=geni,dc=rutgers,dc=edu. Please adjust this domain to match your FQDN.
  3. LDAP Client Installation Questions When installing it, you will be asked for the following information:
    • LDAP server Uniform Resource Identifier: ldap://localhost/
    • Distinguished name of the search base: dc=geni,dc=rutgers,dc=edu
    • LDAP version to use: 3
    • LDAP account for root: cn=admin,dc=geni,dc=rutgers,dc=edu
    Use the defaults for all other questions (this configuration will be overwritten by the OS setup script in the next section). Please make sure the password matches the password specified during the server configuration.
  4. Postfix Installation Questions Postfix will present 5 choices:
    • No configuration
    • Internet Site
    • Internet with smarthost
    • Satellite System
    • Local only
    This configuration is required but is beyond the scope of this guide. Please confer with you site's administrators as to what the appropriate e-mail routing should be. If e-mail is not configured, various notification e-mails will not be sent.

Install and Configure OpenFire (XMPP)

  1. Install Java and Openfire 3.8.0 and Java - as root do:
    wget -O openfire.deb http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.8.0_all.deb
    dpkg -i openfire.deb
    
  2. You will need to modify the java.security file.
    • for Ubuntu 12.04: In /etc/java-6-openjdk/security/java.security, comment out the following line:
      security.provider.9=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg
      
    • for Ubuntu 14.04: In /etc/java-7-openjdk/security/java.security, comment out the following line:
      security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg
      
  3. Open /etc/init.d/openfire file in an edfitor and add JAVA_HOME pointing to the correct java directory:
    JAVA_HOME=/usr
    
    this should be inserted before the attempt to use the JAVA_HOME variable. e.g.:
    ### END INIT INFO 
    
    JAVA_HOME=/usr
    # Attempt to locate JAVA_HOME, code borrowed from jabref package
    if [ -z $JAVA_HOME ]
    then   
            t=/usr/lib/jvm/java-1.5.0-sun && test -d $t && JAVA_HOME=$t
            t=/usr/lib/jvm/java-6-sun && test -d $t && JAVA_HOME=$t
    fi
    
  4. Start openfire using command
    /etc/init.d/openfire start
    
  5. Check if openfire is running:
    ps -ef | grep java
    
    Startup can take a while, please be patient. You should see a line like:
    openfire 13150     1 17 16:52 ?        00:00:01 /usr/bin/java -server -DopenfireHome=/usr/share/openfire -Dopenfire.lib.dir=/usr/share/openfire/lib -classpath /usr/share/openfire/lib/startup.jar -jar /usr/share/openfire/lib/startup.jar
    
  6. Direct your web browser to http://console.geni.rutgers.edu:9090 and begin the setup wizard. It should look like:
  7. Choose your language and click continue
  8. Specify xmpp as the domain (delete the default fqdn name and replace it with xmpp). Leave the port numbers as the default values (i.e. 9090 and 9091).

  9. Choose the embedded database and continue.

  10. Choose the default profile and click continue

  11. Enter an admin e-mail address and password, then click continue. The default username is admin, and together with the specified password, will be used to access the openfire console.

  12. You should be able to login to this console now with the specified credentials.


Last modified 2 years ago Last modified on 08/07/15 11:09:52

Attachments (7)

Download all attachments as: .zip