EasyEngine is a command-line tool for managing WordPress sites on Nginx. It aims to provide an easy and automated way to install, manage and optimize WordPress sites. Key features include automated installation of PHP, MySQL, Nginx and caching plugins. Sites can be created and managed through simple commands. EasyEngine uses conventions over configuration and file-based backups to make management simple. The roadmap includes improved debugging, monitoring, mail server support and a REST API.
4. EasyEngine is...
• a command-line tool
• coded in shell scripting language
• "control-panel" for geeks/developers
• made for WordPress
• GPL like WordPress
4
9. Inside Shell...
curl -sL rt.cx/ee | sudo bash
ee system install
ee site create example.com --wp
Simplicity is the ultimate sophistication!
William Gaddis
01.
02.
03.
9
10. Create "12" Types of WordPress Sites!
Single Site Multisite with Subdir Multisite with Subdom
NO Cache --wp --wpsubdir --wpsubdom
WP Super Cache --wpsc --wpsc --wpsubdir --wpsc --wpsubdom
W3 Total Cache --w3tc --w3tc --wpsubdir --w3tc --wpsubdom
Nginx FastCGI Cache --wpfc --wpfc --wpsubdir --wpfc --wpsubdom
10
12. A Site includes...
• PHP's Zend-Opcache
• Memcache for Object-Cache and DB-Cache
• Full Page-Cache
• Separate access and error logs
12
13. Site management...
• Enable ee site enable example.com
• Disable ee site disable example.com
• Delete ee site delete example.com
• Info ee site info example.com
13
14. Debugging...
• Debug system ee debug
• Debug site ee debug example.com
• Rewrites only ee debug example.com --rewrite
• Interactive ee debug example.com -i
14
15. Easy to learn...
• Built-in help ee help
• Man pages man ee
• Autocompletion for commands and site-name
Never memorize something that you can look up!
Albert Einstein
15
17. How Quick Setup Works!
• Prefer binary packages instead of compiling
• Prefer conventions over database
• Tweaks differnt configs at the time of installation only
17
18. Conventions
File structure for example.com site
• /var/www/example.com/ - All files related to example.com
• /var/www/example.com/htdocs/ - Document Root
• /var/www/example.com/logs/ - Logs
• /var/www/example.com/wp-config.php - WordPress config
• /etc/nginx/sites-available/example.com - Nginx config
Database details are used from wp-config.php
18
19. Git-based backup
For all configs
• /etc/nginx/
• /etc/php5/
• /etc/mysql/
• /etc/postfix/
If something goes wrong...
git checkout /path/to/config/file
19
20. Administrative Tools
Port 22222 for Web-based tools
• MySQL admin tools e.g. phpMyAdmin, adminer
• Debugging tools e.g. Anemometer, WebGrind
• Stats viewer for MemCache, PHP's Zend-OpCache
CLI...
• ee info
• ee site info
20
21. Logging
• Installation log
• Site creation & other commands log
• Error log
Log Location: /var/log/easyengine/
21
23. Next few milestones...
• Easy Debugging
• Automated Monitoring with Email Alerts
• Mail Server
• "Shared" Hosting Support
• Easy Migrations/Cloning
• Offsite/Peer backups
23