A modular, open-source WordPress provisioning tool for Linux servers.
ProvisionWP automates the full lifecycle of WordPress site creation — from server setup to SSL, database provisioning, and WordPress configuration — using a clean, transparent Bash-based architecture.
It is designed for developers who want full control over their infrastructure without relying on hosting control panels.
ProvisionWP handles the complete setup of a WordPress site:
- Creates site directory structure
- Installs and configures WordPress
- Sets up MySQL/MariaDB database and user
- Configures web servers (Caddy / Nginx / Apache)
- Installs SSL certificates via Let's Encrypt
- Installs WP-CLI-based plugins and themes
- Applies secure file permissions
- Supports rollback on failure
- Caddy (primary support)
- Nginx (planned)
- Apache (planned)
.
├── install.sh
├── lib
│ ├── common.sh
│ ├── context.sh
│ ├── validation.sh
│ ├── php.sh
│ ├── mysql.sh
│ ├── wordpress.sh
│ ├── plugins.sh
│ ├── themes.sh
│ ├── webserver.sh
│ └── cleanup.sh
└── webservers
├── caddy.sh
├── nginx.sh
└── apache.sh
ProvisionWP is designed for Ubuntu-based Linux servers.
- Ubuntu 22.04 / 24.04 (recommended)
- Bash
- PHP-FPM
- MySQL or MariaDB
- WP-CLI
- Root access (sudo)
Clone the repository:
git clone https://github.com/<your-username>/provision-wp.gitEnter the directory:
cd provision-wpMake the installer executable:
chmod +x install.shRun the installer:
sudo ./install.shProvisionWP is designed to evolve into a CLI tool:
pwp create site example.com
pwp delete site example.com
pwp list sites
pwp ssl renew
pwp doctor- Modular Bash architecture
- PHP detection
- Web server detection
- Caddy integration
- MySQL provisioning
- WordPress installation flow
- Plugin and theme automation (basic)
- Rollback framework
- Clean logging and validation system
- Full CLI interface
- Nginx support
- Apache support
- Backup & restore system
- Plugin/theme profiles
ProvisionWP is built around these principles:
- Transparency over magic
- Modular and hackable design
- No hidden automation
- Safe rollback on failure
- Easy to extend and audit
- Infrastructure-first thinking
Recommended:
- VS Code
- ShellCheck
- shfmt
find . -name "*.sh" -exec bash -n {} \;shellcheck -x install.sh- Full CLI implementation
- Multi-site management
- Backup/restore system
- Plugin profiles
- Theme marketplace support (local)
- Docker-based dev mode
- Terraform-style declarative provisioning (future)
Contributions are welcome.
If you find bugs, improvements, or ideas, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.
See the LICENSE file for details.