diff --git a/README.md b/README.md index ebb5685..6d254d3 100644 --- a/README.md +++ b/README.md @@ -25,10 +25,23 @@ salt/verifierem, takže se hráč může rovnou přihlásit ve hře. ## 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ň: + - `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` - `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` (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 - ServerName registrace.tvuj-server.cz - DocumentRoot /cesta/k/wowserver-registrace/public + ServerName wow.minkey.cz + DocumentRoot /cesta/k/wow-registrace/public - + AllowOverride All Require all granted ``` -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 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` 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 - Uživatelské jméno i heslo se před výpočtem SRP6 verifieru převádí na