No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Brian Salcedo e8fe577eb9 initial commit 2 years ago
.gitignore initial commit 2 years ago
README initial commit 2 years ago
Vagrantfile initial commit 2 years ago
ansible-vars.yml initial commit 2 years ago
deploy-lemp.yml initial commit 2 years ago initial commit 2 years ago
mailname.j2 initial commit 2 years ago
nginx.conf.j2 initial commit 2 years ago
php-fpm.conf initial commit 2 years ago initial commit 2 years ago
pre-tasks.yml initial commit 2 years ago
update-exim4.conf.conf.j2 initial commit 2 years ago


Use Vagrant and Ansible to deploy LEMP stack with Ubuntu 16.04 and Wordpress on Linode.

The Wordpress admin interface is configured for TLS. You need to create the .pem files and place them here.

Edit ansible-vars to set your hostname/domain and mysql root password.

To run these scripts, you must first do the following:

* Install Vagrant (
* Install Ansible
* Generate an SSH RSA key-pair (skip this if you already have one)
$ ssh-keygen -t rsa

Now install the vagrant-linode plugin:
(This could require root depending on your system)

$ vagrant plugin install vagrant-linode

In this script directory, run vagrant:
(It is important that you run vagrant within the directory containing the

$ vagrant up --provider linode

Explanation of files contained herein:

Vagrantfile - Vagrant configuration file.

ansible-vars.yml - settings used by scripts.
deploy-lemp.yml - main Ansible script to deploy wordpress.
pre-tasks.* - initial setup for linode VM.

dhparam.pem - DH parameters for SSL.
fullchain.pem - public key chain for SSL.
privkey.pem - private key for SSL.

The following files are needed by Ansible: - script to install and configure wordpress.
update-exim4.conf.conf.j2 - Exim4 send-only configuration.
mailname.j2 - Exim4 send-only configuration.
nginx.conf.j2 - Nginx configuration template.
php-fpm.conf - Wordpress configuration for PHP.

To make changes to Linode configuration, edit Vagrantfile.
If provider.distribution is changed, the ansible scripts may fail.
API key, datacenter, and plan may be modified to suit your needs.

Note: The IP address of the linode will be displayed in the inital stages
while running the script. Take note of this. Vagrant will install
your SSH key to the root account so you can access the linode.