Installing Wordpress On Laravel Forge Server Using Bedrock
Based on this CSS-Tricks article: https://css-tricks.com/intro-bedrock-wordpress/
Requirements
- Laravel Forge Account ($12/month): https://forge.laravel.com
- Vultr Account (from $2.50/month with referral link): https://vultr.com
- Domain or Subdomain (with DNS access)
- Code Editor
- SFTP File Manager
- Terminal
- Sequel Pro
| 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!