Child pages
  • Server OS and Third Party Software Setup - 6.*

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Install your choice of Linux distribution.
    Indiana University currently runs Variations on Red Hat Enterprise Linux 6 (RHEL 6). Derivatives of it such as Centos or White Box will be very similar, but for other distributions, the filenames and/or procedures may be different. The instructions below are tailored to RHEL6.
    • Check Select "Software Development " and "Web ServerWorkstation" when asked about supporting additional tasksselecting a software set.
    • When asked to configure the firewall, leave it enabled and for trusted services check SSH, Samba (if using Samba for derivative uploads), Secure WWW, and WWW as well as add the following ports (TCP except where noted):
      • 554 (for Darwin Streaming Server)
      • 1099 (for RMI registry)
      • 1100 (for the logging server)
      • 6970-6999 UDP (for Darwin Streaming Server)
        • Add this as the range '6970-6999'
      • 49930 and 49931 (for RMI servers, i.e., Variations server and lease manager). These RMI port numbers are configurable, and can be set in the file: dml/conf/server/dmlserver.xml .
    • When creating the first user, this can be the "dmlserv" user that is required further on in the installation. ( #Variations Administration User Account Creation )
    • Set up your RedHat Network subscription, and update to latest release:
      yum update
    • Install needed packages
      yum install gd-devel gdbm-devel
    • Ensure that hostname -i returns the numeric IP address and not the host name.
      • If hostname -i returns the host name, edit /etc/hosts to put the IP and hostname in a separate line entry.
        Code Block
        titleExample /etc/hosts
        # Do not remove the following line, or various programs
        # that require network functionality will fail.
        127.0.0.1       localhost.localdomain localhost
        129.12.345.67   taishan.dlib.indiana.edu taishan
        ::1             localhost6.localdomain6 localhost6
        

Network Alias Devices

  • Create Network Alias Devices
    • These IP addresses will be used for the Variations webserver and Darwin streaming server. They must be on the same network as the machine's address. The NETMASK and BROADCAST variables below will be the same as their counterparts in /etc/sysconfig/network-scripts/ifcfg-eth0.
    • Create an Network Device for the webserver by creating /etc/sysconfig/network-scripts/ifcfg-eth0:0 with this content:
      No Format
      DEVICE=eth0:0
      IPADDR=Variations webserver IP address
      NETMASK=Variations webserver netmask
      BROADCAST=Variations webserver broadcast address
      ONBOOT=yes
      
    • Create a Network Device for the streaming server by creating /etc/sysconfig/network-scripts/ifcfg-eth0:1 with this content:
      No Format
      DEVICE=eth0:1
      IPADDR=_Darwin streaming IP address
      NETMASK=Darwin streaming netmask
      BROADCAST=Darwin streaming broadcast address
      ONBOOT=yes
      
    • Bring up the new devices to verify they are configured correctly:
      ifup eth0:0
      ifup eth0:1
      You will need to do this only once, since they will be brought up when the machine is rebootedcreating the first user, this can be the "dmlserv" user that is required further on in the installation. ( #Variations Administration User Account Creation )
    • Set up your RedHat Network subscription, and update to latest release:
      yum update
    • Install needed packages
      yum install gd-devel gdbm-devel
    • Ensure that hostname -i returns the numeric IP address and not the host name.
      • If hostname -i returns the host name, edit /etc/hosts to put the IP and hostname in a separate line entry.
        Code Block
        titleExample /etc/hosts
        # Do not remove the following line, or various programs
        # that require network functionality will fail.
        127.0.0.1       localhost.localdomain localhost
        129.12.345.67   taishan.dlib.indiana.edu taishan
        ::1             localhost6.localdomain6 localhost6
        

Network Alias Devices

  • Create Network Alias Devices
    • These IP addresses will be used for the Variations webserver and Darwin streaming server. They must be on the same network as the machine's address. The NETMASK and BROADCAST variables below will be the same as their counterparts in /etc/sysconfig/network-scripts/ifcfg-eth0.
    • Create an Network Device for the webserver by creating /etc/sysconfig/network-scripts/ifcfg-eth0:0 with this content:
      No Format
      DEVICE=eth0:0
      IPADDR=Variations webserver IP address
      NETMASK=Variations webserver netmask
      BROADCAST=Variations webserver broadcast address
      ONBOOT=yes
      
    • Create a Network Device for the streaming server by creating /etc/sysconfig/network-scripts/ifcfg-eth0:1 with this content:
      No Format
      DEVICE=eth0:1
      IPADDR=_Darwin streaming IP address
      NETMASK=Darwin streaming netmask
      BROADCAST=Darwin streaming broadcast address
      ONBOOT=yes
      
    • Bring up the new devices to verify they are configured correctly:
      ifup eth0:0
      ifup eth0:1
      You will need to do this only once, since they will be brought up when the machine is rebooted.

Firewall

Note

Does Samba use 137-139 and 445 or just 139?

Variations uses the following ports:

  • eth0 - TCP 139 (Samba), 1099 (RMI Registry), 1100 (UI Logging Server), 49930 (Variations RMI Server), and 49931 (Variations RMI Server)
  • eth0:0 (Apache) - TCP 80, 443
  • eth0:1 (Darwin Streaming Server) - TCP 80, 554 and UDP 6970-6999
  • Configure the firewall by running System->Administration->Firewall.
    • Under trusted services, check SSH, Samba (if using Samba for derivative uploads), Secure WWW, and WWW.
    • Under other ports, check 554, 1099, and 1100 (all TCP).
    • Manually add the following ports:
      • 6970-6999 UDP (for Darwin Streaming Server)
        • Add this as the range '6970-6999'
      • 49930 and 49931 (for RMI servers, i.e., Variations server and lease manager). These RMI port numbers are configurable, and can be set in the file: dml/conf/server/dmlserver.xml .

Java

Install Java:

  • Download the latest JavaSE 1.6 SDK -rpm.bin Package from Sun.
    IU is currently running Java version 1.6.0_1224.
  • Run:
    sh jdk-6u206u25-linux-i586-rpm.bin
    and accept the license agreement.
  • Create /etc/profile.d/java.sh with this content:
    No Format
    export JAVA_HOME=/usr/java/jdk1.6.0_2025
    export PATH=$JAVA_HOME/bin:$PATH
    
    Note

    Check that your JAVA_HOME location and version matches your installation

  • Modify the file $JAVA_HOME/jre/lib/security/java.policy by adding the lines listed below to the grant block. Modify the IP addresses and machine names to those of the machine for your Variations server. These additions are necessary to get the Variations servers to work. For example:

    Example IP

    Server

    Example DNS Name

    129.79.184.181

    Variations Webserver (device eth0:0)

     

    129.79.184.188

    host machine (device eth0)

    Server1.dlib.indiana.edu

    No Format
    permission java.net.SocketPermission "129.79.184.181:80",     "connect,resolve";
    permission java.net.SocketPermission "Server1.dlib.indiana.edu", "resolve";
    permission java.net.SocketPermission "129.79.184.188:1024-",  "connect,accept,resolve";
    permission java.util.PropertyPermission "dml.client.url.userguidebase", "read";
    permission java.util.PropertyPermission "dml.leaseManager.*", "read";
    permission java.util.PropertyPermission "dml.login.loginHandler", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "variations2.dir", "read";
    permission java.io.FilePermission "<<ALL FILES>>", "read,execute";
    permission java.io.FilePermission "/home/dmlserv/content/-", "read,execute,delete";
    permission java.io.FilePermission "/home/dmlserv/public_html/score-leases/-", "read,execute,delete";
    permission java.lang.RuntimePermission "setFactory";
    

...

  • Install Apache HTTP Server. http://httpd.apache.org/ Install version 2.2 or later. Certain parts of Variations require a web server to handle html web pages and cgi-bin scripts.
    • The Apache HTTP Server should have been installed with RHEL, check for installation:
      yum list httpd
    • If needed, install apache:
      yum install httpd
  • Append the following lines to your apache configuration file /etc/httpd/conf/httpd.conf:
    No Format
    #
    # Variations specific configuration
    #
    ScriptAlias /variations/cgi-bin/ "/home/dmlserv/Variations-6.01/public_html/cgi-bin/"
    
    <Directory "/home/dmlserv/Variations-6.01/public_html/cgi-bin">
        AllowOverride All
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>
    
    Alias /variations/ "/home/dmlserv/Variations-6.01/public_html/"
    
    <Directory "/home/dmlserv/Variations-6.01/public_html">
        AllowOverride All
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>
    
    • Set the webserver to listen to the network alias.
      In the file /etc/httpd/conf/httpd.conf, change the line:
      No Format
      Listen 80
      
      to the line:
      Panel

      Listen your-Variations-webserver-IP-address:80

      where your-Variations-webserver-IP-address is the IP you assigned to eth0:0.
    • Set the webserver to start automatically at boot:
      chkconfig httpd on
    • Start the server now:
      service httpd start
      Note

      Note that Apache is still listening to :443 on all hosts with this configuration.

  • SELinux settings for Apache
    If SELinux is present and in enforcing mode (default for RHEL), make the following boolean settings to allow browser access to cgi and user (dmlserv) home directores.
    setsebool -P httpd_enable_cgi=1
    setsebool -P httpd_enable_homedirs=1
    setsebool -P httpd_read_user_content=1

...

Variations uses two databases for Metadata and Access Management. Currently Variations is configured to work with MySQL and will require that you set up these databases in the configuration of the Variations server. Linux distributions such as RedHat Enterprise 5 6 already come with the appropriate version of Mysql. If you are using another Linux distribution you may want to check that it has a compatible version of MySQL or download a more current version. For more information on the Variations database see the Databases page

...