Appboard/2.4/admin/backup and recovery: Difference between revisions

imported>Jason.nicholls
imported>Jason.nicholls
Line 67: Line 67:
|-
|-
| Restore
| Restore
|  
| This command will load an archive effectively creating a "mirror" of the original install. If this is on a different host then the license key and runtime configuration may need to be updated, alternatively use the ''Apply'' command.
|-
|-
| Apply
| Apply
| This command is intended when moving an archive from one host to another and will preserve the existing: license file, SSL configuration, other runtime configuration (<tt>setenv-custom.sh</tt>). The host where the ''Apply'' is run will need to have this configuration already setup otherwise AppBoard will not start (i.e. no license).
| This command is intended when moving an archive from one host to another and will preserve the existing: license file, SSL configuration, other runtime configuration (<tt>setenv-custom.sh</tt>). The host where the ''Apply'' is run will need to have this configuration already set up otherwise AppBoard will not start (i.e. no license).
|}
|}



Revision as of 15:49, 30 September 2013


A typical AppBoard deployment will consist of:

  1. application configuration: stacks, boards, widgets, users, domains, provisioning information etc...
  2. custom assets on the filesystem such as icons, logos, and additional configuration files.
  3. external supporting pieces required for operation but not strictly part of AppBoard, such as an additional external database, scripts, etc...

AppBoard provides a configurable export system which will automatically capture all system configuration (1) and much of the custom assets (2). If custom assets are not captured then the export configuration can be modified to include them which would be considered a deployment best practice.

As for external supporting pieces that's beyond the scope of the product itself but should be considered from a overall perspective.


Creating Backups

Creating backups is done by navigating to the System Administration builder mode, and selecting the Backup icon.

Backup system administration page

This page allows new backups to be created as well as existing backups on the server filesystem to be downloaded or deleted.

Select the Create button to create a new backup, the following options will be presented:


Backup Type Description
Backup All (recommended) This will backup everything and is typically the form of backup required even if only using AppBoard features.
Backup AppBoard This is a special purpose backup that will only export AppBoard content - see below for further information.
Backup Portal This is a special purpose backup that will export most server configuration and all enPortal configuration.


Backup AppBoard Option

The Backup AppBoard option backs up only AppBoard components, specifically: Stacks, Data Collections, and Data Sources. Everything else including server configuration, users, domains, roles, stack assignment, managed variables, and all enPortal specific custom export properties are not backed up.

Use the Backup All option for full system backups.

In addition a special procedure is required to load an AppBoard only backup onto an existing server without losing any other configuration, i.e. this is not necessary for a clean AppBoard installation. Instead of a Restore or Apply command, the FilesImport command should be used. This will overlay the files onto the filesystem without resetting the configuration database. The following steps are also required to ensure data sources are loaded correctly:

  1. Shut down AppBoard.
  2. In a terminal change into the [INSTALL_HOME]\server\bin\ directory.
  3. Enter the command: portal FilesImport -jar <appboard-only-archive.jar>
  4. Change into the [INSTALL_HOME]\server\webapps\enportal\WEB-INF\xmlroot\appboard\ directory.
  5. Rename load-restore.txt.disabled to load-restore.txt.
  6. Start AppBoard.

Customizing The Export

Loading Backups (archives)

Loading backup archives is completed on the command line and the AppBoard server must be shutdown beforehand.


Load Type Description
Restore This command will load an archive effectively creating a "mirror" of the original install. If this is on a different host then the license key and runtime configuration may need to be updated, alternatively use the Apply command.
Apply This command is intended when moving an archive from one host to another and will preserve the existing: license file, SSL configuration, other runtime configuration (setenv-custom.sh). The host where the Apply is run will need to have this configuration already set up otherwise AppBoard will not start (i.e. no license).

