Installation for macOS

Before using ExpeDat software for the first time, verify that you have a working network path and that you have downloaded the correct package for your operating system.  The osx package is distributed as a read-only disk image, ".dmg".  If you wish to customize the clients or server, you will need to copy the clients or "Server Files" folder out of the read-only image as described below.

A ".tgz" package is also provided for administrators wishing to distribute and install the software using the command line.

Server Installation

These instructions are for installation of the ExpeDat server software as a macOS Launch Daemon.  If you do not have access to an administrative account or only wish to perform a quick test of the server software without installing it, see the Server Command Line section below.

If this is the first time servedat has been installed on this system, and you do not customize its configuration, it will run with the following defaults:

If you wish to configure other modes of user authentication, see the Adding Users section.  If you wish to make other configuration changes, see the Configuration File section.  Most users use the defaults for their first time installing servedat.

To install servedat as a macOS Launch Daemon using the Finder and default settings, follow these steps:

  1. Log in to the server as an Administrator.
  2. Verify that there are no command-line (Terminal) instances running: only one servedat may run at a time.  Existing Launch Daemon instances (from prior installs) will be replaced automatically.
  3. Open the "expedat-osx" .dmg disk image then open the "Server Files" folder.  If you want to make changes to the configuration files before installation, copy the entire "Server Files" folder to avoid breaking installation script dependencies.
  4. Double click on "Install servedat".
  5. If prompted, allow the installation script to run in Terminal.
  6. Enter your administrative password, if prompted to do so.
  7. If you are installing a free trial or upgrading an existing license, answer 'n' when prompted for a license code.  If you are installing a newly licensed server, or changing the license code, enter 'y' and type the license code when prompted.  Make sure the license code matches the host machine you are installing upon.
  8. If a servedat.cf configuration file is already installed, you will be asked whether to replace it.  The default is 'n', which will preserve the existing configuration.  Answer 'y' only if you have modified the servedat.cf file in this "Server Files" folder and wish to use that instead of the existing one.
  9. Confirm that you wish to start the newly installed server.  If a server is already running, answering 'y' will stop the old one before starting the new one.
  10. For installation on 10.15 (Catalina) or later, grant "Full Disk Access" to servedat in the Privacy panel of System Preferences.  (Click here to try opening it automatically).  Authenticate using the lock icon, then click "+" to locate servedat.  In the Open dialog, type command-g, enter /usr/local/sbin/servedat and select "Go" then "Open".  The result should look like this:

    Full Disk Access

  11. Check the installation output for any errors or warnings.  Double click on "Link to servedat.log" to open the server log file in Console.app and scroll to the bottom to check for errors or warnings.
  12. After a successful installation, you may close the Terminal window if it does not close automatically.

To install servedat as a macOS Launch Daemon from the command line, run the equivalent scripts in the "scripts" folder.

After successfully installing servedat, you may proceed to Client Installation to test that it is accessible.

Running Install servedat does not change any svpasswd files which may already be installed.  If you wish to replace either svpasswd or servedat.cf with the ones in your "Server Files" folder, run Install config.  The best practice is to keep canonical copies of servedat.cf and svpasswd someplace safe.  When you want to make changes, copy the modified files back into the "Server Files" folder and run Install Config to install one or both them.

After installing changes to servedat.cf, you must either restart servedat, or reinstall servedat.  The Install servedat script will offer to restart servedat for you.  After installing changes to svpasswd, servedat will automatically reload the file in about one minute, unless you have changed the AuthReload option in servedat.cf.

If you need help, copy and paste the entire contents of any installation windows into an email, attach the /var/log/servedat.log file, and send them to support@dataexpedition.com along with your questions.  Tech Note 0012 contains tips and troubleshooting advice for the most common problems.

Server Command Line

Alternatively, the server can be run directly from a shell for scripting, embedding, or testing purposes.  From a shell or Terminal window, type the servedat path or drag the servedat icon to the Terminal Window.  Choose the folder you wish to serve and either type its path or drag it's icon to the same Terminal window.  Then click on the Terminal window and press return to launch servedat.  For Example:

/Volumes/ExpeDat/Server\ Files/servedat /Volumes/Media/Outgoing

