bakalarska_praca/README.md

122 lines
3.6 KiB
Markdown
Raw Normal View History

2023-06-19 16:09:20 +00: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;
}
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.