GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le raccourcisseur d'URL Shlink avec Nginx sur Ubuntu 20.04

Shlink est un raccourcisseur d'URL open source et auto-hébergé écrit en PHP. Il est utilisé pour générer et gérer des URL courtes à partir de la ligne de commande. Il vous permet de suivre toutes les visites de vos URL courtes, y compris l'emplacement, le navigateur ou le référent. Il peut être intégré à des outils tiers à l'aide de l'API Shlink. Il fournit une interface de ligne de commande pour raccourcir les URL.

Dans ce tutoriel, je vais vous montrer comment installer Shlink sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Tout d'abord, mettez à jour les packages système vers la version mise à jour en exécutant la commande suivante :

apt-get update -y

Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.

Installer le serveur LEMP

Tout d'abord, installez Nginx, PHP, MariaDB et les autres packages requis avec la commande suivante :

apt-get install nginx mariadb-server php-apcu php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-common php7.4-curl php7.4-intl php7.4 -gmp php7.4-xml php-dev php-pear unzip -y

Une fois tous les packages installés, vous pouvez passer à l'étape suivante.

Shlink utilise MariaDB comme backend de base de données. Vous devrez donc créer une base de données et un utilisateur pour Shlink. Tout d'abord, connectez-vous à MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE shlink;
MariaDB [(none)]> GRANT ALL ON shlink.* TO 'shlink'@'localhost' IDENTIFIED BY 'password';

Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES ;
MariaDB [(none)]> EXIT ;

Tout d'abord, téléchargez la dernière version de Shlink depuis leur page de téléchargement officielle :

wget https://github.com/shlinkio/shlink/releases/download/v2.7.1/shlink2.7.1_php7.4_dist.zip

Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :

décompressez shlink2.7.1_php7.4_dist.zip

Ensuite, déplacez le répertoire extrait vers le répertoire racine Web de Nginx :

mv shlink2.7.1_php7.4_dist /var/www/html/shlink

Ensuite, définissez l'autorisation et la propriété appropriées avec la commande suivante :

chown -R www-data:www-data /var/www/html/shlink/
chmod -R 755 /var/www/html/shlink/

Ensuite, exécutez la commande suivante pour démarrer l'installation :

sudo -u www-data php7.4 /var/www/html/shlink/bin/install

Il vous sera demandé de sélectionner la base de données comme indiqué ci-dessous :

 Bienvenue sur Shlink !! Cet outil vous guidera tout au long du processus d'installation.DATABASE========Sélectionnez le type de base de données [MySQL] :[0] MySQL [1] MariaDB [2] PostgreSQL [3] MicrosoftSQL [4] SQLite> 1 

Choisissez n'importe quelle option et appuyez sur Entrée. Il vous sera demandé de fournir le nom de la base de données comme indiqué ci-dessous :

 Nom de la base de données [shlink] :> 

Indiquez le nom de votre base de données ou appuyez sur Entrée pour choisir la valeur par défaut. Il vous sera demandé de fournir l'hébergeur de la base de données :

 Hôte de la base de données [localhost] :> 

Indiquez votre hôte de base de données ou appuyez sur Entrée pour choisir la valeur par défaut. Il vous sera demandé de fournir le port de la base de données :

 Port de la base de données [3306] :> 

Indiquez le port de votre base de données ou appuyez sur Entrée pour choisir la valeur par défaut. Il vous sera demandé de fournir votre nom d'utilisateur de base de données :

 Nom d'utilisateur de la base de données :> shlink

Indiquez votre nom d'utilisateur de base de données et appuyez sur Entrée. Il vous sera demandé de fournir votre mot de passe d'utilisateur de base de données :

 Mot de passe de la base de données :> mot de passe

Fournissez votre mot de passe d'utilisateur de base de données et appuyez sur Entrée. Il vous sera demandé de fournir un socket Unix.

 socket Unix (laisser vide pour ne pas utiliser de socket) :> 

Laissez-le vide et appuyez sur Entrée. Il vous sera demandé de fournir un nom de domaine :

