Skip Headers
Oracle® Communications Calendar Server Installation and Configuration Guide
Release 7.0.5

E54934-01
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

5 Installing Calendar Server

This chapter describes how to install and configure Oracle Communications Calendar Server.

Before installing Calendar Server, read these chapters:

Installation Assumptions

The instructions in this chapter assume:

  • You are deploying Calendar Server on a single host or Solaris zone, or multiple hosts or Solaris zones.

  • Directory Server is already installed.

  • You have installed and configured Oracle GlassFish Server as the web container for Calendar Server.

  • You have installed the database back end for storing the calendar information.

Installing Calendar Server

The tasks to install Calendar Server are as follows:

Downloading the Calendar Server Software

  1. Download the media pack for Oracle Communications Unified Communications Suite, which contains the Calendar Server software, from the Oracle software delivery website, located at:

    http://edelivery.oracle.com/

  2. Copy the Communications Suite distribution ZIP file to a temporary directory on your Calendar Server hosts and extract the files.

Preparing Directory Server

To prepare Directory Server:

  1. On your Directory Server hosts, install and run the comm_dssetup.pl script. You must use at least version 6.4-25.01.

    For more information, see the Communications Suite Directory Server setup script documentation at:

    https://wikis.oracle.com/display/CommSuite

    Note:

    You can use either LDAP Schema 2 or Schema 1.
  2. If necessary, provision users in the Directory Server.

    If Directory Server is already installed at your site, users have already been provisioned. If you have just installed Directory Server at your site, then you need to provision users. For information about provisioning users and schema, see Communications Suite Schema Reference at:

    https://wikis.oracle.com/display/CommSuite/Communications+Suite+Schema+Reference

Installing the Calendar Server Software

To install the Calendar Server software:

  1. Go to the directory where you extracted the Communications Suite distribution files.

  2. Run the Communications Suite Installer.

    ./commpkg install
    

    For more information about running the installer, see the commpkg install usage documentation at:

    https://wikis.oracle.com/display/CommSuite

  3. Select Calendar Server and proceed with the installation.

  4. If the installer detects older versions of LDAP tools, you receive the following prompts asking if you want to change the versions.

    You must answer y.

    Do you wish to change pkg versions for LDAPCSDK6 [n] : y
    
    Do you wish to change pkg versions for LDAPCSDK6 Tools [n] : y
    
  5. (Optional) If you are going to use remote document stores, install the Calendar Server software on the remote hosts.

When the installation is complete, depending on your database choice, go to one of the following tasks:

Preparing MySQL Server for Use with Calendar Server

You can either perform the following steps in this section or run the config-mysql script to prepare a new MySQL installation for use with Calendar Server. See "Running the config-mysql Script" for more information.

Note:

When necessary, the following instructions show where commands differ between Solaris OS, and Red Hat Linux or Oracle Linux.

Caution:

You must use the MySQL Connector version packaged with Calendar Server. Do not use a different version.

