Local development
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 a 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 works just on any platform: Mac, Windows and Linux.
How to Install and Configure Vagrant
There are a few easy steps to get a complete development setup on your local computer. Here they are:
Step 1
Download and install Vagrant and VirtualBox . Installing them is very easy and straightforward.
Step 2
Clone your site’s Git repository on your local computer. Got to the folder where you want to clone it and run from the terminal or command line:
git clone https://git.presslabs.net/username/site-name.git
NOTE
You need to replace
username
andsite-name
with your username and the name of your site — as it’s defined in our systems. The full clone URLs are available on Gitea . After your run the command, you will need to introduce your Presslabs account credentials.
Step 3
We 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 Snapshot Section
in our Managed Hosting Dashboard, 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.
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 firstly 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:
mysql
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:
SHOW TABLES;
Then disconnect from the SSH by pressing CTRL+D
three times.
Step 6
Your environment is now ready to use and the only thing you have to do is to access it using your browser. Therefore point your browser to this address:
http://site-name.local/
Step 7 (optional)
For a complete testing experience you might need to have some of the images stored in the uploads folder. You can download a media backup from the
snapshots section
or drop us an email at
support@presslabs.com
if you only need the last month of media files, for example. Then copy the files 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 consume 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 your site’s repo (/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