Doplnit README: git clone/pull workflow, Nginx vhost příklad
Instalační kroky teď počítají s nasazením přes git clone na server místo ručního kopírování souborů, plus doplněné proměnné pro úvodní stránku a alternativní Nginx+PHP-FPM konfigurace vedle Apache.
This commit is contained in:
@@ -25,10 +25,23 @@ salt/verifierem, takže se hráč může rovnou přihlásit ve hře.
|
|||||||
|
|
||||||
## Instalace
|
## Instalace
|
||||||
|
|
||||||
|
0. Naklonuj repozitář na server, mimo webroot ostatních webů (např. vedle
|
||||||
|
PlayerMap):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.minkey.cz/vojta/wow-registrace.git
|
||||||
|
cd wow-registrace
|
||||||
|
```
|
||||||
|
|
||||||
1. Zkopíruj `.env.example` do `.env` a vyplň:
|
1. Zkopíruj `.env.example` do `.env` a vyplň:
|
||||||
|
- `SITE_NAME`, `REALMLIST_ADDRESS` (`wow.minkey.cz`), `CLIENT_VERSION`,
|
||||||
|
případně `CLIENT_DOWNLOAD_URL` — zobrazují se na úvodní stránce
|
||||||
- `DB_HOST`, `DB_PORT`, `DB_DATABASE` (typicky `acore_auth`), `DB_USERNAME`, `DB_PASSWORD`
|
- `DB_HOST`, `DB_PORT`, `DB_DATABASE` (typicky `acore_auth`), `DB_USERNAME`, `DB_PASSWORD`
|
||||||
- `TURNSTILE_SITE_KEY` / `TURNSTILE_SECRET_KEY` z Cloudflare dashboardu
|
- `TURNSTILE_SITE_KEY` / `TURNSTILE_SECRET_KEY` z Cloudflare dashboardu
|
||||||
|
|
||||||
|
`.env` se **negituje** (je v `.gitignore`) — na serveru ho vytváříš ručně,
|
||||||
|
nikdy ho nepushuj do repozitáře.
|
||||||
|
|
||||||
2. Vytvoř v MySQL **dedikovaného uživatele** jen s právy na tabulku `account`
|
2. Vytvoř v MySQL **dedikovaného uživatele** jen s právy na tabulku `account`
|
||||||
(neházej tam root přístup):
|
(neházej tam root přístup):
|
||||||
|
|
||||||
@@ -45,17 +58,47 @@ salt/verifierem, takže se hráč může rovnou přihlásit ve hře.
|
|||||||
|
|
||||||
```apache
|
```apache
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName registrace.tvuj-server.cz
|
ServerName wow.minkey.cz
|
||||||
DocumentRoot /cesta/k/wowserver-registrace/public
|
DocumentRoot /cesta/k/wow-registrace/public
|
||||||
|
|
||||||
<Directory /cesta/k/wowserver-registrace/public>
|
<Directory /cesta/k/wow-registrace/public>
|
||||||
AllowOverride All
|
AllowOverride All
|
||||||
Require all granted
|
Require all granted
|
||||||
</Directory>
|
</Directory>
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Uprav práva zápisu na `data/` (potřebuje tam vzniknout `ratelimit.sqlite`):
|
Příklad Nginx + PHP-FPM (uprav `fastcgi_pass` podle svého PHP-FPM socketu,
|
||||||
|
stejně jako to máš u PlayerMap):
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 443 ssl http2;
|
||||||
|
server_name wow.minkey.cz;
|
||||||
|
root /cesta/k/wow-registrace/public;
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
# includes/, data/ a .env jsou mimo document root, takže už jsou
|
||||||
|
# skryté; tenhle blok je jen pojistka, kdyby se root někdy spletl
|
||||||
|
location ~ /\.(env|git) {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Uprav práva zápisu na `data/` (potřebuje tam vzniknout `ratelimit.sqlite`) —
|
||||||
|
uprav uživatele podle toho, pod kterým webserver skutečně běží (`www-data`
|
||||||
|
na Debianu/Ubuntu, `http` na Arch, `nginx` apod.):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
chown -R www-data:www-data data
|
chown -R www-data:www-data data
|
||||||
@@ -77,6 +120,16 @@ salt/verifierem, takže se hráč může rovnou přihlásit ve hře.
|
|||||||
6. Otevři stránku v prohlížeči, vyzkoušej registraci, ověř že se v `account`
|
6. Otevři stránku v prohlížeči, vyzkoušej registraci, ověř že se v `account`
|
||||||
tabulce objevil nový řádek a že se přihlásíš herním klientem.
|
tabulce objevil nový řádek a že se přihlásíš herním klientem.
|
||||||
|
|
||||||
|
## Aktualizace
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /cesta/k/wow-registrace
|
||||||
|
git pull
|
||||||
|
```
|
||||||
|
|
||||||
|
`.env` a `data/ratelimit.sqlite` nejsou v repozitáři, takže `git pull`
|
||||||
|
je nepřepíše.
|
||||||
|
|
||||||
## Poznámky k herním pravidlům
|
## Poznámky k herním pravidlům
|
||||||
|
|
||||||
- Uživatelské jméno i heslo se před výpočtem SRP6 verifieru převádí na
|
- Uživatelské jméno i heslo se před výpočtem SRP6 verifieru převádí na
|
||||||
|
|||||||
Reference in New Issue
Block a user