# Practice Exam - Setup Instructions ## Overview This practice exam simulates a real-world server troubleshooting scenario with 5 problems to diagnose and fix within 45 minutes. ## Requirements - Ubuntu Server (20.04 or 22.04 recommended) - Root/sudo access - Internet connection (for package installation) ## Quick Start ### 1. Initial Setup Run the setup script to install and configure all services: ```bash sudo ./setup.sh ``` This will install and configure: - Nginx with 3 websites (company.local, shop.local, api.local) - PHP-FPM for the API - MySQL database with test data - Docker with a simple web application - UFW firewall ### 2. Start the Exam Run the break server script and select option 6: ```bash sudo ./break_server.sh ``` Select: `6) START EXAM (All 5 problems - 45 minutes)` ### 3. Check Your Progress At any time, run the verification script: ```bash ./verify.sh ``` ### 4. Reset (If Needed) To reset all problems and start over: ```bash sudo ./break_server.sh # Select: 8) RESET all problems ``` ## Files | File | Description | |------|-------------| | `setup.sh` | Initial server setup script | | `break_server.sh` | Interactive menu to break/reset services | | `verify.sh` | Check your progress on all tasks | | `tasks.md` | Exam task descriptions | | `solutions.md` | Detailed solutions (don't peek!) | ## Tasks Overview 1. **company.local** - Website not loading (Web Server Config) 2. **shop.local** - 403 Forbidden error (File Permissions) 3. **api.local:8080** - 502 Bad Gateway (Service Management) 4. **localhost:8888** - Connection timeout (Firewall) 5. **MySQL** - Connection refused (Database Admin) ## Tips - Work systematically through each problem - Check service status first (`systemctl status`) - Read error logs (`journalctl`, `/var/log/`) - Test configurations before reloading (`nginx -t`) - Verify each fix before moving on Good luck!