URL SHORTENER=============Domaine par défaut pour les URL courtes générées :> shlink.linuxbuz.com

Indiquez votre nom de domaine et appuyez sur Entrée. Il vous sera demandé de sélectionner le schéma :

 Sélectionnez le schéma pour les URL courtes générées [http] :[0] http [1] https> 0

Sélectionnez une option et appuyez sur Entrée. Il vous sera demandé de valider les URL longues :

 Voulez-vous valider les URL longues par 200 codes d'état HTTP lors de la réponse ? (oui/non) [oui] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Il vous sera demandé de fournir la longueur des shortcodes générés :

 Quelle est la longueur par défaut que vous souhaitez que les codes abrégés générés aient ? (Vous pourrez toujours remplacer ceci sur chaque URL courte créée) [5] :> 

Choisissez la valeur par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Voulez-vous que Shlink résolve le titre de l'URL courte en fonction de la balise de titre de l'URL longue (le cas échéant) ? Sinon, il restera vide sauf indication contraire. (oui/non) [non] :> 

Sélectionnez la réponse par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Fournissez une clé de licence GeoLite2. (Laissez vide pour utiliser celui par défaut, mais il est fortement recommandé d'obtenir le vôtre. Rendez-vous sur https://shlink.io/documentation/geolite-license-key pour savoir comment l'obtenir) :> 

Laissez-le vide et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Quel type de redirection voulez-vous que vos URL courtes aient ? [Toutes les visites seront toujours suivies. Pas si bon pour le référencement.] :[302] Toutes les visites seront toujours suivies. Pas si bon pour le référencement. [301] Meilleure option pour le référencement. La redirection sera mise en cache pendant une courte période, ce qui empêchera le suivi de certaines visites.> 301

Choisissez n'importe quelle option et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Combien de temps (en secondes) voulez-vous que vos redirections soient mises en cache par les visiteurs ? [30] :> 

Choisissez les valeurs par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

TRACKING========Voulez-vous suivre les visites d'orphelins ? (visites de l'URL de base, URL courtes invalides ou autres URL "non trouvées") (oui/non) [oui] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Indiquez un nom de paramètre que vous pourrez utiliser pour désactiver le suivi sur demande spécifique vers des URL courtes (laissez vide et cette fonctionnalité ne sera pas activée) :> 

Appuyez simplement sur Entrée. Vous devriez voir le résultat suivant :

 Voulez-vous désactiver complètement le suivi des visites ? (oui/non) [non] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Voulez-vous désactiver le suivi des adresses IP des visiteurs ? (oui/non) [non] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Souhaitez-vous que les adresses IP distantes des visiteurs soient anonymisées avant de les conserver dans la base de données ? (oui/non) [oui] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Voulez-vous désactiver le suivi des "User Agents" des visiteurs ? (oui/non) [non] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Voulez-vous désactiver le suivi des "Referrers" des visiteurs ? (oui/non) [non] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

REDIRECTS=========URL personnalisée vers laquelle rediriger lorsqu'un utilisateur accède à l'URL de base de Shlink (si aucune valeur n'est fournie, l'utilisateur verra une page par défaut "404 introuvable") :> http:/ /shlink.linuxbuz.com

Indiquez votre nom de domaine et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 URL personnalisée vers laquelle rediriger lorsqu'un utilisateur rencontre une URL courte non valide (si aucune valeur n'est fournie, l'utilisateur verra une page par défaut "404 introuvable") :> http://shlink.linuxbuz.com

Indiquez votre nom de domaine et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 URL personnalisée vers laquelle rediriger lorsqu'un utilisateur rencontre une URL introuvable autre qu'une URL courte non valide (si aucune valeur n'est fournie, l'utilisateur verra une page par défaut "404 introuvable") :> http://shlink. linuxbuz.com

Indiquez votre nom de domaine et appuyez sur Entrée. Vous devriez voir le résultat suivant :

