Testimonials
What our customers say about Team Password Manager

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

Current Team Password Manager version: 12.160.277

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. 3.29 | ZIP Format
MD5 Hash: e2f62524c891090328a818aa0e368be6 (how to check)
Released October 24, 2023

TPM-Vagrant installs Linux Ubuntu 20.04 LTS (64 bit) (Focal Fossa) in a VirtualBox virtual machine with the following components:

  • Apache 2.4
  • MySQL Server 8
  • PHP 8.1
  • SourceGuardian Loader
  • Team Password Manager (latest version)
  • Firewall (http/s, ssh, ntp)
  • 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 20.04 LTS (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:

hostname = "teampasswordmanager"

The hostname of the virtual machine.

server_cpus = "1"
server_memory = "1024"

These two values are passed directly to VirtualBox.

server_swap = "false"

The swap space of the virtual machine. It's disabled by default ("false") as it's not needed for SSD drives. But if you want you can set it by entering a value, e.g. "2048". As a rule of thumb, it should be between one or two times server_memory.

server_timezone = "UTC"

The timezone for the virtual machine. You can find a list of timezones here: http://manpages.ubuntu.com/manpages/bionic/man3/DateTime::TimeZone::Catalog.3pm.html. It's set to UTC (Universal Coordinated Time) by default.

mysql_root_password = "Root15%A"

The password for MySQL root. Use lowercase + uppercase + numbers + special chars but avoid quotes and apostrophes

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.

Networking

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:

http://localhost:8080/teampasswordmanager
https://localhost:8443/teampasswordmanager
http://192.168.0.10:8080/teampasswordmanager (if your host machine has IP 192.168.0.10)
https://192.168.0.10:8443/teampasswordmanager (if your host machine has IP 192.168.0.10)

* 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 192.168.0.9)
  • 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.

Changelog


3.28 - 20220811

  • PHP 8.1.
  • SourceGuardian loader 13.0.3.

3.26 - 20220511

  • Ubuntu 20.04 LTS (64 bit).
  • MySQL 8.
  • PHP 7.4.
  • Ioncube loader 11.0.1.
  • Enable Apache MPM Prefork instead of Event.
  • Install PHP-XML for SAML.

2.22 - 20190516

  • Ubuntu 18.04 LTS (only 64 bit).
  • MySQL 5.7.
  • PHP 7.2.
  • Ioncube loader 10.3.4.
  • No swap by default.
  • Ubuntu firewall (ufw).

1.17 - 20180531

  • Ioncube Loader 10.1.0.
  • Correct https links to download from teampasswordmanager.com.

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