init
This commit is contained in:
83
README.md
Normal file
83
README.md
Normal 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!
|
||||
Reference in New Issue
Block a user