APPLICATION===========Voulez-vous activer un contrôle de sécurité qui empêchera la suppression des URL courtes après avoir reçu un nombre spécifique de visites ? (oui/non) [oui] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Quel est le nombre de visites à partir desquelles le système n'autorisera pas la suppression des URL courtes ? [15] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

 Quel est le chemin à partir duquel shlink va être servi ? (Laissez vide si vous prévoyez de servir shlink depuis la racine du domaine) [] :> 

Choisissez l'option par défaut et appuyez sur Entrée. Vous devriez voir le résultat suivant :

INTEGRATIONS============Fournissez une liste séparée par des virgules des URI de serveur redis qui seront utilisées à des fins de mise en cache partagée dans des contextes multi-instance shlink (laissez vide si vous ne voulez pas utiliser le cache redis) : > Configuration personnalisée correctement générée ! [OK] Installation terminée ! 

Ensuite, vous devrez créer un fichier d'hôte virtuel Nginx pour Shlink. Vous pouvez le créer avec la commande suivante :

nano /etc/nginx/conf.d/shlink.conf

Ajoutez les lignes suivantes :

serveur { écoute 80 ; nom_serveur shlink.exemple.com ; racine /var/www/html/shlink/public ; error_log /var/log/nginx/shlink.error ; access_log /var/log/nginx/shlink.access ; index index.php index.html index.htm index.nginx-debian.html; location / { # essaie de servir le fichier directement, retour à app.php try_files $uri /index.php$is_args$args; } # rediriger certains dossiers entiers réécrire ^/(vendor|translations|build)/.* /index.php break; emplacement ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ; }}

Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx :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

Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl redémarrer nginx

Vous pouvez également vérifier l'état du Nginx avec la commande suivante :

statut systemctl nginx

Vous devriez obtenir le résultat suivant :

 ? nginx.service - Un serveur Web hautes performances et un serveur proxy inverse Chargé :chargé (/lib/systemd/system/nginx.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le mercredi 2021-06-02 05 :28:30 UTC ; Il y a 4 s Docs :man:nginx(8) Processus :25639 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) Processus :25653 ExecStart=/usr/sbin/nginx -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) PID principal :25655 (nginx) Tâches :2 (limite :2353) Mémoire :2,6 M CGroup :/system.slice/nginx.service ??25655 nginx :processus maître /usr/ sbin/nginx -g démon activé ; master_process activé ; ??25656 nginx :processus de travailJun 02 05:28:29 ubuntu2004 systemd[1] :Démarrage d'un serveur Web hautes performances et d'un serveur proxy inverse...Jun 02 05:28:30 ubuntu2004 systemd[1] :Démarrage d'une haute performance serveur Web et un serveur proxy inverse.

Vous pouvez maintenant installer le client Shlink pour raccourcir l'URL.

Vous pouvez également générer l'URL courte sur votre serveur depuis la ligne de commande :

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli short-url:generate

Pour répertorier toutes les URL courtes, exécutez la commande suivante :

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli short-url:list

Pour afficher des informations d'aide, exécutez la commande suivante :

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli

Conclusion

Toutes nos félicitations! vous avez installé avec succès le raccourcisseur d'URL Shlink sur Ubuntu 20.04. Vous pouvez désormais raccourcir l'URL à l'aide de l'interface CLI ou du client Web.


Ubuntu
  1. Comment installer WordPress avec Nginx sur Ubuntu 18.04

  2. Comment installer phpMyAdmin avec Nginx sur Ubuntu 18.04

  3. Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

  4. Comment installer Grav CMS avec Nginx sur Ubuntu 16.04

  5. Comment installer SuiteCRM avec Nginx sur Ubuntu 16.04

Comment installer le raccourcisseur d'URL Shlink sur le serveur Ubuntu 20.04

Comment installer le raccourcisseur d'URL Shlink sur le serveur Ubuntu 18.04

Comment installer phpMyAdmin avec Nginx (LEMP) sur Ubuntu 20.04 LTS

Comment installer Nextcloud 13 sur Ubuntu 16.04 avec Nginx

Comment installer le raccourcisseur d'URL Shlink avec Nginx sur Ubuntu 20.04

Comment installer WordPress avec Nginx dans Ubuntu 20.04