# Starting and Testing Apache and MySQL

Apache runs PHP pages and MySQL stores application data. Both services must be running while you develop or demonstrate a database-backed project.

## Start the services

1. Open **XAMPP Control Panel**.
2. Select **Start** beside Apache.
3. Select **Start** beside MySQL.
4. Wait until both rows are highlighted and show running process identifiers and ports.

Do not select **Svc** or install Windows services unless your teacher or IT team asks you to.

## Test Apache and MySQL

Open `http://localhost/`. A XAMPP dashboard confirms Apache is responding.

Then open `http://localhost/phpmyadmin/`. If phpMyAdmin appears, Apache is serving the interface and MySQL is available.

> **Local does not mean public.** A localhost page normally runs only on your computer. Continue to use fictional project data.

## Understand the status

| Status | Meaning | Action |
| --- | --- | --- |
| Green/running | Service started | Continue working |
| Starts then stops | A port or file may be unavailable | Read and record the log |
| Red error text | XAMPP reports a specific problem | Keep the message for troubleshooting |
| Browser cannot connect | Service or address may be wrong | Recheck both |

Apache commonly uses ports 80 and 443; MySQL commonly uses 3306. Ask before changing ports or stopping unfamiliar Windows services. Never disable security software to solve a conflict.

## Stop services cleanly

Close database pages, select **Stop** beside MySQL, then stop Apache and close the Control Panel.

## Verification checklist

- [ ] Apache and MySQL show as running.
- [ ] Both localhost addresses open.
- [ ] You can stop both services cleanly.
- [ ] Any error is recorded exactly before troubleshooting.