What our customers say about Team Password Manager

Installing Team Password Manager in VirtualBox using Vagrant (TPM-Vagrant)

Current Team Password Manager version: 7.73.146

TPM-Vagrant for VirtualBox is a packaged Vagrant environment to quickly and automatically setup a virtual machine in VirtualBox with all the components to run Team Password Manager. It is provided for free.

v. 1.16 | ZIP Format
MD5 Hash: 3a977db9f247bb93d15d2aba8ebab927
Released November 17, 2016

TPM-Vagrant installs Linux Ubuntu 14.04 LTS (32 or 64 bit) in a VirtualBox virtual machine with the following components:

  • Some linux utilities: curl, unzip, acl, htop, ntp, software-properties-common
  • Apache 2
  • MySQL Server 5
  • PHP 5.6
  • Ioncube Loader
  • Team Password Manager (latest version)
  • Firewall (http/s, ssh, ntp, ping)
  • fail2ban

TPM-Vagrant runs on any system that can execute VirtualBox and Vagrant (OS X, Linux, Windows).

Installation instructions

1. Install a recent version of VirtualBox (https://www.virtualbox.org/).
2. Install a recent version of Vagrant (https://www.vagrantup.com/).
3. Create a folder on your computer where you want to place the virtual machine.
4. Download and decompress the tpm_vagrant zip file and copy the following files to the folder created in the previous step: Vagrantfile and provision.sh
5. Optional: change configuration variables in Vagrantfile. See the next section: technical explanation and options.
6. On the command line, go to the folder created in step 3 and execute: vagrant up. This will execute the provisioning process. It will take several minutes to complete.
7. When the process finishes, complete the installation of Team Password Manager by opening this URL on your browser: http://localhost:8080/teampasswordmanager/index.php/install

Technical explanation and options

TPM-Vagrant for VirtualBox consists of 2 files:

  • Vagrantfile: this is the configuration file that describes the machine and how to provision it. In our case, it's configured to install Ubuntu 14.04 (32 or 64 bit), uses port forwarding, has some configuration options and uses the provision.sh (in the same folder) file to provision the machine.
  • provision.sh: this is the file that does the provisioning, that is, that installs and configures the software required to run Team Password Manager and also Team Password Manager itself. It's a Bash shell script and it's called by Vagrantfile when the vagrant up command is executed.

Vagrantfile options

The Vagrantfile will work with the default options, but you might want to change them in some cases. These configuration variables are:

num_bits = 64

Allows you to install the 64 bit (trusty64) or 32 bit (trusty32) version of Ubuntu 14.04 LTS. It defaults to 64 bit but you'll want to change it to 32 bit if, for instance, VT-x/AMD-V hardware acceleration is not available on your system.

hostname = "teampasswordmanager"

The hostname of the virtual machine.

server_cpus = "1"
server_memory = "512"

These two values are passed directly to VirtualBox.

server_swap = "1024"

The swap space of the virtual machine. As a rule of thumb, it should be between one or two times server_memory. You can set it to false if you don't want the virtual machine to have any swap space.

server_timezone = "UTC"

The timezone for the virtual machine. You can find a list of timezones here: http://manpages.ubuntu.com/manpages/trusty/man3/DateTime::TimeZone::Catalog.3pm.html. Common values are: UTC for Universal Coordinated Time, EST for Eastern Standard Time, US/Central for American Central or US/Eastern for American Eastern.

mysql_root_password = "root"

The password for MySQL root.

php_timezone = "UTC"

The timezone that PHP uses. It should match the server timezone. You can find the list of PHP timezones here: http://php.net/manual/en/timezones.php.

tpm_database = "tpm_database"
tpm_user = "tpm_user"
tpm_password = "tpm_password"

The database name, user and password for the Team Password Manager database.


By default, the virtual machine is configured to use port forwarding:

  • The port 8080 of the host machine is the port 80 on the guest machine (the virtual machine).
  • The port 8443 of the host machine is the port 443 on the guest machine (the virtual machine).

This way, you can access Team Password Manager using the following URLs from your host machine:

https://localhost:8443/teampasswordmanager (if your host machine has IP (if your host machine has IP

* Note: you can use https on the virtual machine, but since it's configured to use a fake certificate, browsers will complain.

You can also call Team Password Manager from other computers on the same network, as shown in the last two examples.

Port forwarding has a problem, though: the virtual machine won't detect the IP address of the computer that's accessing it, because the virtual machine always "thinks" that this computer is the host machine. If you want the IP address of the computer using Team Password Manager to be detected (and thus correctly logged into Team Password Manager), you should use public network (or bridged network). With public network, the virtual machine is assigned an IP address in your network (static or using DHCP) in the Vagrantfile, with these commands:

  • Static IP address:
    config.vm.network "public_network", ip: "A_FREE_STATIC_IP_ADDRESS"
    (A_FREE_STATIC_IP_ADDRESS is a free static IP address in your network, for example
  • DHCP:
    config.vm.network "public_network"

We've provided an example of this command in the Vagrantfile, just look for it, uncomment it and adapt it to your system.


1.16 - 20161117

  • Updated the PHP repository.
  • Minor adjustments.

1.15 - 20160211

  • Server memory to 1Gb and swap to 2Gb.
  • MySQL 5.6.
  • Ioncube Loader v. 5.1.1.

1.12 - 20150908

  • Cleanup repeated usermod.
  • Change in user permissions:
    • No need to give group www-data write permission on uploads and import, so deleted:
      • sudo chmod 775 /var/www/html/teampasswordmanager/uploads
      • sudo chmod 775 /var/www/html/teampasswordmanager/import
    • Optionally (uncomment in provision.sh) make user vagrant member of www-data group (sudo usermod -a -G www-data vagrant)
    • Optionally (uncomment in provision.sh) to grant www-data group write permission on /var/www (sudo chmod -R 775 /var/www)
  • CHARACTER SET utf8 COLLATE utf8_unicode_ci in CREATE DATABASE.
  • Ioncube Loader v. 5.0.16.

1.7 - 20150315

Update php.ini to ensure that always_populate_raw_post_data is uncommented and set to -1 (or On). This is to maker sure POST API requests work correctly.

Ioncube loader v. 4.7.5

1.6 - 20150223

Ioncube loader v. 4.7.4

1.5 - 20150121

First public version of TPM-Vagrant for VirtualBox

Questions or Problems? Please contact our support department