Contents
Instructions for installing the Jive SBS package using RPM.
The distribution you received is probably all you need to install the application onto a supported operating system.
With the version 3 release, the distribution you receive includes key required pieces (such as an application server, Java VM, and optionally a database). At the most basic level, you need only provide hardware with the required operating system. You can, of course, supply your own database and user directory, in keeping with the system requirements.
Here are a few things you'll want to do and be aware of before you start installing Jive SBS.
The Jive SBS platform introduced in version 3 includes a few important changes from versions prior to version 3. Through research and conversation with its customers, Jive arrived at a platform that is not only well-suited to its customers' needs, but also enables Jive to more fully optimize the application. For more specific information, see the System Requirements and the Platform Overview. Once you've installed, you might also want to check out the Platform Run Book (Linux, Solaris), Application Management Commands, or the Operations Cookbook.
You'll find that both installation and upgrade go more smoothly if most database-related tasks are done before you begin installing. This is especially true if the database the application will be using is administered separately by a DBA. This section describes the database tasks that are required for a successful installation.
For example, if you'll be using an Oracle database for a new installation, you'll be creating a user representing a schema. That schema will be empty until the application setup tool creates tables in it. Here's an example script for creating such a user:
create user jiveuser identified by changeme default tablespace jivedata; grant create session, create table, create view, create sequence, create procedure, create synonym to jiveuser; alter user jiveuser quota unlimited on jivedata;
The username can be any legal Oracle identifier -- "jiveuser" is just an example. The application does not require a dedicated tablespace, but many DBAs have that practice. The tablespace must be created separately. For more on the create user statement, see the Oracle documentaion.
To install the driver, place the driver's JAR file in the application file system where it will be on the classpath, such as at /usr/local/jive/applications/template/application/WEB-INF/lib.
| DBMS | Driver Included | Action Needed |
|---|---|---|
| Oracle | OCI driver required, but not included. (Thin driver is included for evaluation purposes only and should not be used under load.) | For more information on installing the OCI driver, see the Oracle Instant Client page. Please consult the Oracle documentation to choose the version of the JDBC driver best for you. |
| PosgreSQL | Required driver included. | None. |
| MySQL | Required driver not included. | You'll need to install the correct driver. |
| SQL Server | Required driver not included. | You'll need to install the correct driver. |
MySQL does not have proper Unicode support, which makes supporting postings in non-Western languages difficult. However, the MySQL JDBC driver has a workaround which you can enable by adding <mysql><useUnicode>true</useUnicode></mysql> to the <database> section of your jive_startup.xml file. When using this setting, you should also set the Jive character encoding to utf-8 in the Admin Console.
MySQL 4.1 introduced better support for character encodings than previous versions. This functionality assigns a default character encoding to the database and its tables and columns. It's best to set the default character encoding for your database before installing the Jive schema so that you can be sure that you will not have encoding problems in the future. After creating your database, execute the following line in the MySQL console:
ALTER DATABASE <database name> DEFAULT CHARACTER SET <character set>;
For example, if you plan on using UTF-8 in Clearspace, you should enable the JDBC driver workaround mentioned above and then execute this line in the MySQL console:
ALTER DATABASE <database name> DEFAULT CHARACTER SET utf8;
You can fix the max attachment size problem on a MySQL server by following the directions here: http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html
The easiest way to change the MySQL server setting on Windows is to add a line to your my.ini file (you'll find this file in a location such as C:\database\mysql\5.0.19); on Linux, look for the my.cnf file instead. Add the following line after the [mysqld] section heading:
max_allowed_packet = 500M
After you add the line, restart MySQL.
When you have the database running on a dedicated server, you should increase the InnoDB buffer pool size from the default (8 MB) to up to 80 percent of the computer's available memory. If the computer has 2 GB of RAM or less, you should think about setting the buffer to something less than 80 percent to ensure that the operating system has enough memory to avoid swapping.
See the MySQL documentation for more on configuration.
Clearspace requires a DBMS that matches strings with case sensitivity; SQL Server is case insensitive by default. You can set SQL Server database and/or server collation (the character set used to store data in text fields) to support case sensitivity. If database collation is not specified, server collation will be used. The collation value you'll need to use is SQL_Latin1_General_CP1_CS_AI.
You'll find more information on adjusting SQL Server settings in the SQL Server documentation:
The following illustration lays out the high-level steps for installing Jive SBS and upgrading from a previous version. These steps are described in detail in this guide. Note that you're strongly encouraged to complete the database tasks described above before you start installing the application.
To install Jive SBS using the RPM, you'll need the following:
The following installation steps represent the most common approach to installing the Jive SBS Platform.
joe@joesbox ~ $ ssh root@targethost root@targethost's password: Last login: Tue Jan 20 14:00:56 2009 from joesbox.example.com
scp -v joe@joesbox:/Users/joe/jive_sbs-3.0.0-78305.x86_64.rpm root@targethost:/root
To set these, use the Linux export command to set them as environment variables. All package-level variables are enabled by setting their value to a non-empty string. For example, the following example turns on debugging information:
export JIVE_DEBUG=1
You can clear the variable with a command such as the following:
unset JIVE_DEBUG
| Option | Description | Default |
|---|---|---|
| JIVE_DEBUG | Exposes installation debugging information, listing actions the installer is performing. This is in addition to the information displayed by the RPM -v (verbose) flag. | Debugging information isn't displayed. |
| JIVE_APPLICATION_NOSERVICE | Prevents the package from starting Jive SBS services immediately after installation. | By default, the application starts immediately after installation; you'll be able to navigate to its setup tool using a web browser. |
rpm -ihv jive_sbs-3.0.0-78305.x86_64.rpm
Note: You can find out more about rpm command syntax at the Fedora web site.
The following shows console output for a successful installation using the preceding command. In this case, the RPM file was in the /root directory of the target host.
[root@targethost ~]# ls -l total 191536 drwxr-xr-x 2 root root 4096 Dec 18 15:08 Desktop -rw-r--r-- 1 root root 195742683 Mar 9 09:14 jive_sbs-3.0.0.RHEL-5.x86_64.rpm -rw-r--r-- 1 root root 177294 Jan 2 2008 sysstat-7.0.2-1.el5.x86_64.rpm -rwxr-xr-x 1 root root 1707 Jan 16 10:42 updateDNS.sh Preparing... ########################################### [100%] Preparing clean installation. Pre-install tasks complete. 1:jive_sbs ########################################### [100%] Writing installation version. Wrote installation version. Executing Jive post-install configuration. Creating jive group jive. Creating jive system user jive. Marking all upgrades as complete. Starting Jive System Daemon. Performing Jive system configurations. Initializing database for first use. Starting Jive System Database. Starting jive-database: server starting Configuring scheduled database maintenance. Configuring log rotation maintenance. Staging Jive Application. Validating configuration. Staging application from template: /usr/local/jive/applications/template Linking application to master binary at '/usr/local/jive/applications/template/application'. Creating application configuration at: /usr/local/jive/applications/sbs/bin/instance Application context set to '/'. Creating proxy configuration for default HTTPD virtual host. Staging cryptography. Creating private key to /usr/local/jive/applications/sbs/home/crypto/sbs.pem Creating public key to /usr/local/jive/applications/sbs/home/crypto/sbs.pub Successfully created application at '/usr/local/jive/applications/sbs'. Starting Jive applications. Handling applications ['sbs'] Starting sbs... Executing /usr/local/jive/applications/sbs/bin/manage start sbs started successfully. All applications started successfully (1 total). Starting jive-httpd: Jive post-install configuration complete.
When it's finished, the RPM indicates that the post-install configuration has completed and that the SBS application has been started successfully.
If you're upgrading, you'll find the rest of the steps you need in Upgrading from an Earlier Version.
The Jive SBS installation uses Linux RPM, a widely tested and used application that is very unlikely to fail. However, there are a few dependences that Jive SBS requires (that you are likely to have already). And if you do run into trouble, you can delete and start over as described below.
The application RPM depends on the presence of several low-level system packages that are common to nearly all configurations of Jive’s supported Linux distributions. Also, the application RPM depends on three high-level packages. If any of these packages (system or high-level) are not present, the RPM subsystem will warn you, then refuse to install. When you see these warnings, simply install the missing packages using RPM, then install Jive SBS as described in the instructions.
Unsatisfied dependencies appear as an error when attempting to install the RPM:
[root@targethost ~]# ls -l
total 202068
-rw-r--r-- 1 root root 206701420 Jan 20 16:03 jive_sbs-3.0.0-78310.i386.rpm
-rwxr-xr-x 1 root root 1347 Oct 7 16:14 updateDNS.sh
[root@targethost ~]# rpm -ivh jive_sbs-3.0.0-78310.i386.rpm
error: Failed dependencies:
bash >= 3.2 is needed by jive_sbs-3.0.0-78310.i386
sysstat >= 7 is needed by jive_sbs-3.0.0-78310.i386
Depending on the host configuration, it may be possible to install the dependencies directly using system tools. For example, in RedHat Enterprise Linux, the “yum” command can install dependencies via network repositories. The following demonstrates how to install the dependencies shown in the error above. Note that it is necessary to type “y” for yes when prompted:
[root@targethost ~]# yum install bash-3.2 sysstat Loading "installonlyn" plugin Setting up Install Process Setting up repositories extras 100% |=========================| 1.1 kB 00:00 updates 951 B 00:00 base 100% |=========================| 1.1 kB 00:00 addons 100% |=========================| 951 B 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 90 kB 00:00 ################################################## 295/295 primary.xml.gz 369 kB 00:03 ################################################## 796/796 primary.xml.gz 100% |=========================| 853 kB 00:01 ################################################## 2458/2458 Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for sysstat to pack into transaction set. sysstat-7.0.2-1.el5.i386. 100% |=========================| 15 kB 00:00 ---> Package sysstat.i386 0:7.0.2-1.el5 set to be updated ---> Downloading header for bash to pack into transaction set. bash-3.2-21.el5.i386.rpm 100% |=========================| 55 kB 00:00 ---> Package bash.i386 0:3.2-21.el5 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: sysstat i386 7.0.2-1.el5 base 168 k Updating: bash i386 3.2-21.el5 base 1.9 M Transaction Summary ============================================================================= Install 1 Package(s) Update 1 Package(s) Remove 0 Package(s) Total download size: 2.0 M Is this ok [y/N]: y Downloading Packages: (1/2): sysstat-7.0.2-1.el 100% |=========================| 168 kB 00:00 (2/2): bash-3.2-21.el5.i3 100% |=========================| 1.9 MB 00:02 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : bash ######################### [1/3] Installing: sysstat ######################### [2/3] Cleanup : bash ######################### [3/3] Installed: sysstat.i386 0:7.0.2-1.el5 Updated: bash.i386 0:3.2-21.el5 Complete!
After dependencies have been resolved, the package should install as normal.
The Jive SBS platform requires a minimum of 3GB RAM to operate effectively for an enterprise environment. If insufficient memory is not available on the target installation system, the installer will provide a warning at installation time similar to the example below.
[root@targethost ~]# rpm -ivh jive_sbs-3.0.0-78310.i386.rpm
Preparing... ########################################### [100%]
1:jive_sbs ########################################### [100%]
Writing installation version.
Wrote installation version.
Executing Jive post-install configuration.
Creating jive group jive.
Creating jive system user jive.
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Marking all upgrades as complete.
WARNING: this host does not have sufficient RAM to run a production Jive SBS system.
A minimum of 3GB is required to host the application and HTTPD servers. 4GB is required to
run a locally hosted database.
Starting Jive System Daemon.
Performing Jive system configurations.
Disabling CPU frequency stepping.
Initializing database for first use.
Starting Jive System Database.
Starting jive-database:
server starting
Configuring scheduled database maintenance.
Configuring scheduled database backups.
Configuring log rotation maintenance.
Staging Jive Application.
Validating configuration.
Staging application from template: /usr/local/jive/applications/template
Linking application to master binary at '/usr/local/jive/applications/template/application'.
Creating application configuration at: /usr/local/jive/applications/sbs/bin/instance
Application context set to '/'.
Creating proxy configuration for default HTTPD virtual host.
Staging cryptography.
Creating private key to /usr/local/jive/applications/sbs/home/crypto/sbs.pem
Creating public key to /usr/local/jive/applications/sbs/home/crypto/sbs.pub
Successfully created application at '/usr/local/jive/applications/sbs'.
Starting Jive applications.
Handling applications ['sbs']
Starting sbs...
Executing /usr/local/jive/applications/sbs/bin/manage start
Failed to start application sbs. See log file at '/usr/local/jive/var/logs/sbs.out'.
Failed to start Jive applications. Please check the error logs at '/usr/local/jive/var/logs/sbs.log'.
Disabling existing Apache HTTPD server.
Starting jive-httpd:
[ OK ]
Jive post-install configuration complete.
In the above example, note the warning message “WARNING: this host does not have sufficient RAM to run a production system. A minimum of 3GB is required to host the application and HTTPD servers. 4GB is required to run a locally hosted database.”.
Despite this warning, the RPM does install correctly, however further errors are noted on the output line "Failed to start application sbs. See log file at '/usr/local/jive/var/logs/sbs.out'." Upon further examination, the contents of this log file indicate:
[root@targethost ~]# cat /usr/local/jive/var/logs/sbs.out SCRIPT_DIR=/usr/local/jive/applications/sbs/bin JIVE_BASE=/usr/local/jive/applications/sbs
Creating temp directory at /usr/local/jive/var/work/sbs. Starting application sbs Error occurred during initialization of VM Could not reserve enough space for object heap
If you get the warning about memory, you should add more memory to the host machine (at least 3 GB).
In the unlikely event that something goes wrong during installation and you want to start over, you can uninstall. When uninstalling, you don't specify the RPM file name, as you did when installing. Instead, you give the logical name by which RPM now knows the application: jive_sbs. Here's an example using the rpm command with the "-e" switch for uninstalling:
rpm -e jive_sbs
If you want to be sure you've removed all remnants of the installation, delete the destination directory created by RPM. Here's how that command looks:
rm -rf /usr/local/jive
You can upgrade from an earlier installation, version 2.5 and higher (if you're on a version prior to 2.5, you'll need to upgrade to 2.5 before upgrading to this version). If you're experienced with previous upgrades, you'll notice that the new platform presented with Jive SBS means that the process has changed considerably. While the steps you'll take here to upgrade to Jive SBS include special steps to get from a previous version to this one, you'll only do these steps for this upgrade; future upgrades are made much simpler because they're managed through package manager.
The following steps are written for the scenario where an existing installation resides on a separate host from the installation of the package. If the package is installed to the same host where the previous instance is running, the steps below are the same, with the exception that you do not need to copy files between the two hosts.
The following assumes that the Jive SBS Platform package has been installed to the target host and that the installation produced no warnings or errors.
Here are a few things you'll want to do and be aware of before you start upgrading.
The jiveHome directory is the place where the application stores a number of things about your environment. The database connection information is stored there, as well as logs, cached attachments, your license file, and the local system database files (if used). You should back up this directory before upgrading.
You should back up your database before you upgrade. For now, the best way to manage database backups is to follow the recommendations of your DBA or the recommendations of your database software. There are a number of tools built in to various databases. Here are a couple examples:
There are many tools for each database; pick one that suits your environment.
Before starting your upgrade be sure to remove any plugins you've installed. For those plugins that aren't compatible with the version you're upgrading to, you'll need to separately upgrade your plugin code (or get upgraded versions of the plugins from their developer), then install the upgraded versions after you've upgraded to this version.
[1635][jive@targethost:~]$ appstop --verbose Stopping sbs... Executing /usr/local/jive/applications/sbs/bin/manage stop sbs stopped successfully. All applications stopped successfully (1 total)
[1520][jive@kuato:~]$ appstop --verbose Stopping sbs... Executing /usr/local/jive/applications/sbs/bin/manage stop sbs stopped successfully. All applications stopped successfully (1 total). [1520][jive@kuato:~]$ appstart --verbose Starting sbs... Executing /usr/local/jive/applications/fsbs/bin/manage start sbs started successfully. All applications started successfully (1 total).
Be sure to see the post-installation tasks for suggested steps to take after you install the software.
This section details common issues that arise during the upgrade process as well as their solutions.
Due to licensing restrictions, Jive is unable to ship database drivers for all previously-supported databases. Namely, JDBC drivers for DB2 and MySQL are not included with the Jive SBS Platform package. The platform will attempt to install these drivers when you install the platform, but in some cases automated installation will not be possible. If the package cannot download the appropriate drivers, an error message will be printed to the console similar to “No suitable driver found for…”. For example, in the following example, the MySQL database driver is not found by the runtime system:
[1616][jive@targethost:~]$ ./bin/migration/bin/migration ./migration.properties java.sql.SQLException: No suitable driver found for >jdbc:mysql://soul:3306/csc252 at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at com.jivesoftware.migration.schema.DbUtil.getConnection(DbUtil.java:133) at com.jivesoftware.migration.etl.DbConfig.getInputConnection(DbConfig.java:161) at com.jivesoftware.migration.etl.DbConfig.getVersion(DbConfig.java:263) at com.jivesoftware.cli.Main.exportBlobs(Main.java:198) at com.jivesoftware.cli.Main.run(Main.java:100) at com.jivesoftware.cli.Main.main(Main.java:66) Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException at com.jivesoftware.cli.Main.main(Main.java:68) Caused by: java.lang.NullPointerException at com.jivesoftware.migration.etl.DbConfig.getVersion(DbConfig.java:273) at com.jivesoftware.cli.Main.exportBlobs(Main.java:198) at com.jivesoftware.cli.Main.run(Main.java:100) at com.jivesoftware.cli.Main.main(Main.java:66)
To resolve this issue, download the MySQL JDBC driver and place the JAR file for the driver in the jive user’s bin/migrate/lib directory. The following sequence demonstrates downloading the file and unpacking to the /usr/local/jive/bin/migration/lib directory of the target host.
[1632][jive@targethost:~]$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz/from/http://mysql.llarian.net/ --16:32:11-- http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz/from/http://mysql.llarian.net/ Resolving dev.mysql.com... 213.136.52.29 Connecting to dev.mysql.com|213.136.52.29|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://mysql.llarian.net/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz [following] --16:32:13-- http://mysql.llarian.net/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz Resolving mysql.llarian.net... 209.221.142.116, 2001:5d8:11::14 Connecting to mysql.llarian.net|209.221.142.116|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8640154 (8.2M) [application/x-gzip] Saving to: `mysql-connector-java-5.1.7.tar.gz' 100%[================================================================>] 8,640,154 5.11M/s in 1.6s 16:32:14 (5.11 MB/s) - `mysql-connector-java-5.1.7.tar.gz' saved [8640154/8640154] [1632][jive@targethost:~]$ tar zxf mysql-connector-java-5.1.7.tar.gz [1632][jive@targethost:~]$ mv mysql-connector-java-5.1.7/ build.xml docs/ README CHANGES EXCEPTIONS-CONNECTOR-J README.txt COPYING mysql-connector-java-5.1.7-bin.jar src/ [1632][jive@targethost:~]$ mv mysql-connector-java-5.1.7 bin/migration/lib/ mv: cannot move `mysql-connector-java-5.1.7' to `bin/migration/lib/mysql-connector-java-5.1.7': Permission denied [1632][jive@targethost:~]$ chmod 755 bin/migration/lib [1632][jive@targethost:~]$ mv mysql-connector-java-5.1.7 bin/migration/lib/ [1632][jive@targethost:~]$ ./bin/migration/bin/migration ./migration.properties
The preceding example downloads the MySQL JDBC driver and using the “tar” command uncompresses the file. The tar archive uncompresses to a directory which can be moved directly to the /usr/local/jive/bin/migration/lib directory.
Note that in the preceding example, it is necessary to change the permissions on the /usr/local/jive/bin/migration/lib directory to move the expanded tar.gz file to the lib directory. This directory is read-only by default on a managed host.
When you upgrade from version 2.5.x to Jive SBS, you need to transfer the jiveHome directory from its existing form and location to the new ones. This ensures that the information your installation needs will be correctly suited to the new platform. For example, as of version 3, the contents of the former jiveHome directory are no longer all contained in a single directory. Use the tools described here to make that transfer easier.
All previous versions of this software required a locally-mounted writeable directory that a Jive deployment could use for instance-specific storage. This directory must be migrated to the new Jive-managed environment controlled by the package installation.
To make moving the home directory easier, Jive SBS includes an export tool you can execute on the current host where the home directory resides. This export tool is packaged as a Java JAR file that you can execute directly from any Java 1.5-compliant Java Runtime Environment. This tool is intended to be executed with the JRE used to host the existing instance.
You'll find the tool in a package installation on the target host at:
/usr/local/jive/bin/export/export.jar
/usr/local/jive/bin/export/export.jar
[1638][jive@targethost:~/bin/export]$ scp export.jar root@oldhost: root@oldhost's password: export.jar
Note: Before invoking the following commands, be sure to stop the current instance (stopping an existing instance will depend on the current application server).
You should invoke the export tool from a command shell (for Windows cmd.exe, for Unix or Linux any standard shell). Commonly, the java command will be on the path of the shell executing the command. If it's not, prefix the following examples with the full path to a Java 1.5 JRE on the local system.
To invoke the export tool, pass the “-jar <path_to_export.jar>” option to the java command in the working shell, as well as the path to the current home directory.
For example, the following commands demonstrate how to export the home directory at “/usr/local/jive/jiveHome” when the “java” command is on the local user’s path:
root@oldhost ~/opt/jive/home $ cd /home/eonnen/opt/jive/home/ root@oldhost ~/opt/jive/home $ java -jar export.jar csc csc.zip
For detailed export instructions, the “--help” option may be passed to the command which results in the following output:
root@oldhost ~ $ cd opt/jive/home/
root@oldhost ~/opt/jive/home $ java -jar export.jar --help
usage: java -jar export.jar [options] jive_home archive_output
Where jive_home is the path to the existing jive home directory and
archive_output is the path where the export archive will be written.
-a,--all Include all artifacts in the existing jive home.
-c,--caches Include local attachment and plugin caches [default
disabled].
-h,--help Display this message.
-i,--indexes Include calculated search indexes [default disabled].
-l,--logs Include log files [default disabled].
-o,--overwrite Overwrite an existing artifact if one exists [default
disabled].
-v,--verbose Be verbose.
-x,--no-exports Do not include database exports [default enabled].
-z,--no-themes Do not include themes [default enabled].
Home directory is required.
In most cases, you should use the “--all” option. In large deployments, the size of index files may be too large to copy practically across a network. If this is the case, you can specify the “--indexes" option to exclude the index files from the export.
After you complete the preceding export step, you should copy the exported file to the installation host where the Jive SBS platform was installed.
[root@targethost ~]# su - jive [1055][jive@targethost:~]$ appstop --verbose sbs Stopping sbs... Executing /usr/local/jive/applications/sbs/bin/manage stop sbs stopped successfully.
[root@targethost ~]# su - jive
[1104][jive@targethost:~]$ appstop --verbose sbs
Stopping sbs...
Executing /usr/local/jive/applications/sbs/bin/manage stop
sbs stopped successfully.
sbs stopped successfully.
[1104][jive@targethost:~]$ cd applications/sbs/home/
[1104][jive@targethost:~/applications/sbs/home]$ cd ~
[1104][jive@targethost:~]$ cd applications/sbs
[1105][jive@targethost:~/applications/sbs]$ ll
total 16K
lrwxrwxrwx 1 jive jive 49 Jan 20 15:52 application
-> /usr/local/jive/applications/template/application
drwxr-x--- 2 jive jive 4.0K Jan 20 15:52 bin
drwxr-x--- 2 jive jive 4.0K Jan 20 15:51 conf
drwxr-x--- 16 jive jive 4.0K Jan 22 11:02 home
-rw-r--r-- 1 jive jive 694 Jan 20 15:20 README
[1105][jive@targethost:~/applications/sbs]$ mv home home.bak
[1106][jive@targethost:~/applications/sbs]$ mkdir home
[1107][jive@targethost:~/applications/sbs]$ cd home
[1107][jive@targethost:~/applications/sbs/home]$ unzip ~/csc.zip
Archive: /usr/local/jive/csc.zip
[1108][jive@targethost:~/applications/sbs/home]$ ll
total 32K
drwxr-xr-x 2 jive jive 4.0K Jan 22 11:08 conf
drwxr-xr-x 2 jive jive 4.0K Jan 22 11:08 database
drwxr-xr-x 2 jive jive 4.0K Jan 22 11:08 geoip
-rw-r--r-- 1 jive jive 958 Jan 22 2009 jive.license
-rw-r--r-- 1 jive jive 1.7K Jan 22 2009 jive_startup.xml
drwxr-xr-x 3 jive jive 4.0K Jan 22 11:08 resources
drwxr-xr-x 2 jive jive 4.0K Jan 22 11:08 spelling
drwxr-xr-x 3 jive jive 4.0K Jan 22 11:08 themes
Jive provides a migration utility that is designed to ease the process of migrating from a DBMS that's no longer supported to one that is. The utility copies data from the old schema and (no longer supported) DBMS to a new database on a supported DBMS. Along the way, the tool manages occasional incompatibilities between DBMS systems.
You don't need to use this tool if you're upgrading from a DBMS that's supported for version 3. (See the System Requirements for more information.)
/usr/local/jive/bin/migration/bin
./migration path/to/filename.properties
Parameters
Except where noted, all of the parameters are required.
| Parameter | Description |
|---|---|
| inputUrl | The JDBC URL used to connect to the source database. |
| inputDriver | The Java class name of the JDBC driver used to connect to source database. |
| inputUser | Source database username. |
| inputPassword | Source database password. |
| outputUrl | The JDBC URL to connect to the target database. |
| outputDriver | The JDBC driver used to connect to target database. |
| outputUser | Target database username. |
| outputPassword | Target database password. |
| workDir | Directory where the migration utility will store the binary data, logs, processing scripts during the migration. |
| Optional Parameters | |
| customSchemas | Comma-separated list of files that contain definitions of tables that are not part of the Jive SBS schema. The table definitions must be in the schema format used by Jive SBS. See plugin documentation for additional information on how to write a schema file. |
| useSqlDump | Specifies that all of the data should be put into an XML file, then used later for importing. Values are true or false. |
| steps |
|
| threadCount | Number of threads. Default is 1. |
Here's an example of the properties you'll need as you might set them in a properties file:
inputUrl=jdbc:mysql://soul:3306/csc252 inputDriver=com.mysql.jdbc.Driver inputUser=csc252 inputPassword=password outputUrl=jdbc:oracle:oci:@oracle-utf8:1521:ORAUTF8 outputDriver=oracle.jdbc.driver.OracleDriver outputUser=KUATO outputPassword=Kuato workDir=/usr/local/jive/var/work/migrate steps=exportBlobs, exportSql, writeEtls
The following sample demonstrates running the migration tool from the jive user’s home directory with a configuration file of migration.properties:
[1600][jive@targethost:~]$ ls -l total 2408 drwxr-xr-x 4 jive jive 4096 Jan 22 14:05 applications drwxr-xr-x 6 jive jive 4096 Jan 22 15:05 bin -rw-r--r-- 1 jive jive 2413509 Jan 22 11:01 csc.zip drwxr-xr-x 5 jive jive 4096 Jan 22 14:05 etc drwxr-xr-x 15 jive jive 4096 Jan 22 14:05 httpd drwxr-xr-x 7 jive jive 4096 Jan 22 15:04 java -rw-r--r-- 1 jive jive 332 Jan 22 15:52 migration.properties drwxr-xr-x 8 jive jive 4096 Jan 22 14:13 postgres drwxr-xr-x 6 jive jive 4096 Jan 22 14:13 python drwxr-xr-x 2 jive jive 4096 Jan 22 15:04 sbin drwxr-xr-x 10 jive jive 4096 Jan 22 15:04 tomcat drwxr-xr-x 7 jive jive 4096 Jan 22 14:05 var [1600][jive@targethost:~]$ cat migration.properties inputUrl=>jdbc:mysql://soul:3306/csc252 inputDriver=com.mysql.jdbc.Driver inputUser=csc252 inputPassword=password outputUrl=jdbc:oracle:oci:@oracle-utf8:1521:ORAUTF8 outputDriver=oracle.jdbc.driver.OracleDriver outputUser=KUATO outputPassword=Kuato workDir=/usr/local/jive/var/work/migrate steps=exportBlobs, exportSql, writeEtls [1818][jive@targethost:~]$ ./bin/migration/bin/migration ./migration.properties log4j:WARN No appenders could be found for logger (com.jivesoftware.migration.schema.DbUtil). log4j:WARN Please initialize the log4j system properly. Number of open connections: Connection URL:jdbc:mysql://10.61.130.77:3306/csc252, count:1 Number of open connections: Connection URL:jdbc:mysql://10.61.130.77:3306/csc252, count:0 Number of open connections: Connection URL:jdbc:mysql://10.61.130.77:3306/csc252, count:1 Number of open connections: Connection URL:jdbc:mysql://10.61.130.77:3306/csc252, count:0 Number of open connections: Connection URL:jdbc:mysql://10.61.130.77:3306/csc252, count:1 Wrote file:/usr/local/jive/var/work/migrate/jiveAttachData/1001.bin Wrote file:/usr/local/jive/var/work/migrate/jiveAttachData/1002.bin Wrote file:/usr/local/jive/var/work/migrate/jiveAttachData/1003.bin Wrote file:/usr/local/jive/var/work/migrate/jiveAttachData/1004.bin Wrote file:/usr/local/jive/var/work/migrate/jiveAttachData/1005.bin … jiveAnswer:2000 jiveDocTypeElement:2001 jiveDocBodyVersion:2002 jiveDraftImage:2003 jiveAttachVersion:2004 jiveImageVersion:2005 jiveWFCurrStepPrev:2006 jiveUsrRelGrApr:2007 jiveUsrRelGrNtf:2008 jiveUserRel:2009 jiveUsrRelListMap:2010 jiveCollaboration:2011 jiveSGroupMember:2012 jivePTracker:2013 jiveSectionElement:3000 Step: writeEtls completed in:0 Memory used: 18764656
The migration utility has been extensively tested on a variety of database and operating system platforms. Still, it is possible that a specific scenario may have been overlooked. This FAQ will try to answer some of the issues that you may encounter during the migration.
The utility needs approximately 1.5-2 times the size of the source database of free, local disk space. So if you have a database with 10 GB of data, ensure that you have at least 15 GBs of disk space available on the server on which you are running the utility.
The time taken will be completely dependent on hard-disk and network speeds and the current load on source and target databases. On a fast disk and reasonably fast network, we have been able to migrate data at the rate of 15-18GB/hour with validation.
Yes, but it is recommended you run all of the steps that are required in every run. The migration internally is broken into multiple steps:
The validate step will generally be the most time consuming and may be excluded, though it is recommended that you always run it. If you exclude this step, check the missing_fk.log and truncated.log files for errors that may have occurred during migration.
All the logs files are stored in the workDir.
There are two reasons why data may not migrate completely from the source to the target database.
At the end of the migration, a summary.html file is generated, that will give a quick summary of the migration. The file contains an entry for each table that is migrated. The entry will contain row counts, count of rows that differ (the delta), and a link to the log file that contains the diff between the source and target. Below is an example of the summary.html:
DB MIGRATION REPORT
Fri Jan 09 11:19:59 PST 2009
| Source Database Name: | jdbc:mysql://10.61.130.171:3306/jive |
| Destination Database Name: | jdbc:postgresql://10.61.130.171:5432/jive |
| Migration started: | Fri Jan 09 11:19:59 PST 2009 |
| Migration ended: | Fri Jan 09 13:43:17 PST 2009 |
| Total number of tables: | 168 |
Summary
| TableName | SourceDB RowCount | DestinationDB RowCount | Delta RowCount | LogFile |
|---|---|---|---|---|
| jiveContainerAprvr | 1 | 1 | 0 | /tmp/db/bs_ver_25x/jiveContainerAprvr.diff.log |
| jiveCommunityProp | 57 | 56 | 1 | /tmp/db/bs_ver_25x/jiveCommunityProp.diff.log |
With a new package distribution in hand, you can easily upgrade your existing RPM-installed instance to the later one.
To upgrade using the package, you'll need the following:
The following instructions are very similar to those for installing the package. For more detail on the commands, refer to that section.
rpm -Uhv jive_sbs_employee-3.0.1_dev.RHEL-5.x86_64.rpm
The following shows console output for a successful upgrade using the preceding command.
[root@targethost ~]# rpm -Uvh jive_sbs_employee-3.0.1_dev.RHEL-5.x86_64.rpm Preparing... ########################################### [100%] Writing upgrade version. Wrote upgrade version. Stopping Jive Applications Stopping Jive System Database. Stopping Jive HTTP Service. Jive pre-upgrade configuration complete. Pre-install tasks complete. 1:jive_sbs ########################################### [100%] Executing Jive post-install configuration. Performing jive platform upgrade. Starting Jive System Daemon. Performing Jive system configurations. Starting Jive System Database. Starting jive-database: server starting Starting Jive applications. Handling applications ['sbs'] Starting sbs... Executing /usr/local/jive/applications/sbs/bin/manage start sbs started successfully. All applications started successfully (1 total). Disabling existing Apache HTTPD server. Starting jive-httpd: Jive post-install configuration complete.
[1520][root@targethost:~]$ appstop --verbose Stopping sbs... Executing /usr/local/jive/applications/sbs/bin/manage stop sbs stopped successfully. All applications stopped successfully (1 total). [1520][root@targethost:~]$ appstart --verbose Starting sbs... Executing /usr/local/jive/applications/fsbs/bin/manage start sbs started successfully. All applications started successfully (1 total).
This section is intended to provide sample configurations and script examples common to long-term operation of a Jive SBS installation. As opposed to the Run Book (Linux, Solaris), these operations are common to a new installation, but generally not for day to day operation of this platform.
Jive SBS includes several command-line tools you can use to perform maintenance tasks with your managed instance. With these tools, you can start and stop the application, upgrae the application, collect information needed by Jive support, and more.
You'll find these documented in the Application Management Command Reference.
Be sure to see the Operations Cookbook for information on enabling SSL encryption.
The Operations Cookbook describes how you can disable the local Jive system database if you won't be using it (because you have your own DBMS).