# Wdrożenie backendu — Grafik Anestezjologii

Instrukcja krok po kroku dla serwera **Ubuntu + Apache + PHP + MySQL**.
Wykonujesz to Ty (przez SSH); ja dostarczam kod i diagnozuję błędy.

---

## 1. Wymagania (sprawdź, czego brakuje)

```bash
php --version          # potrzebne PHP 8.0+
php -m | grep -i pdo   # musi być: pdo_mysql
mysql --version        # MySQL 5.7+ / MariaDB 10+
apache2 -v
```

Jeśli brakuje rozszerzeń PHP:
```bash
sudo apt update
sudo apt install php php-cli php-mysql libapache2-mod-php
sudo systemctl restart apache2
```

---

## 2. Baza danych

```bash
sudo mysql -u root -p
```
W konsoli MySQL:
```sql
CREATE DATABASE grafik_anestezjologia CHARACTER SET utf8mb4 COLLATE utf8mb4_polish_ci;
CREATE USER 'grafik_user'@'127.0.0.1' IDENTIFIED BY 'WPISZ_MOCNE_HASLO';
GRANT ALL PRIVILEGES ON grafik_anestezjologia.* TO 'grafik_user'@'127.0.0.1';
FLUSH PRIVILEGES;
EXIT;
```

Wczytaj schemat i dane startowe:
```bash
mysql -u grafik_user -p grafik_anestezjologia < sql/schema.sql
mysql -u grafik_user -p grafik_anestezjologia < sql/dane_startowe.sql
```

---

## 3. Pliki na serwerze

Załóżmy katalog `/var/www/grafik`:
```bash
sudo mkdir -p /var/www/grafik
sudo cp -r api sql config /var/www/grafik/
sudo chown -R www-data:www-data /var/www/grafik
```

Konfiguracja połączenia:
```bash
cd /var/www/grafik/config
sudo cp config.example.php config.php
sudo nano config.php       # wpisz hasło do bazy (grafik_user) i docelowy cors_origin
```

---

## 4. Konto logowania (hasło haszowane)

```bash
cd /var/www/grafik
php config/utworz_admina.php oddzialowa TwojeHaslo123 oddzialowa "Oddziałowa"
php config/utworz_admina.php jakub InneHaslo456 admin "Jakub"
```

---

## 5. Apache — VirtualHost

Plik `/etc/apache2/sites-available/grafik.conf` (przykład pod domenę — uzupełnisz po konfiguracji DNS):
```apache
<VirtualHost *:80>
    ServerName grafik.twojadomena.pl
    DocumentRoot /var/www/grafik/public

    Alias /api /var/www/grafik/api
    <Directory /var/www/grafik/api>
        AllowOverride All
        Require all granted
    </Directory>

    <Directory /var/www/grafik/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/grafik_error.log
    CustomLog ${APACHE_LOG_DIR}/grafik_access.log combined
</VirtualHost>
```
```bash
sudo a2ensite grafik.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
```

(Frontend — folder `public/` z buildem Reacta — dostarczę w następnym kroku.)

---

## 6. SSL (po skonfigurowaniu domeny)

```bash
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d grafik.twojadomena.pl
```

---

## 7. Test API

```bash
# logowanie
curl -c ciasteczka.txt -X POST "https://grafik.twojadomena.pl/api/auth.php?akcja=login" \
  -H "Content-Type: application/json" \
  -d '{"login":"oddzialowa","haslo":"TwojeHaslo123"}'

# lista pracowników (z sesją)
curl -b ciasteczka.txt "https://grafik.twojadomena.pl/api/pracownicy.php"
```

Jeśli coś nie działa — przyślij mi:
- `sudo tail -30 /var/log/apache2/grafik_error.log`
- output z `curl`
- ewentualnie błędy z konsoli przeglądarki (F12).
