Go to file
2023-06-19 18:11:49 +02:00
app first commit 2023-05-11 21:57:12 +02:00
bootstrap first commit 2023-05-11 21:57:12 +02:00
config first commit 2023-05-11 21:57:12 +02:00
database first commit 2023-05-11 21:57:12 +02:00
public favicon 2023-05-24 21:44:05 +02:00
resources update 2023-05-19 15:35:36 +02:00
routes first commit 2023-05-11 21:57:12 +02:00
storage first commit 2023-05-11 21:57:12 +02:00
tests first commit 2023-05-11 21:57:12 +02:00
.editorconfig first commit 2023-05-11 21:57:12 +02:00
.env.example first commit 2023-05-11 21:57:12 +02:00
.gitattributes first commit 2023-05-11 21:57:12 +02:00
.gitignore first commit 2023-05-11 21:57:12 +02:00
.htaccess first commit 2023-05-11 21:57:12 +02:00
artisan first commit 2023-05-11 21:57:12 +02:00
composer.json first commit 2023-05-11 21:57:12 +02:00
composer.lock first commit 2023-05-11 21:57:12 +02:00
docker-compose.yml first commit 2023-05-11 21:57:12 +02:00
package-lock.json first commit 2023-05-11 21:57:12 +02:00
package.json first commit 2023-05-11 21:57:12 +02:00
phpunit.xml first commit 2023-05-11 21:57:12 +02:00
README.md edited readme 2023-06-19 18:11:49 +02:00
structure_dump.sql README update, sql migrations 2023-06-19 18:09:20 +02:00
vite.config.js first commit 2023-05-11 21:57:12 +02:00

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áciu 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.