# Obsah 1. [Úvod](#admin-panel-k-bakalárskej-práci) 2. [Konfigurácia NGINX](#konfigurácia-nginx) 3. [Konfigurácia databázy](#konfigurácia-databázy) 4. [Konfigurácia webového rozhrania](#konfigurácia-webového-rozhrania) 5. [Konfigurácia HTTPS](#konfigurácia-https) # Admin panel k bakalárskej práci Webové rozhranie pripravené v PHP frameworku Laravel. K fungovaniu aplikácie je potrebný SQL server, v našom prípade je to riešené pomocou mariadb. Odporúčam použiť server Nginx, pretože poskytuje vyššiu rýchlosť ako napríklad Apache web server. Ďalej je potrebné mať nainštalované php-fpm Postup konfigurácie je písaný pre operačný systém GNU/Linux. # Konfigurácia NGINX Pre inštaláciu Nginx použijeme následujúce príkazy. Debian, Ubuntu: ``` # apt install nginx php-fpm mariadb composer ``` Arch Linux: ``` # pacman -Sy nginx php-fpm mariadb composer ``` Fedora: ``` # dnf install nginx php-fpm mariadb composer ``` V priečinku /etc/nginx/sites-available vytvoríme súbor pre našu webstránku napr. bakalarka_web. Do súboru vložíme následujúcu konfiguráciu: ``` server { server_name {nazov_servera}; root {korenovy_priecinok_webu}; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ``` Na miesta nazov_servera doplníme názov servera alebo teda doménu nášho servera, ak nejakú máme. Namiesto korenovy_priecinok_webu doplníme celú cestu k priečinku v ktorom sa nachádza náš web. Pomocou príkazu nastavíme majiteľa a skupinu na www-data, to je základný názov pre Nginx používateľa. # Konfigurácia databázy Databázový server je nainštalovaný po spustení úvodných príkazov. Ďalšia konfigurácia nie je potrebná # Konfigurácia webového rozhrania Po naklonovaní repozitára do cieľového priečinku spustíme inštaláciu modulov pomocou príkazu: ``` $ composer install ``` Po úspešnom nainštalovaní potrebných súborov môžeme spustiť migráciu databázy pomocou pripravených migrations. To spustíme pomocou príkazu: ``` $ php artisan migrate ``` Ak by tento príkaz nezbehol správne môžeme tabuľky vytvoriť manuálne pomocou priloženého dumpu zo štruktúry databázy s názvom structure_dump.sql v tomto repozitári. Môžeme použiť príkaz mysql dostupný v baličku mariadb ``` $ mysql -u{nazov_pouzivatela} -p ``` Následne vytvoríme databázu z názvom bakalarka pomocou príkazu: ``` CREATE DATABASE bakalarka; ``` A naimportujeme štruktúru pomocou príkazu: ``` source structure_dump.sql; ``` # Konfigurácia HTTPS Ak chceme server používať so zabezpečeným HTTP protokolom, potrebujeme k tomu utilitu certbot, ktorá pomocou utility Let's encrypt vytvorí a nastaví certifikáty pre Nginx. Debian, Ubuntu: ``` # apt install python3-certbot-nginx ``` Arch Linux: ``` # pacman -Sy python3-certbot-nginx ``` Fedora: ``` # dnf install python3-certbot-nginx ``` Pomocou príkazu: ``` # certbot --nginx ``` Certbot ma interaktívnu konfiguráciu, takže po spustení pokračovať podľa inštrukcií na obrazovke.