To prepare MySQL Server for use with Calendar Server:

  1. Create a mysql group. For example:

    /usr/sbin/groupadd mysql
    
  2. Create a mysql user by running the following command.

    /usr/sbin/useradd -g mysql mysql
    
  3. Initialize the database.

    1. Remove the pre-created data. For example:

      rm -rf /opt/mysql/mysql/datarm -rf /var/lib/mysql
      
    2. Create an initial database using the following command, substituting a different directory for /var/mysql if desired.

    • Solaris OS:

      /opt/mysql/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/mysql
      
    • Red Hat Linux or Oracle Linux:

      /usr/bin/mysql_install_db --user=mysql --ldata=/var/lib/mysql
      
  4. Verify that the MySQL configuration file, /etc/my.cnf, exists with the following content:

    • Solaris OS:

      [mysqld]
      basedir = /opt/mysql/mysql
      datadir = /var/mysql
      default-storage-engine = InnoDB
      character-set-server = utf8mb4
      transaction-isolation = READ-COMMITTED
      
    • Red Hat Linux or Oracle Linux:

      [mysqld]
      basedir = /usr
      datadir = /var/mysql
      default-storage-engine = InnoDB
      character-set-server = utf8mb4
      transaction-isolation = READ-COMMITTED
      

    Change the value of basedir and datadir if needed. Make sure there are no extra spaces if you cut and paste the path.

  5. Install the startup script:

    • Solaris OS:

      cp /opt/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
      
    • Red Hat Linux or Oracle Linux:

      cp /usr/share/mysql/mysql.server /etc/init.d/mysql
      
  6. Start MySQL Server.

    /etc/init.d/mysql start
    
  7. Change the MySQL root password.

    • Solaris OS:

      /opt/mysql/mysql/bin/mysqladmin -u root password 'password'
      
    • Red Hat Linux or Oracle Linux:

      /usr/bin/mysqladmin -u root password 'password'
      

      Replace password with the appropriate password to use for the root user.

  8. Run the secure MySQL installation to disable remote root access, remove anonymous users, remove test databases, and so on.

    • Solaris OS:

      /opt/mysql/mysql/bin/mysql_secure_installation
      
    • Red Hat Linux or Oracle Linux:

      /usr/bin/mysql_secure_installation
      
  9. Create the MySQL user, and caldav and iSchedule databases.

    The following example uses caldav as the MySQL user name, caldav as the database name, and ischedule as the iSchedule database name. You can use different names. For more information, see the MySQL CREATE USER syntax at:

    http://dev.mysql.com/doc/refman/5.5/en/create-user.html

    /opt/mysql/mysql/bin/mysql -u root -p
    Enter password:
    mysql> CREATE DATABASE caldav CHARACTER SET = utf8mb4;
    mysql> CREATE USER 'caldav'@'localhost' IDENTIFIED BY 'password';
    mysql> GRANT ALL ON caldav.* TO 'caldav'@'localhost';
    mysql> CREATE DATABASE ischedule CHARACTER SET = utf8mb4;
    mysql> GRANT ALL ON ischedule.* TO 'caldav'@'localhost';
    mysql> exit
    

    Replace localhost with the Calendar Server host name if MySQL Server is on a remote host (or use % for any host). Also, replace password with the password to use for the caldav user.

  10. Do one of the following to configure MySQL to start automatically upon system restart.

After preparing MySQL Server for use with Calendar Server, continue with the "Configuring Calendar Server" section.

Preparing Oracle Database for Use with Calendar Server

Use the appropriate task based on your Oracle Database version:

Preparing Oracle Database 11g Release 2 or Oracle Database 12c Not Pluggable (non-CDB)

To prepare Oracle Database 11g Release 2 or Oracle Database 12c not pluggable (non-CDB):

  1. If your Oracle Database resides on a different host from where you installed the Calendar Server software, copy the config-oracle script and the Util.pm module, located in the CalendarServer_home/tools/unsupported/bin directory, to the Oracle Database host.

  2. Ensure that the Oracle environment has been configured after installing the software by running the /usr/local/bin/oraenv script (or corenv for C Shell).

  3. Run the config-oracle script.

    cd CalendarServer_home/tools/unsupported/bin
    ./config-oracle -c -i
    
  4. Respond to the following prompts.

    Enter the Oracle SYS user password:
    Enter the name of the Calendar db user (caldav):
    Enter the password for Calendar db user user:
    Please enter password again:
    Enter the name of the iSchedule db user (ischedule):
    Enter the password for iSchedule db user user_ischedule:
    Please enter password again:
    

    The script configures the Oracle Database for use with Calendar Server. See "Running the config-oracle Script" for more information.

After preparing Oracle Database for use with Calendar Server, continue with the "Configuring Calendar Server" section.

Preparing Oracle Database 12c Container Database

