bakalarska_praca/README.md
2023-06-19 18:21:01 +02:00

108 lines
3.3 KiB
Markdown
Executable File

# 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.