servedat only supports running one process at a time.  If you receive a "port already in use" error, then it is already running as either a service or another command-line instance.  Likewise, running servedat on the command-line will prevent the servedat launchd daemon from starting.

When run as a non-root user with no authentication options specified, clients will not be allowed to specify usernames and may access only the contents of the specified folder.

Client Installation

ExpeDat Desktop, DropDat, and movedat are fully self-contained: no installer program is required.  You may copy ExpeDat Desktop and DropDat to your /Applications folder, Desktop folder, or other writeable location.  movedat may be copyied to /usr/local/bin or any other location where you typically store command-line executables.

Security Icon

DropDat droplets and ExpeDat Desktop with embedded settings rely on macOS specific file attributes to ensure compliance with Gatekeeper security restrictions.  To preserve these attributes, all macOS DropDat droplets and customized ExpeDat Desktop apps must be copied using Apple software, or compressed first using the Finder.  Copying through non-Apple software, including ExpeDat, without first using Finder compression may remove the embedded configuration.

The DropDat master may prompt you for a license code the first time you run a licensed copy of it.  Droplets and other clients normally self-register and do not ask for their license codes.  If you plan to run movedat or mtping in an restricted environment such that it cannot record its license registration, you should run "sudo movedat -R" or "sudo mtping -R" to prevent repeated auto-registration attempts.

To install WebDat, simply double-click on the "Install WebDat" icon and affirm any security prompts.

ExpeDat Mobile is available for installation from the Apple App Store.

Notarization and macOS 10.15+ (Catalina and later)

All of ExpeDat's macOS executables and desktop installation scripts are signed and notarized as required by Apple.  Verification requires that your macOS system have internet access to Apple's servers.  If your system is offline or blocked by a firewall, you may receive an error similar to the following:

Apple cannot check it for malicious software.
This error may occur if you first run ExpeDat while offline.

If this occurs, use the Finder to right-click or control-click on the component you are trying to run and select "Open".  This will provide you with a slightly different dialog with an "Open" option.

Installation Components

Server related files are found in the "Server Files" folder of the distribution package.

servedat The server executable.
servedat.cf This file is used to customize the server.  See the Configuration File section for step-by-step instructions.
svpasswd A sample user database file for private authentication, also known as an AuthFile.  See the Adding Users section for step-by-step instructions.
Install servedat Run to install the ExpeDat server as a Launch Daemon, and optionally install servedat.cf.  For non-trial software, have your license code ready.
Install config Run to copy servedat.cf and/or svpasswd to /etc/ and optionally restart the Launch Daemon.  This is only necessary if you have modified servedat.cf or svpasswd.
mtping A diagnostic utility for testing and monitoring servedat.
Install mtping Run to install mtping in /usr/local/bin.
mkpasswd A password hash generator for securely storing passwords in svpasswd.
Link to
servedat.log
A symbolic link to /var/log/servedat.log.  Open with any text editor to view the server log.
servedat.pam A PAM authentication description used with System Authenticationinstall-servedat.command copies this to /etc/pam.d/servedat.
com.dataexpedition.
servedat.plist
The Launch Daemon property list for servedatinstall-servedat.command copies this to /Library/LaunchDaemons/.
Uninstall servedat Run to shutdown and remove the server Launch Daemon.
scripts/ This folder contains command-line versions of the "Install" and "Uninstall" applications.

Client related files are found in the top level installation folder and the "Client Files" sub-folder.

ExpeDat Desktop.app The graphical client.  Copy to any convenient location, such as your desktop or Applications folder.  Web Integration is enabled as soon as the Finder sees the application.
DropDat.app The configuration master for creating droplets and embedding settings in ExpeDat Desktop.  Copy to any convenient location, such as your desktop or Applications folder.
movedat The command line client.  You may copy movedat to any location convenient for executables.
install-
movedat.sh
Run to install the command line client in /usr/local/bin, and optionally install movedat.cf in /etc/.
movedat.cf A sample configuration file for movedat.  This may be useful for remembering frequently used options.
install-
ExpeDat_Desktop.sh
Run to copy "ExpeDat Desktop.app" to /Applications/.
install-
DropDat.sh
Run to copy DropDat.app to /Applications/.
mvcomplete.sh A bash script which allows you to type Tab to auto-complete partial remote pathnames when typing movedat commands.