You cannot run the config-oracle script to prepare an Oracle Database 12c container database (that is, one that uses a pluggable database) Instead, you must manually prepare Oracle Database for Calendar Server:

  1. Ensure that the Oracle environment has been configured after installing the software by running the /usr/local/bin/oraenv script (or corenv for C Shell).

  2. Run the following commands to prepare Oracle Database for Calendar Server:

    ./sqlplus / as sysdba
           ALTER SESSION SET CONTAINER = PDBORCL;
           CREATE USER caldav IDENTIFIED BY password;
           GRANT CONNECT, RESOURCE TO caldav;
           GRANT CREATE VIEW to caldav;
           GRANT UNLIMITED TABLESPACE to caldav;
           GRANT EXECUTE ON DBMS_LOCK to caldav;
    
  3. Run the following commands to prepare the iSchedule database:

    ./sqlplus / as sysdba
           ALTER SESSION SET CONTAINER = PDBORCL;
           CREATE USER ischedule IDENTIFIED BY password;
           GRANT CONNECT, RESOURCE TO ischedule;
           GRANT CREATE VIEW to ischedule;
           GRANT UNLIMITED TABLESPACE to ischedule;
           GRANT EXECUTE ON DBMS_LOCK to ischedule;
    

After preparing Oracle Database for use with Calendar Server, continue with the "Configuring Calendar Server" section.

Configuring Calendar Server

You must configure Calendar Server to complete the installation. You use the Calendar Server configuration command-line script, init-config, to perform this initial runtime configuration.

Calendar Server Initial Configuration Prerequisites

Before running the Calendar Server init-config script, ensure that you have satisfied the following prerequisites.

  • On the Directory Server host, you ran the comm_dssetup.pl script, which is installed by the Communications Suite installer, as described in "Preparing Directory Server."

  • (Linux only) On Calendar Server front-end hosts, install the openldap-clients RPM, which installs LDAP tools such as /usr/bin/ldapsearch and /usr/bin/ldapmodify.

Configuring Java for Calendar Server

If you chose a non-root user as the GlassFish Server runtime user, do the following on the Calendar Server front-end hosts so that Calendar Server locates the proper JDK:

  1. Create a symbolic link between /usr/jdk/latest and the desired installed JDK in the /usr/jdk directory. For example:

    ln -s /usr/jdk/jdk1.7.0_25 /usr/jdk/latest
    
  2. Define the JAVA_HOME variable in the GlassFish Server user's login profile. You cannot only define the variable in the current shell that you are using to run the init-config script.

    If the GlassFish Server user is referencing a JDK in a different location, set that location in the user's .profile file by adding the following line. If you want, you can add the line to the system-wide profile file, /etc/profile, instead.

    export JAVA_HOME=JDK_location
    

Running the Calendar Server Initial Configuration Script