How To Restore AppBoard/enPortal

  1. Shut down AppBoard.
  2. On the command line in the destination system, go to \server\bin\.
  3. Enter one of the following commands:
    Portal restore –jar ..\webapps\enportal\WEB-INF\archive\<name of backup jar file>
    • The "restore" command is intended for doing a complete rebuild of AppBoard, such as when you are migrating AppBoard to a new server or upgrading to a new AppBoard version. It will copy all of the files from the archive JAR on to the destination server where you are running the command.
    Portal apply –jar ..\webapps\enportal\WEB-INF\archive\<name of backup jar file>
    • The "apply" command skips over copying some of the config files from the archive JAR. It can be used, for example, if you are loading an archive on to a test server and you do not want the command to extract all of the system configuration settings and wipe out the local settings that are in place (for example, the license file). The list of files that is skipped by the apply command can be seen (and configured) in [INSTALL_HOME]/server/webapps/enportal/WEB-INF/config/export.properties under the section labeled "import.skip.apply".
  4. Enter “yes” to confirm replacing any existing content.
  5. Start AppBoard and confirm that the exported content was loaded successfully.


Deciding Whether To Use the "Apply" or "Restore" Command

When to use "portal apply":

  • You do not want any customization to affect your local /server/bin/setenv-custom scripts (port overrides; memory settings, etc).
  • You do not want /server/webapps/enportal/WEB-INF/config/license.properties or any license.* files to affect your local server settings.
  • You do not want SSL configuration changes in /server/conf/ to affect your local server settings.
  • You only want elements such as Stacks, Channels, Users, or personalizations to be imported.


When to use "portal restore":

  • You want the restore to truly mirror the full configuration from the original server where the backup archive was created.


Note: In both cases (portal restore and portal apply), the command will reset the database. Once started, the system will only load the stock configurations plus the configurations imported by the overlay.

Template-note.png
If you are migrating an archive from version 2.2.x to version 2.3.x or higher, certain database drivers that were bundled with previous versions of Appboard are no longer included. After restoring the archive, you need to copy the driver from [AppBoard_Home]/server/webapps/enportal/WEB-INF/lib/ and save it into this same location on the new server. For example, to use MySQL you would need to copy the JDBC driver file (such as mysql-connector-java-5.1.19.jar) into the /lib/ directory of the new server. The error message indicating a missing driver would be "Please install missing [drivertype] Driver" on the screen and in Appboard.log. Tip: If you rename a database driver file to pkg-<libraryName>.jar, it will be preserved and migrated in archives generated by AppBoard.
Template-note.png
On Unix systems, after restoring an archive you need to verify that some of the server settings are correct. For more information, see Unix Installation - restoring an archive

Advanced Configuration

The set of files that are included in the backup archive is configured in the file [INSTALL_HOME]/server/webapps/enportal/WEB-INF/config/export-appboard.properties and [INSTALL_HOME]/server/webapps/enportal/WEB-INF/config/export.properties. You can customize the process by adding files to be included in the backup archive. To do so, create a file called custom.properties, and include any custom export commands.


The following is a sample customization block that could be added to custom.properties:

[xml,N]

  1. Backup custom theme

export.custom.other=${webapp.webinf}/xmlroot/appboard/config/themes.xml;\

       ${webapp.home}/visualizer/assets/images/backgrounds/bg-red_1600.png;\
       ${webapp.home}/visualizer/assets/images/my_banner.png;\
       ${webapp.home}/login_pages/edgeLight/images/logo.png;\
       ${webapp.webinf}/lib/db2jcc.jar;\
       ${webapp.webinf}/lib/db2jcc_license_cu.jar;\
       ${webapp.home}/version.jsp;\
       ${webapp.webinf}/groovy-script/TrimSiteCode.groovy;

export-appboard.data=${webapp.webinf}/data


Troubleshooting

  • Issue: When restoring an archive, you receive the following message in the console: System must be shutdown prior to resetting the database.
  • Possible Causes:
    • AppBoard is still running. Make sure AppBoard is shut down prior to running the restore command.
    • The system was improperly shut down and there is a lock file in the H2 folder (/server/webapps/enportal/WEB-INF/h2/). Delete the lock file (persist.lock.db) and run the restore command again.