GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Comment installer le système d'assistance UVdesk sur Rocky Linux 8

UVdesk est un système d'assistance open source basé sur Saas permettant aux entreprises d'interagir avec leurs clients et d'offrir une assistance 24 heures sur 24. Ses fonctionnalités incluent la gestion des tickets, la prise en charge de la base de connaissances, les réponses prédéfinies et la génération automatique de tickets basée sur les e-mails. Les capacités d'Uvdesk peuvent être étendues à l'aide de modules externes. Vous pouvez automatiser certaines actions en fonction de déclencheurs spécifiques pour améliorer votre flux de travail.

Dans ce didacticiel, vous apprendrez à installer Uvdesk sur un serveur basé sur Rocky Linux 8 à l'aide de Nginx, MySQL et PHP.

Prérequis

  • Un serveur exécutant Rocky Linux 8.

  • Un nom de domaine pour le helpdesk pointant vers le serveur. Pour notre tutoriel, nous utiliserons le uvdesk.example.com domaine.

  • Un utilisateur non root avec des privilèges sudo.

  • Assurez-vous que tout est mis à jour.

    Mise à jour $ sudo dnf
  • Installez les packages d'utilitaires de base. Certains d'entre eux sont peut-être déjà installés.

    $ sudo dnf install wget curl nano unzip yum-utils -y

Étape 1 - Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Rocky Linux utilise Firewalld Firewall. Vérifiez l'état du pare-feu.

$ sudo firewall-cmd --staterunning

Le pare-feu fonctionne avec différentes zones, et la zone publique est celle par défaut que nous utiliserons. Répertorier tous les services et ports actifs sur le pare-feu.

$ sudo firewall-cmd --permanent --list-services

Il devrait afficher la sortie suivante.

cockpit dhcpv6-client ssh

Autoriser les ports HTTP et HTTPS.

$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https

Revérifiez l'état du pare-feu.

$ sudo firewall-cmd --permanent --list-services

Vous devriez voir une sortie similaire.

cockpit dhcpv6-client http https ssh

Rechargez le pare-feu pour activer les modifications.

$ sudo firewall-cmd --reload

Étape 2 - Installer Nginx

Rocky Linux est livré avec une ancienne version de Nginx. Vous devez télécharger le dépôt officiel Nginx pour installer la dernière version.

Créez et ouvrez le /etc/yum.repos.d/nginx.repo fichier pour créer le référentiel Nginx officiel.

$ sudo nano /etc/yum.repos.d/nginx.repo

Collez-y le code suivant.