To run the Calendar Server initial configuration:

  1. Log in as or become the superuser (root).

    Note:

    Log in as "su -" when running init-config if you installed GlassFish Server with secure mode.
  2. Change to the CalendarServer_home/sbin directory.

    The default installation directory is /opt/sun/comms/davserver.

  3. Run the initial configuration script and respond to the prompts.

    See "Calendar Server Configuration Scripts" for more information.

    ./init-config
    

    Note:

    Refer to "Information Requirements" for information about the values you must provide during initial configuration.
  4. When prompted, enter the Calendar Server settings:

    • Directory to store configuration and data files

    • Calendar Server runtime user

    • Calendar Server runtime group

    • Fully qualified host name of this system.

  5. Enter the Back-End Database Settings.

    Choose MySQL database or Oracle database (the default is mysql), then enter the following information, depending on whether you chose MySQL database or Oracle database:

    • MySQL Database Details

    • Oracle Database Server Details

      If you receive a database connection error, you are prompted to re-enter all the database information in this step. When the validation passes, continue with the next step.

  6. Enter the Back-End Document Store Settings.

  7. Enter the iSchedule Back-End Document Store Settings.

    • Back-end document store type, either local, dbdocstore, or remote.

    • iSchedule back-end name

    • Back-end store path

  8. Enter the GlassFish Server Configuration Details.

    • Install Directory

    • Domain Directory

    • Document Root Directory

    • Server Target Name

    • Virtual Server Identifier

    • GlassFish Server administration server host

    • GlassFish Server administration server port

    • Secure Administration Server Instance

    • Administrator User ID

    • Administrator Password

    • Full URI of the deployed server (default: https://FQDN of host:443/)

      Use / (root) as the default context URI for production deployments. Using root enables users to configure their clients by typing a host name. If root is not used, users must enter a long URL, potentially leading to misconfigurations. Using root as the URI path replaces the GlassFish Server's main index.html file; thus, the GlassFish welcome page is no longer displayed at http://host:port. The following example URIs explain the behavior of this entry:

      • https:/host.example.com:443 - Not allowed, deployment context cannot be blank.

      • https:/host.example.com:443/ - Deploy in root.

      • https:/host.example.com:443/davserver - Deploy in davserver.

      If you do deploy Calendar Server by using a root (/) URI context, you cannot deploy Convergence in the same instance of Glass Fish without moving the /iwc_static/ files somewhere. The Convergence static files are deployed under the default root context and if another application is deployed to /, GlassFish is not able to find the /iwc_static/* URLs, resulting in a 404 error immediately after login. There are potential workarounds for this issue, but at this time create an additional domain in GlassFish Server that listens on a different port so that Convergence and Calendar Server run in separate instances. See Oracle GlassFish Server 3.0.1 Reference Manual for information on creating a new GlassFish domain. Additionally, for assistance in configuring clients for non-root URL configurations, see the topic on accounts that use non-standard or demo settings in Calendar Server System Administrator's Guide.

  9. Enter the User/Group Directory Server Details.

    • LDAP URL

      The default uses LDAP over SSL (ldaps://). If you want Calendar Server to communicate by using SSL with Directory Server in the runtime configuration, you must use LDAPS in the URL specification. You must also put the certificate database containing the Directory Server certificate in the CalendarServer_home/lib directory. This setup works only for Solaris OS. See the openldap documentation for the required SSL setup on Linux. If you use LDAP in the URL specification, you do not need to perform any SSL setup for the initial configuration. However, you could still enable LDAP SSL communication in the runtime configuration as described in Calendar Server Security Guide.

    • Bind Distinguished Name (DN)

    • Bind Password

      The following message appears if you do not have the correct password:

      ldap_bind: Invalid credentials (49)
      Error validating password for cn=Directory Manager
      

      In this case, you are prompted again to enter the password.

    • LDAP unique ID attribute

      Enter the LDAP attribute whose value serves as the unique identifier for each account in the calendar database. The default is davuniqueid.

      Caution:

      Do not use the value of nsUniqueId in a production deployment. See "Changing the User Unique Identifier" for more information about choosing a production-ready value.
    • User/Group default domain (The default value results from when you run the comms_dssetup.pl script against the Directory Server.)

      Enter the domain name for the LDAP users in the deployment.

    • Default organization DN (The default value results from when you run the comms_dssetup.pl script against the Directory Server.)

      Enter the organization DN under which all users and groups that belong to the default domain are located in the LDAP tree.

    • Calendar Server administrator user

    • Calendar Server administrator user password

      If other messages appear when validation failed, you are prompted to re-enter all the Directory Server settings in this step.

  10. Enter the Notification Mail Server Configuration Details.

    • Mail Server Host Name

    • Mail Server Port Number

  11. When prompted whether to proceed with configuring Calendar Server, answer Y.

    The configurator displays messages indicating its actions and progress. The last messages indicate the location where the installation log file was written.

  12. Restart GlassFish Server.

Next Steps

After configuring Calendar Server, continue with the following chapters: