bakalarska_praca/README.md

3.6 KiB
Executable File

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;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/valerjakubco.xyz/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/valerjakubco.xyz/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = valerjakubco.xyz) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name valerjakubco.xyz;
    return 404; # managed by Certbot


}

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.