- Download Bonsai
- Install Requirements
- Setup Servers
This tutorial video is for v0.0.1. Once you’ve completed it, you might want to watch Updating to v0.0.10 to get to the current version of Bonsai.
Download Bonsai
Go to Github and download Bonsai using your preferred method.
Requirements
Setup SSH Keys
- Setup Digital Ocean Account
- Add SSH Key to DigitalOcean
- Generate SSH Key
- Publish SSH Key to DigitalOcean
- Setup Github Account
- Add SSH Key to Github
Install Requirements
- Run:
cd ~/sites/Bonsai/site/scripts && chmod -R 777 . && ./requirements.sh
This will install the following:
- Xcode Developer Tools
- PHP >= 7.2
- Homebrew
- Node.js >= 8
- Ansible >= 2.8
- Virtualbox >= 4.3.10
- Vagrant >= 2.1.0
- Composer
- Yarn
Setup Servers
First, check:
- Remove unnecessary Virtualbox Machines
- Clear:
~/.ssh/known_hosts
file of any duplicates or old hosts - Clear:
~/../../etc/hosts
Nameservers:
Create Droplets:
- Staging-Droplet
- Production-Droplet
Setup DNS:
- Go to DigitalOcean’s Dashboard > Networking
- Add new domain or click on existing one
- A Record: subdomain.domain.com
- CNAME: *.subdomain.domain.com
Configure Etc/Hosts
Add IP and domains to etc/hosts
, run: sudo vim ~/../../etc/hosts
111.11.111.111 subdomain.example.com
555.55.555.555 example.com www.example.com
Configure ~/.ssh/config:
Add IP and hostname to ~/.ssh/config
, run: sudo vim ~/.ssh/config
Host bonsai-staging
HostName 111.11.111.11
Port 22
User root
IdentityFile ~/.ssh/id_rsa
Host bonsai-production
HostName 555.55.555.555
Port 22
User root
IdentityFile ~/.ssh/id_rsa
Test SSH Connection:
Make sure that your SSH connections are working by SSH’ing into the servers:
- Staging, run:
ssh root@subdomain.example.com
- Production, run:
ssh root@example.com
If it connects successfully, you’re good to go.