[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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Installez Nginx.

$ sudo dnf installer nginx

Vérifiez l'installation.

$ nginx -vnginx version :nginx/1.20.2

Activez le service Nginx.

$ sudo systemctl activer nginx

Étape 3 - Installer PHP et les extensions

Pour notre tutoriel, nous devons installer la dernière version de PHP en utilisant le référentiel de Remi. La première étape consiste à récupérer le référentiel Epel.

$ sudo dnf install epel-release

Ensuite, installez le référentiel Remi.

Installation $ sudo dnf https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Vérifiez les flux PHP disponibles.

$ dnf module list php -yLast metadata expiration check:0:00:12 ago on Fri 03 Dec 2021 09:39:32 AM UTC.Rocky Linux 8 - AppStreamName Stream Profiles Summaryphp 7.2 [d] common [d], devel, langage de script PHP minimalphp 7.3 commun [d], devel, langage de script PHP minimalphp 7.4 commun [d], devel, langage de script PHP minimalRemi's Modular repository for Enterprise Linux 8 - x86_64Name Stream Profiles Summaryphp remi-7.2 common [d], devel , langage de script PHP minimalphp remi-7.3 commun [d], devel, langage de script PHP minimalphp remi-7.4 common [d], devel, script PHP minimal languagephp remi-8.0 common [d], devel, langage de script PHP minimalphp remi-8.1 common [d], devel, langage de script PHP minimalHint :[d]efault, [e]nabled, [x]disabled, [i]nstalled 

La version par défaut est 7.2. Activez le référentiel PHP 8.0 de Remi.

$ sudo dnf module reset php$ sudo dnf module enable php:remi-8.0

Ensuite, installez PHP et ses extensions requises par UVDesk.

$ sudo dnf install 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-mailparse 

Vérifiez l'installation.

$ php --versionPHP 8.0.16 (cli) (construit :15 février 2022 21:34:32) ( NTS gcc x86_64 )Copyright (c) The PHP GroupZend Engine v4.0.16, Copyright (c) Zend Technologies 

Étape 4 - Installer et configurer le serveur MySQL

Nous utiliserons la base de données MySQL pour stocker les données. Le référentiel Appstream de Rocky Linux est livré avec la dernière version de MySQL.

Installez MySQL.

$ sudo dnf install mysql-server

Activez et démarrez le service MySQL.

$ sudo systemctl enable mysqld --now

Installation sécurisée de MySQL.

$ sudo mysql_secure_installation

Pour la première étape, il vous sera demandé si vous souhaitez configurer le plugin Validate Password, que vous pouvez utiliser pour tester la force de votre mot de passe MySQL. Choisissez Y procéder. Il vous sera demandé de choisir le niveau de validation du mot de passe à l'étape suivante. Choisissez 2 qui est le niveau le plus fort et exigera que votre mot de passe comporte au moins huit caractères et inclue un mélange de caractères majuscules, minuscules, numériques et spéciaux.

Sécurisation du déploiement du serveur MySQL.Connexion à MySQL à l'aide d'un mot de passe vierge.VALIDATE PASSWORD COMPONENT peut être utilisé pour tester les mots de passe et améliorer la sécurité. Il vérifie la force du mot de passe et permet aux utilisateurs de définir uniquement les mots de passe suffisamment sécurisés. Souhaitez-vous configurer le composant VALIDATE PASSWORD ?Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non :YIl existe trois niveaux de politique de validation de mot de passe :Longueur FAIBLE>=8Longueur MOYENNE>=8, numérique, casse mixte et caractères spéciauxLongueur FORTE>=8, numérique, casse mixte, caractères spéciaux et fichier dictionnaireVeuillez entrer 0 =FAIBLE, 1 =MOYEN et 2 =FORT :2

Il vous sera demandé de choisir un mot de passe root à l'étape suivante. Choisissez un mot de passe fort qui répond aux exigences du plugin de validation de mot de passe. À l'étape suivante, il vous sera demandé si vous souhaitez continuer avec le mot de passe choisi. Appuyez sur y pour continuer.

Veuillez définir le mot de passe pour root ici.Nouveau mot de passe :Saisissez à nouveau le nouveau mot de passe :Force estimée du mot de passe :100Souhaitez-vous continuer avec le mot de passe fourni ?(Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :O

Appuyez sur Y puis ENTER clé pour toutes les invites suivantes pour supprimer les utilisateurs anonymes et la base de données de test, désactiver les connexions root et charger les règles nouvellement définies.

...Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :YSuccès....Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :YSuccès....Supprimer la base de données de test et y accéder ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :Y - Suppression de la base de données de test...Succès. - Suppression des privilèges sur la base de données de test...Succès.Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent prendront effet immédiatement...Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :YSuccès.Tout est fait !

Entrez dans le shell MySQL. Entrez votre mot de passe root pour continuer.

$ mysql -u root -p

Créer uvdesk utilisateur. Assurez-vous que le mot de passe répond aux exigences définies auparavant.

mysql> CRÉER UN UTILISATEUR 'uvdesk'@'localhost' IDENTIFIÉ PAR 'Your_password2' ;

Créer uvdeskdb base de données.

mysql> CREER UNE BASE DE DONNEES uvdeskdb;

Accordez les privilèges d'utilisateur sur uvdeskdb base de données.

mysql> ACCORDER TOUS LES PRIVILÈGES SUR uvdeskdb.* À 'uvdesk'@'localhost' ;

Quittez le Shell.

mysql> quitter

Étape 5 - Télécharger UVdesk

Téléchargez la dernière version stable d'UVdesk.

$ wget https://cdn.uvdesk.com/uvdesk/downloads/opensource/uvdesk-community-current-stable.zip

Décompressez le fichier téléchargé.

$ unzip uvdesk-*.zip

Déplacez le répertoire extrait vers /var/www/uvdesk emplacement.

$ sudo mv uvdesk-community-v1.0.18 /var/www/uvdesk

Basculez vers le répertoire d'UVdesk.

$ cd /var/www/uvdesk

Ouvrez le fichier d'environnement (.env ) pour l'édition.

$ sudo nano .env

Trouvez la ligne APP_ENV=dev et remplacez-le par ce qui suit.

APP_ENV=prod

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Modifiez la propriété du répertoire racine pour l'utilisateur Nginx.

$ sudo chown -R nginx:nginx /var/www/uvdesk

Étape 6 - Configurer les autorisations SELinux

Utiliser le chcon de SELinux commande pour modifier le contexte de sécurité des fichiers pour le contenu Web diffusé à partir de /var/www/uvdesk répertoire.

$ sudo chcon -t httpd_sys_content_t /var/www/uvdesk -R$ sudo chcon -t httpd_sys_rw_content_t /var/www/uvdesk -R

Configurez SELinux pour autoriser les connexions réseau pour l'UVDesk.

$ sudo setsebool -P httpd_can_network_connect on

Étape 7 - Installer et configurer SSL

Pour installer un certificat SSL avec Let's Encrypt, nous devons télécharger l'outil Certbot. Nous avons besoin du référentiel Epel pour installer Certbot, mais nous pouvons ignorer cette étape puisque nous l'avons installé plus tôt dans le didacticiel.

Installez Certbot.

$ sudo dnf install certbot

Générez un certificat SSL.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d uvdesk.example.com

La commande ci-dessus téléchargera un certificat sur /etc/letsencrypt/live/uvdesk.example.com répertoire sur votre serveur.

Générer un groupe Diffie-Hellman certificat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Créez un répertoire racine Web de défi pour le renouvellement automatique de Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Créez une tâche Cron pour renouveler le SSL. Il s'exécutera tous les jours pour vérifier le certificat et le renouveler si nécessaire. Pour cela, créez d'abord le fichier /etc/cron.daily/certbot-renew et ouvrez-le pour le modifier.

$ sudo nano /etc/cron.daily/certbot-renew

Collez le code suivant.

#!/bin/shcertbot renouveler --cert-name uvdesk.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Modifiez les autorisations sur le fichier de tâche pour le rendre exécutable.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Étape 8 - Configurer Nginx et PHP

Configurer PHP-FPM

Ouvrez le fichier /etc/php-fpm.d/www.conf .

$ sudo nano /etc/php-fpm.d/www.conf

Nous devons définir l'utilisateur/groupe Unix de processus PHP sur nginx . Trouvez le user=www-data et group=www-data lignes dans le fichier et changez-les en nginx .

... ; Utilisateur/groupe de processus Unix ; Remarque :L'utilisateur est obligatoire. Si le groupe n'est pas défini, le groupe de l'utilisateur par défaut ; sera utilisé.; RPM :utilisateur apache choisi pour donner accès aux mêmes répertoires que httpduser =nginx; RPM :Garder un groupe autorisé à écrire dans le journal dir.group =nginx...

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Activez et démarrez le service PHP.

$ sudo systemctl enable php-fpm --now

Changez le groupe du répertoire des sessions PHP en Nginx.

$ sudo chgrp -R nginx /var/lib/php/session

Configurer Nginx

Créez et ouvrez le fichier /etc/nginx/conf.d/uvdesk.conf pour l'édition.

$ sudo nano /etc/nginx/conf.d/uvdesk.conf

Collez-y le code suivant.

serveur { écouter 443 ssl http2 ; écouter [::]:443 ssl http2 ; nom_serveur uvdesk.exemple.com ; access_log /var/log/nginx/uvdesk.access.log; error_log /var/log/nginx/uvdesk.error.log; # SSL certificat_ssl /etc/letsencrypt/live/uvdesk.example.com/fullchain.pem ; clé_certificat_ssl /etc/letsencrypt/live/uvdesk.example.com/privkey.pem ; ssl_trusted_certificate /etc/letsencrypt/live/uvdesk.example.com/chain.pem ; SSL_session_timeout 5 m ; ssl_session_cache partagé :MozSSL :10 m ; ssl_session_tickets désactivé ; ssl_protocols TLSv1.2 TLSv1.3 ; ssl_prefer_server_ciphers activé ; chiffrements_ssl -RSA-CHACHA20-POLY1305 :DHE-RSA-AES128-GCM-SHA256 :DHE-RSA-AES256-GCM-SHA384 ; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling activé ; ssl_stapling_verify activé ; ssl_dhparam /etc/ssl/certs/dhparam.pem ; résolveur 8.8.8.8 ; racine /var/www/uvdesk/public; index index.php; location / { try_files $uri $uri/ /index.php?$args; } # Passer les scripts PHP à l'emplacement du serveur FastCGI ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/run/php-fpm/www.sock; # Dépend de la version PHP fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; fastcgi_param PATH_INFO $fastcgi_path_info ; inclure fastcgi_params ; try_files $uri =404; } }# appliquer le serveur HTTPS { écouter 80 ; écouter [::]:80 ; nom_serveur uvdesk.exemple.com ; renvoie 301 https://$host$request_uri;}

Notez que le répertoire racine à utiliser dans la configuration Nginx est /var/www/uvdesk/public/ et non /var/www/uvdesk/ .

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité une fois terminé.

Ouvrez le fichier /etc/nginx/nginx.conf pour l'édition.

$ sudo nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size 64 ;

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Vérifiez la syntaxe du fichier de configuration Nginx.

$ sudo nginx -tnginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Démarrez le service Nginx.

$ sudo systemctl start nginx

Étape 9 - Installer UVdesk

Lancez l'URL https://uvdesk.example.com dans votre navigateur, et vous obtiendrez l'écran suivant.

Cliquez sur Commençons bouton pour démarrer le processus d'installation. Le programme d'installation vérifiera les paramètres PHP et les autorisations de fichiers sur la page suivante.

Cliquez sur Continuer continuer. Il vous sera demandé de remplir les détails de la base de données sur la page suivante. Entrez les données telles que configurées à l'étape 4.

Cliquez sur Continuer continuer. Ensuite, il vous sera demandé de créer un compte super administrateur. Remplissez vos coordonnées.

Cliquez sur Continuer continuer. Ensuite, il vous sera demandé de configurer le site Web en donnant un nom aux préfixes du Panneau Membre et Client. Ces préfixes sont utilisés dans les URL des sites Web.

Cliquez sur Continuer continuer. Vous arriverez à la page d'installation finale.

Cliquez sur Installer maintenant pour commencer l'installation. Une fois terminé, vous obtiendrez l'écran suivant.

Vous pouvez accéder au panneau d'administration et au site Web frontal via les liens indiqués. Votre installation UVDesk est prête à être utilisée.

Conclusion

Vous avez installé le système UVdesk Helpdesk sur un serveur basé sur Rocky Linux 8 en utilisant Nginx, MySQL et PHP. Si vous avez des questions, postez-les dans les commentaires ci-dessous.


Rocky Linux
  1. Comment installer Nextcloud sur Rocky Linux

  2. Comment installer et utiliser PostgreSQL 13 sur Rocky Linux

  3. Comment installer le dernier PHP 8 sur Rocky Linux

  4. Comment installer phpMyAdmin sur Rocky Linux

  5. Comment installer PHP 8 sur Alma Linux et Rocky Linux

Comment installer Docker CE sur Rocky Linux 8

Comment installer Snap sur Rocky Linux 8

Comment installer PHP 7.4 sur Rocky Linux 8

Comment installer Memcached sur Rocky Linux 8

Comment installer PHP 8 sur Rocky Linux 8

Comment installer Laravel sur Rocky Linux 8