How to clone Rebex Buru SFTP Server installation across multiple servers
One of the key features of Rebex Buru SFTP Server is easy setup suitable for unattended scenarios. This can be used for bulk deployment of Buru on multiple machines as described in this article.
All actions mentioned on this page can be automated and require no user interaction. The examples are written in PowerShell.
1. Decide on installation method
First, you need to decide whether you will be using the portable .zip package or the .exe installer.
The installer has the benefit of registering itself as a regular Windows application but you can not customize the installation options, such as which components to install or whether or not to start the services immediately (you can still reconfigure the server after the installation completes, though).
The portable .zip package gives you more flexibility. Here is a quick comparison:
Portable .zip package | .exe installer | |
---|---|---|
Registers as Windows application | ❌ | ✅ |
Registers as Windows service(s) | ✅ (optional) | ✅ |
Silent (user non-interactive) install | ✅ | ✅ |
Will auto-start SFTP server on port 22 | ❌ | ✅ |
Will auto-start Web administration on port 8880 | ❌ | ✅ |
Can customize settings before installing | ✅ | ❌ (*) |
(*) with few exceptions, see final tips at the bottom of this page
2. Install the server
Install Buru on the target machine, either using the .exe installer or using the portable .zip package:
2a. Using the installer
Add /silent
option to suppress any user interaction and stop the services after installation.
# Run as administrator in PowerShell
# Install Buru and wait for the process to finish
.\RebexBuruSftpServer-x64-vX.Y.Z.exe /silent | Out-Null
# Stop the services
& "C:\Program Files\Rebex Buru SFTP Server\burusftp.exe" svc stop
& "C:\Program Files\Rebex Buru SFTP Server\burusftpwa.exe" svc stop
2b. Using the .zip package
- Unzip the .zip package on target machine
- Copy your
license.key
to the configuration directory (unless using trial license) - Run
init
to generate server SSH keys and other auxiliary files. Then register the application(s) as Windows Service(s).
.\burusftp.exe init
.\burusftp.exe svc install [--su user] [--sp password]
# Optional: install the Web administration
.\burusftpwa.exe svc install [--su user] [--sp password]
See svc install documentation for more details.
3. Configure the server
Locate the configuration directory and modify or replace the config.yaml
, webconfig.yaml
or aliases
files.
This is also the directory to save your license.key
(if you installed using the .exe installer).
4. Configure the users
Use the command line commands to create users and set up path mappings, for example:
.\burusftp.exe user add guybrush --root-dir C:\Users\guybrush --password elaine --web-admin enable
5. Start the server
Finally, (re)start the SFTP server:
.\burusftp.exe svc start
# Optional: start the Web administration
.\burusftpwa.exe svc start
Final tips
Here are some final tips that may save you some precious time:
- When don't need different settings on each machine, you can simply copy the configuration files and user database from one machine to another.
- Or, even better, you can repack these to the .zip package (possibly along with the license file) and skip steps 3 and/or 4 altogether.
- Only copy the configuration files, never re-use the SSH keys!
- Use
/verysilent
instead of/silent
when using the installer so the installation window does not show up - You actually can customize the installation path when using the installer by using
/saveinf=
and/loadinf=
parameters - see Inno setup documentation for more details.