clock Last Modified: Jul 16, 2018

Development Environment

You can locally develop a WordPress site that is hosted at Presslabs by following a few easy steps. This will help you understand how to use Vagrant and the production file structure.

We’re offering Vagrant as the default tool for developers that need to work on the WordPress sites hosted on Presslabs.

What is Vagrant?

Vagrant is a tool that replicates a production environment to your local computer for development purposes. It’s simple, straightforward and just works on any platform: Mac, Windows and Linux.

How to install and configure Vagrant?

There are a few very easy steps to get a complete development setup on your local computer. Here they are:

Step 1

Download and install Vagrant and VirtualBox. Their installers are very easy and straightforward.

Step 2

Clone the Git repository of your site on your local computer. Got to the folder where you want to clone it and run from the terminal or command line:

git clone

Step 3

We now need to add WordPress on your local repo so that Vagrant can properly start the local copy of your site. WordPress will be cloned in the wordpress sub-folder of your cloned repository. All you have to do is to enter the cloned repo:

cd site-name

and then clone the sub-modules:

git submodule update --init

Step 4

You need to download your DB copy from the Presslabs Dashboard, from the Snapshot Section, as seen below. After you get the DB dump, just copy it inside the main folder of the Git repo — you’ll import it in the next steps.

Request a database snapshot from the Presslabs dashboard
info Request a database snapshot from the Presslabs dashboard

Step 5

Let’s start the virtual machine created by Vagrant. Type from inside the Git repo, using the command line or terminal:

vagrant up

This will start the Vagrant environment by spawning a virtual machine through VirtualBox. Please give it a few minutes for a full start.

Now you need to import the DB. For that you first need to connect to the Vagrant machine using ssh:

vagrant ssh

Then make yourself root by typing:

sudo -i

Check that you can see the SQL dump that you copied earlier by typing:

ls /vagrant/

In this folder you can actually access from the machine the entire Git repo if needed. If the file is there you need to start the MySQL command line by typing:


Select the WordPress database where you need to import your site’s DB by typing:

USE wordpress;

Now you’re ready for import, therefore run from the mysql command line:

SOURCE /vagrant/mysql-dump-file-name.sql;

After the import is finished check that you can see all the tables by typing:


Then disconnect from the SSH by pressing CTRL+D three times.

Step 6

Your environment is now ready to use and the only thing to do is to access it using your browser. Therefore point your browser to this address:


Step 7 (optional)

For a complete testing experience you might need to have some of the images stored in the uploads folder. You can upload them from the live site on Gitea. Just fetch the last 2-3 months from the uploads folder and copy them to the uploads folder of your Git repo. They’re added in the .gitignore file by default, therefore they won’t be committed to the Git repo after copying them over.

Step 8

When you have finished working with your Vagrant environment, it’s advisable to stop it, so it won’t eat your computer’s resources. You can do this by running from the Git folder:

vagrant halt

All set, happy coding!

How can I access logs in Vagrant?

The logs for the Vagrant instance are available in the /log/ folder of the repo for your site (/my-site-repo-folder/log/).

These are the files found there (their names are self explanatory):

  • nginx-access.log
  • nginx-error.log
  • php-access.log
  • php-error.log