122 lines
3.6 KiB
Markdown
Executable File
122 lines
3.6 KiB
Markdown
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. |