Wordpress Development Environment
Composer and WP CLI
Before anything else, we need to install WP CLI and Composer globally.
Install Composer globally
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer # try sudo install composer.phar /usr/local/bin/composer # as that should set proper permission also # [cp vs install](https://unix.stackexchange.com/questions/104982/why-use-install-rather-than-cp-and-mkdir) chmod +x /usr/local/bin/composer
Dockerising WP environment is another great option and this article is a great way to explore it.
Standard install using WP CLI
This is the fastest way to install classic Wordpress with WP-CLI
You can check the installed WP version with
wp core version
To read more about Composer-based WordPress setup boilerplates, read another note
Trellis is deployment tool for remote and local WordPress LEMP stack, Sage is WordPress starter theme with templating support and such
There is also Branch as automated deployments for WordPress.
Configure HTTP server
For composer based installs the WP folder is moved to a more secure place. Therefore, we need to make a small modifications in our nginx configuration.
Specifically, we need to set different site root.
There are new directives in ISPConfig that enable us to do just that:
##subroot _folder_## but the one we are using is simply to add this line
##subroot web ##
to ISPConfig’s nginx options (for Bedrock it’s
web, for WP Starter it’s
Install with WP Starter boilerplate
I’m using a package inpsyde/wpstarter-boilerplate to speed-up procedure
Install with Bedrock boilerplate
Bedrock has a great folder structure. Do note that Bedrock isn’t designed with shared hosting in mind.
The beginning is same as in WP Starter, to allow composer’s cache to work properly:
Now we can install bedrock
Amazing addon plugins for Bedrock:
Prevent indexing of a site when
WP_ENVis not set to
Generate a JSON file during the build process with output specifically built for WordPress Gutenberg color theme feature.
Enable plugin & theme uploads
Private package repository
Decide on .gitignore file! Template .gitignore file for WordPress projects gitignore/WordPress.gitignore at master · github/gitignore
Odlično o OOP i WP
What is exclusive to local development?
I can execute PhpStorm IDE and use all it’s advanced functionality Please, try to emulate that on VSCode
Can edit local graphic files. This is no reason as I would never keep it online, anyway
I’m independent from internet for developing. This is completely obsolete now because I can’t write a line of code without internet.
Must do from now on
- History of files using Git. Simple
git initis enough. Use gitignore not to backup shit.
- Backup database manually via WP-CLI on regular basis (some cronjob or something)
Why I like bedrock?
- root not configs are not publicly accessed so I can keep documentation
What setup to use where?
- Use Bedrock. If a have SSH access and can change root folder of a site
- Use classic setup, if I won’t have real SSH access
Postoji još jedan način!
lucanos/WordPress-Remote-Installer: Remote install WordPress, Plugins and Themes - Only 1 file uploaded via FTP je najbolji! vuče pluginove i theme sa github-a
Interesting script to auto-install Wordpress: WP Quick Install, by WP Rocket in 2014 GeekPress/WP-Quick-Install: WP Quick Install is the easiest way to install WordPress.
Ustvari super način za instalaciju WP-a The Fastest WordPress Installation - WP Quick Install