Installing Wordpress On Laravel Forge Server Using Bedrock


Based on this CSS-Tricks article: https://css-tricks.com/intro-bedrock-wordpress/

Requirements

| Optional |


Step-by-step

| Set Up Server |

1. Add site & set up domain

2. Install & activate SSL certificate

3. Enable Gzip & Add Caching

gzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_comp_level 7;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/css
text/javascript
text/xml
text/plain
text/x-component
application/javascript
application/json
application/xml
application/rss+xml
font/truetype
font/opentype
application/vnd.ms-fontobject
image/svg+xml svg svgz;
gzip_vary on;
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|ttf|otf|woff|mp4)$ {
expires 365d;
}
location ~* \.(pdf)$ {
expires 30d;
}

4. Optimize SSL

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
# Session Cache Settings
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 180m;

# Enable SSL Stapling
ssl_stapling on;
ssl_stapling_verify on;

5. Hide user.ini

location ~ ^/\.user\.ini {
deny all;
}

6. Restart Nginx

sudo nginx -s reload

7. If necessary, update the server

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

| Set Up Bedrock |

1. Install WP-CLI

Install & Upgrade curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar Check it works: php wp-cli.phar --info Enable “wp” commands: chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Check it works: wp --info

2. Go to site folder

cd ENTER YOUR DOMAIN HERE

3. Download & Unpack Bedrock

wget https://github.com/roots/bedrock/archive/master.zip
unzip master.zip
rm master.zip

4. Move Bedrock files

5. Delete Bedrock folder

6. Add "web/"path to site

7. Install Dependencies

composer install

8. Copy example ENV file

cp .env.example .env

9. Edit Environment file (.env) with necessary info

10. Generate keys & salts

https://roots.io/salts.html

| Set Up Wordpress |

1. Create database in Sequel Pro

2. Visit site to finish Wordpress setup

3. Plugins recommended: WPS Hide Login, Wordfence, Soil (from $18 but free to tryout)

4. Install & Activate Soil

composer require roots/soil 3.7.0
wp plugin activate soil

5. Enable Soil on functions.php

add_theme_support('soil-relative-urls');
add_theme_support('soil-nice-search');
add_theme_support('soil-nav-walker');
add_theme_support('soil-disable-trackbacks');
add_theme_support('soil-jquery-cdn');
add_theme_support('soil-js-to-footer');
add_theme_support('soil-google-analytics', 'UA-XXXXX-Y');

add_theme_support('soil-disable-asset-versioning');

6. You're done!