Self-hosting
Na twoim serwerze, z twoją bazą danych
Żadnej okrojonej „community edition” — ten sam kod, który działa na consented.eu.
Wymagania
- PHP 8.3 lub nowszy z rozszerzeniami
pdo_mysql,mbstring,dom,json - MariaDB 10.11+ lub MySQL 8
- Serwer WWW, którego document root wskazuje na
public/(Apache zmod_rewritealbo nginx) - Redis — opcjonalnie. Bez Redisa wszystko idzie przez bazę danych.
- Bez Node, bez Composera, bez kroku budowania. Runtime jest gotowy w repozytorium.
Instalacja
# 1. Pobierz kod git clone https://github.com/LW-IT-Solutions/consented-eu.git /var/www/consented cd /var/www/consented # 2. Utwórz konfigurację i wygeneruj sekrety cp .env.example .env php -r 'echo "APP_KEY=", base64_encode(random_bytes(32)), PHP_EOL;' php -r 'echo "PASSWORD_PEPPER=", base64_encode(random_bytes(32)), PHP_EOL;' php -r 'echo "IP_HASH_PEPPER=", base64_encode(random_bytes(32)), PHP_EOL;' # Wpisz wartości do .env, a także DB_NAME / DB_USER / DB_PASS i APP_URL # 3. Przygotuj bazę danych php bin/migrate php bin/seed # 4. Prawa zapisu dla użytkownika serwera WWW chgrp -R www-data storage .env chmod -R 775 storage chmod 640 .env # 5. Ustaw document root na public/ — gotowe.
Przykład dla Apache
<VirtualHost *:443>
ServerName consent.example.com
DocumentRoot /var/www/consented/public
<Directory /var/www/consented/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/consent.example.com.cer
SSLCertificateKeyFile /etc/ssl/consent.example.com.key
Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>
Ważne: dostępny może być wyłącznie katalog public/. Gdyby katalog projektu leżał w document roocie, plik .env dałoby się pobrać przez HTTP.
Bieżąca eksploatacja
# Usuń wygasłe sesje, limity zapytań i zgody
*/15 * * * * php /var/www/consented/bin/worker >/dev/null 2>&1
Worker usuwa wygasłe sesje i tokeny oraz stosuje okres przechowywania do rejestru zgód (CONSENT_RETENTION_MONTHS, domyślnie 36 miesięcy).
Licencja
Kod jest objęty licencją MIT — prywatnie i komercyjnie, hostowany u nas lub na własnej infrastrukturze, bez pytania i bez opłat. Możesz go używać, zmieniać, przekazywać dalej i wbudowywać we własne produkty; jedynym warunkiem jest zachowanie informacji o prawach autorskich. Katalog usług ma osobną licencję Open Database License 1.0: korzystać możesz równie swobodnie, ale zmodyfikowaną wersję, którą publikujesz, musisz ponownie udostępnić na ODbL.