UVdesk je open-source asistenční systém založený na Saas, který společnostem umožňuje komunikovat se svými zákazníky a nabízet nepřetržitou podporu. Mezi jeho funkce patří správa vstupenek, podpora znalostní báze, předpřipravené odpovědi a automatické generování vstupenek na základě e-mailů. Možnosti Uvdesk lze rozšířit pomocí externích modulů. Můžete automatizovat určité akce na základě konkrétních spouštěčů, abyste zlepšili svůj pracovní postup.
V tomto tutoriálu se naučíte, jak nainstalovat Uvdesk na server založený na Rocky Linux 8 pomocí Nginx, MySQL a PHP.
Předpoklady
-
Server se systémem Rocky Linux 8.
-
Název domény pro helpdesk směřující na server. Pro náš tutoriál použijeme
uvdesk.example.com
doména. -
Uživatel bez oprávnění root s právy sudo.
-
Ujistěte se, že je vše aktualizováno.
Aktualizace $ sudo dnf
-
Nainstalujte základní balíčky nástrojů. Některé z nich již mohou být nainstalovány.
$ sudo dnf install wget curl nano unzip yum-utils -y
Krok 1 – Konfigurace brány firewall
Prvním krokem je konfigurace firewallu. Rocky Linux používá Firewalld Firewall. Zkontrolujte stav brány firewall.
$ sudo firewall-cmd --staterunning
Firewall pracuje s různými zónami a veřejná zóna je výchozí zóna, kterou budeme používat. Seznam všech služeb a portů aktivních na bráně firewall.
$ sudo firewall-cmd --permanent --list-services
Měl by ukazovat následující výstup.
cockpit dhcpv6-client ssh
Povolit porty HTTP a HTTPS.
$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https
Znovu zkontrolujte stav brány firewall.
$ sudo firewall-cmd --permanent --list-services
Měli byste vidět podobný výstup.
cockpit dhcpv6-client http https ssh
Chcete-li změny povolit, znovu načtěte bránu firewall.
$ sudo firewall-cmd --reload
Krok 2 – Instalace Nginx
Rocky Linux se dodává se starší verzí Nginx. Chcete-li nainstalovat nejnovější verzi, musíte si stáhnout oficiální úložiště Nginx.
Vytvořte a otevřete /etc/yum.repos.d/nginx.repo
soubor pro vytvoření oficiálního úložiště Nginx.
$ sudo nano /etc/yum.repos.d/nginx.repo
Vložte do něj následující kód.
[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing. keymodule_hotfixes=true[nginx-mainline]name=nginx mainline repobaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=https://nginx.org/keys/ nginx_signing.keymodule_hotfixes=true
Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Nainstalujte Nginx.
$ sudo dnf nainstalovat nginx
Ověřte instalaci.
$ nginx -verze vnginx:nginx/1.20.2
Povolte službu Nginx.
$ sudo systemctl povolit nginx
Krok 3 – Instalace PHP a rozšíření
Pro náš tutoriál musíme nainstalovat nejnovější verzi PHP pomocí úložiště Remi. Prvním krokem je získat úložiště Epel.
$ sudo dnf nainstalovat epel-release
Dále nainstalujte úložiště Remi.
instalace $ sudo dnf https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Zkontrolujte dostupné streamy PHP.
$ seznam modulů dnf php -yPoslední kontrola vypršení platnosti metadat:před 0:00:12 v pátek 3. prosince 2021 09:39:32 UTC.Rocky Linux 8 - AppStreamName Přehled profilů streamuphp 7.2 [d] běžné [d], devel, minimální PHP skriptovací jazykphp 7.3 společný [d], devel, minimální PHP skriptovací jazykphp 7.4 společný [d], devel, minimální PHP skriptovací jazyk Modulární úložiště Remi pro Enterprise Linux 8 - x86_64Name Stream Profiles Summaryphp remi-7.2 common [d], devel , minimální PHP skriptovací jazykphp remi-7.3 běžné [d], devel, minimální PHP skriptovací jazykphp remi-7.4 společné [d], devel, minimální PHP skriptování languagephp remi-8.0 běžné [d], devel, minimální skriptovací jazyk PHPphp remi-8.1 běžné [d], devel, minimální skriptovací jazyk PHPHint:[d]výchozí, [e]povoleno, [x]vypnuto, [i]nainstalovánoVýchozí verze je 7.2. Povolte úložiště Remi's PHP 8.0.
Reset modulu $ sudo dnf php$ modul sudo dnf povolit php:remi-8.0Dále nainstalujte PHP a jeho rozšíření vyžadovaná UVDesk.
$ sudo dnf instalace php-fpm php-mbstring php-xml php-curl php-mysqlnd php-zip php-cli php-intl php-bcmath php-gd php-tokenizer php-imap php-pear php-mailparseOvěřte instalaci.
$ php --versionPHP 8.0.16 (cli) (vytvořeno:15. února 2022 21:34:32) ( NTS gcc x86_64 )Autorská práva (c) The PHP GroupZend Engine v4.0.16, Copyright (c) Zend TechnologiesKrok 4 – Instalace a konfigurace serveru MySQL
K ukládání dat použijeme databázi MySQL. Repozitář Appstream společnosti Rocky Linux je dodáván s nejnovější verzí MySQL.
Nainstalujte MySQL.
$ sudo dnf nainstalovat mysql-serverPovolte a spusťte službu MySQL.
$ sudo systemctl povolit mysqld --nowBezpečná instalace MySQL.
$ sudo mysql_secure_installationV prvním kroku budete dotázáni, zda chcete nastavit modul Validate Password Plugin, pomocí kterého můžete otestovat sílu svého hesla MySQL. Vyberte
Y
pokračovat. V dalším kroku budete požádáni o výběr úrovně ověření hesla. Vyberte2
což je nejsilnější úroveň a bude vyžadovat, aby vaše heslo mělo alespoň osm znaků a obsahovalo kombinaci velkých, malých písmen, čísel a speciálních znaků.Zabezpečení nasazení serveru MySQL.Připojení k MySQL pomocí prázdného hesla. K testování hesel a zlepšení zabezpečení lze použít KOMPONENTU OVĚŘENÍ HESLA. Kontroluje sílu hesla a umožňuje uživatelům nastavit pouze ta hesla, která jsou dostatečně bezpečná. Chcete nastavit komponentu OVĚŘENÍ HESLA? Stiskněte y|Y pro Ano, libovolnou jinou klávesu pro Ne:YExistují tři úrovně zásad ověřování hesla:NÍZKÁ Délka>=8 STŘEDNÍ Délka>=8, numerická, malá a velká písmena a speciální znaky SILNÁ Délka>=8, číslice, velká a malá písmena, speciální znaky a soubor slovníkuZadejte prosím 0 =NÍZKÁ, 1 =STŘEDNÍ a 2 =SILNÁ:2V dalším kroku budete požádáni o výběr hesla uživatele root. Vyberte si silné heslo, které splňuje požadavky pluginu pro ověření hesla. V dalším kroku budete dotázáni, zda chcete pokračovat se zvoleným heslem. Stiskněte
y
pokračovat.Zde prosím nastavte heslo pro root.Nové heslo:Znovu zadejte nové heslo:Odhadovaná síla hesla:100Přejete si pokračovat se zadaným heslem?(Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :AnoStiskněte
Y
a potéENTER
klíč pro všechny následující výzvy k odstranění anonymních uživatelů a testovací databáze, zakázání přihlášení root a načtení nově nastavených pravidel....Odebrat anonymní uživatele? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :YÚspěch....Zakázat vzdálené přihlášení root? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :YÚspěch....Odebrat testovací databázi a získat k ní přístup? (Stiskněte y|Y pro Ano, libovolnou jinou klávesu pro Ne) :Y - Vyřazení testovací databáze...Úspěch. - Odebrání oprávnění testovací databázi...Úspěch. Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny se okamžitě projeví.... Znovu načíst tabulky oprávnění nyní? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :YÚspěch. Vše hotovo!Vstupte do prostředí MySQL. Pokračujte zadáním hesla uživatele root.
$ mysql -u root -pVytvořte
uvdesk
uživatel. Ujistěte se, že heslo splňuje výše nastavené požadavky.mysql> VYTVOŘTE UŽIVATELE 'uvdesk'@'localhost' IDENTIFIKOVANÉHO PODLE 'Vaše_heslo2';Vytvořte
uvdeskdb
databáze.mysql> VYTVOŘIT DATABÁZI uvdeskdb;Udělte uživatelská oprávnění na
uvdeskdb
databáze.mysql> UDĚLEJTE VŠECHNA PRIVILEGIUM NA uvdeskdb.* NA 'uvdesk'@'localhost';Opusťte Shell.
mysql> exitKrok 5 – Stáhnout UVdesk
Stáhněte si nejnovější stabilní verzi UVdesk.
$ wget https://cdn.uvdesk.com/uvdesk/downloads/opensource/uvdesk-community-current-stable.zipRozbalte stažený soubor.
$ unzip uvdesk-*.zipPřesuňte extrahovaný adresář do
/var/www/uvdesk
umístění.$ sudo mv uvdesk-community-v1.0.18 /var/www/uvdeskPřepněte se do adresáře UVdesk.
$ cd /var/www/uvdeskOtevřete soubor prostředí (
.env
) pro úpravy.$ sudo nano .envNajděte řádek
APP_ENV=dev
a změňte jej na následující.APP_ENV=prodUložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Změňte vlastnictví kořenového adresáře na uživatele Nginx.
$ sudo chown -R nginx:nginx /var/www/uvdeskKrok 6 – Konfigurace oprávnění SELinux
Použijte
chcon
SELinuxu příkaz ke změně kontextu zabezpečení souboru pro obsluhovaný webový obsah z/var/www/uvdesk
adresář.$ sudo chcon -t httpd_sys_content_t /var/www/uvdesk -R$ sudo chcon -t httpd_sys_rw_content_t /var/www/uvdesk -RNakonfigurujte SELinux tak, aby umožňoval síťová připojení pro UVDesk.
$ sudo setsebool -P httpd_can_network_connect onKrok 7 – Instalace a konfigurace SSL
Pro instalaci SSL certifikátu pomocí Let's Encrypt si musíme stáhnout nástroj Certbot. K instalaci Certbota potřebujeme úložiště Epel, ale tento krok můžeme přeskočit, protože jsme jej nainstalovali dříve v tutoriálu.
Nainstalujte Certbot.
$ sudo dnf nainstalovat certbotVygenerujte certifikát SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [e-mail chráněný] -d uvdesk.example.comVýše uvedený příkaz stáhne certifikát do
/etc/letsencrypt/live/uvdesk.example.com
adresář na vašem serveru.Vytvořte skupinu Diffie-Hellman certifikát.
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048Vytvořte webový kořenový adresář výzvy pro automatické obnovení Let's Encrypt.
$ sudo mkdir -p /var/lib/letsencryptVytvořte úlohu Cron pro obnovení SSL. Poběží každý den, aby se zkontroloval certifikát a v případě potřeby se obnoví. Nejprve vytvořte soubor
/etc/cron.daily/certbot-renew
a otevřete jej pro úpravy.$ sudo nano /etc/cron.daily/certbot-renewVložte následující kód.
#!/bin/shcertbot renew --cert-name uvdesk.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Změňte oprávnění k souboru úlohy, aby byl spustitelný.
$ sudo chmod +x /etc/cron.daily/certbot-renewKrok 8 – Konfigurace Nginx a PHP
Konfigurace PHP-FPM
Otevřete soubor
/etc/php-fpm.d/www.conf
.$ sudo nano /etc/php-fpm.d/www.confMusíme nastavit unixového uživatele/skupinu PHP procesů na nginx . Najděte
user=www-data
agroup=www-data
řádků v souboru a změňte je nanginx
....; Unix uživatel/skupina procesů; Poznámka:Uživatel je povinný. Pokud skupina není nastavena, výchozí skupina uživatele; bude použito.; RPM:uživatel apache vybraný pro poskytování přístupu ke stejným adresářům jako httpduser =nginx; RPM:Ponechejte skupině povolené zapisovat do protokolu dir.group =nginx...Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Povolte a spusťte službu PHP.
$ sudo systemctl povolit php-fpm --nowZměňte skupinu adresáře PHP sessions na Nginx.
$ sudo chgrp -R nginx /var/lib/php/sessionNakonfigurujte Nginx
Vytvořte a otevřete soubor
/etc/nginx/conf.d/uvdesk.conf
pro úpravy.$ sudo nano /etc/nginx/conf.d/uvdesk.confVložte do něj následující kód.
server { poslouchat 443 ssl http2; poslouchej [::]:443 ssl http2; název_serveru uvdesk.example.com; access_log /var/log/nginx/uvdesk.access.log; error_log /var/log/nginx/uvdesk.error.log; # SSL ssl_certificate /etc/letsencrypt/live/uvdesk.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/uvdesk.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/uvdesk.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-POLSHA13HEDCHA25050 -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; root /var/www/uvdesk/public; index index.php; umístění / { try_files $uri $uri/ /index.php?$args; } # Předat skripty PHP do umístění serveru FastCGI ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/run/php-fpm/www.sock; # Závisí na verzi PHP fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; zahrnout fastcgi_params; try_files $uri =404; } # vynucovat HTTPSserver { poslouchat 80; poslouchej [::]:80; název_serveru uvdesk.example.com; vrátit 301 https://$host$request_uri;}Všimněte si, že kořenový adresář, který se má použít v konfiguraci Nginx, je
/var/www/uvdesk/public/
a ne/var/www/uvdesk/
.Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni po dokončení.
Otevřete soubor
/etc/nginx/nginx.conf
pro úpravy.$ sudo nano /etc/nginx/nginx.confPřidejte následující řádek před řádek
include /etc/nginx/conf.d/*.conf;
.server_names_hash_bucket_size 64;Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.
Ověřte syntaxi konfiguračního souboru Nginx.
$ sudo nginx -tnginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýSpusťte službu Nginx.
$ sudo systemctl spustí nginxKrok 9 – Instalace UVdesk
Spusťte adresu URL
https://uvdesk.example.com
ve vašem prohlížeči a zobrazí se následující obrazovka.
Klikněte na tlačítko Pojďme začít tlačítko pro zahájení procesu instalace. Instalační program zkontroluje nastavení PHP a oprávnění k souborům na další stránce.
Klikněte na Pokračovat pokračovat. Na další stránce budete požádáni o vyplnění údajů o databázi. Zadejte data podle konfigurace v kroku 4.
Klikněte na Pokračovat pokračovat. Dále budete požádáni o vytvoření účtu superadministrátora. Vyplňte své údaje.
Klikněte na Pokračovat pokračovat. Dále budete požádáni o konfiguraci webu zadáním názvu předpon panelu členů a zákazníků. Tyto předpony se používají v adresách URL webových stránek.
Klikněte na Pokračovat pokračovat. Dostanete se na konečnou instalační stránku.
Klikněte na Instalovat nyní pro zahájení instalace. Po dokončení se zobrazí následující obrazovka.
Do administračního panelu a frontendového webu se dostanete přes uvedené odkazy. Vaše instalace UVDesk je připravena k použití.
Závěr
Nainstalovali jste systém UVdesk Helpdesk na server založený na Rocky Linux 8 pomocí Nginx, MySQL a PHP. Pokud máte nějaké dotazy, napište je do komentářů níže.
Jak nainstalovat Passbolt Password Manager na Rocky Linux Jak nainstalovat Oracle Java JDK 18 na LinuxRocky Linux