We're working on a new set of Quicktours for Checkout 3

Please check back soon

close

Checkout Server

Please Note: Checkout Server is currently not compatible with Mac OS X 10.6 Snow Leopard. An update that works on Snow Leopard will be available soon.

About Checkout Server

Checkout Server is a free add-on for Checkout. It lets you connect up to 40 Macs, schedule backups and much more. Checkout Server can host as many store database as you want and is designed to run on a dedicated computer and must not be installed on a Mac running a licensed copy of Checkout.

Installing Checkout Server

After you download the Checkout Server installer package, simply double-click it and follow the on-screen steps to complete installation. You will be prompted to open the Checkout Server preferences at some point to walk through initial steps needed to set it up.

During initial setup, you will be prompted to create a new user account, or choose an existing account that will own the Checkout Database process. It is highly recommended, for increased security to create a dedicated user account here, that will not be used for anything else. You can read more about why this is recommended over here.

Next, Checkout Server configures your system to allow more memory to be allocated to the underlying PostgreSQL server. When these steps are completed you will be prompted to restart your computer for the new memory allocation settings to become effective.

Importing a Store

Checkout Server cannot create new stores from scratch. To setup a new Checkout store, first install Checkout on another computer and walk through the Store Setup Assistant in Checkout.

To import a store database, open Checkout on the computer that is currently hosting the store, and choose “Manage Stores” from the Welcome window. In the “Store Administration” window that opens, select your store form the list and create a backup. After you copy the store backup file to the computer running Checkout Server, open the “Checkout Server” System Preferences and go to the “Stores” tab. Click the “Import...” button to load your store database.

Creating Backups

Go to the “Checkout Server” System Preferences pane and click the “Backup Now...” button under the “Stores” tab, select a destination in the dialog that appears and a backup is created and revealed in the Finder. Alternatively, you can also use the “checkoutdb” command-line tool to create a backup. To do so, first type “checkoutdb -stores” in a Terminal window to figure out what the prefix of the store you want to backup is. Next, type “checkoutdb -backupstore <storeprefix> <destination>” in the Terminal. See the command-line reference below for information about additional options.

Setting up a Backup Schedule

Checkout Server features a very easy-to-use and powerful interface to setup backup schedules for your stores. To configure a backup schedule, go to the “Stores” tab in the “Checkout Server” System Preferences pane and click “Edit Schedule...”. Add additional schedules to the list by clicking the “+” button at the bottom of the Schedule dialog.

Backup schedules are implemented using OS X LaunchAgents. You can review these in the “/Library/LaunchAgents” folder on your Mac. All of the files in that folder with a name starting with “com.madebysofa.chbackup” are created and managed by Checkout Server. Do not edit these LaunchAgents directly, any changes you make may be reverted by Checkout Server the next time you adjust your backup schedule in the System Preferences pane. If you want to implement a LaunchAgent of your own with custom options, you can use one of these as an example and store your modified version under a different name.

Checkout Server Command-Line Tool

Checkout Server comes with an extensive command-line tool. During installation a symbolic link to this tool is created in the “/usr/bin” folder, so you can easily launch it from the Terminal by typing “checkoutdb”. By running “checkoutdb” without any arguments, the same command-line reference as printed below will be printed in your Terminal.

Available Commands:

-start
Starts the database server.
-stop
Stops the database server.
-fix
Attempts to fix common problems.
-setshared <storeprefix> <value>
Sets whether a store is shared or not.
  • <storeprefix> : is the internal database name of the store
  • <value> : 1 to turn sharing on, 0 to turn sharing off
e.g.: checkoutdb -setshared D0C2G3 1
-backupstore <storeprefix> <destination>
Creates a backup of a store.
  • <storeprefix> : the internal database name of the store
  • <destination> : a complete path to the destination
The destination can be either a folder or a filename, if a folder is provided, checkoutdb will create a filename containing the store name, date and time for the backup.

If a filename is provided, checkoutdb will append the extension .checkoutbackup if it's not present in the file.

Options:
  • -zip : Save the backup as a .gzip file.
  • -silent : Do not reveal the backup in the Finder when done.
-restorebackup <file>
Loads/imports a store from the specified file.
  • <file> : the complete path to a .checkoutbackup file
-deletestore <storeprefix>
Deletes a store.
  • <storeprefix> : the internal database name of the store
-renamestore <storeprefix> <name>
Renames a store.
  • <storeprefix> : the internal database name of the store
  • <name> : The new name for the store
If the name contains spaces or other special characters, use single or double quotes to enclose the name

e.g.: checkoutdb -renamestore D0C2G3 'My Great Store'

-updateschema <storeprefix> <schema>
Update the database schema of a store
  • <storeprefix> : the internal database name of the store
  • <schema> : the schema version to upgrade to
-stores
List all hosted stores and update information used by the Checkout Server system preferences pane.
-setcheckoutdbuser
Sets the checkoutdb user, the account that is used to run the database server to .
  • <username> : the short user name of the new checkoutdbuser
-configureshmem
Configures Mac OS X shared memory settings, to have effect, the computer must be restarted after setting this.
-bootstrap
Create a new Checkout Database folder. This method should only be used when Checkout Server is newly installed.
-applyanddelete <path>
Installs and loads all launchAgent templates present in <path>, if they are valid checkout launchAgents. Then deletes the folder at <path>
  • <path> : complete path to a temporary folder
-clearschedule <storeprefix>
Clears all configured backup schedules for a store.
  • <storeprefix> : the internal database name of the store
-admintrusted
Prints whether or not local Administrator connections are trusted, meaning, users can connect to the database with the username 'admin' without entering a password, but only if they are trying to connect with an IP connection from localhost.
-setadmintrusted <value>
This configures whether or not local Adminstrator connections should be trusted. If they are, a user can log in from localhost using the username 'admin' without a password.

NOTE: Only set Administrator connections to trusted temporarily, and if you know exactly why you need this functionality. Always set Administrator connections to untrusted when you are done.

If you want to setup a permanent account with a known password for administrative purposes using third party adminstrative tools, DO NOT change the password for the 'admin' account.

Instead, set up an additional account with any privileges that you desire and use that from there on.

Changing this value will restart the database server if it is running and disconnect any users that are connected. Starting the server normally will revert the trust settings to off and if needed restart the server if it is already running.

  • <value> : 1 to set to trusted, 0 to set to untrusted
e.g.: checkoutdb -setadmintrusted 1

Options

-pause
Waits 10 seconds before exiting after completion of a command. Recommended when using checkoutdb as part of a launchd/launchctl based workflow, to prevent launchd from restarting checkoutdb because it exited too quickly.

e.g.: checkoutdb -backupstore -pause -silent D0C2G3 /Backups/

All arguments listed between angled brackets are required.

All commands except the -stores command require checkoutdb to be executed as root.

Checkout 2 Old Documentation