This commit is contained in:
2026-01-29 14:26:02 +01:00
commit 5f3c516f7b
6 changed files with 1490 additions and 0 deletions

83
README.md Normal file
View File

@@ -0,0 +1,83 @@
# 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!