Comment installer le raccourcisseur d’URL Polr sur Ubuntu 20.04

Polr est un raccourcisseur d’URL gratuit et open-source écrit en PHP. Il offre une interface simple et conviviale pour créer et gérer des liens. Tu peux héberger ton propre raccourcisseur d’URL, créer une marque pour tes URL et avoir le contrôle de tes données. Il offre une tonne de fonctionnalités, notamment une API robuste, le transfert d’URL, des autorisations personnalisées, des thèmes et bien plus encore.

Dans ce billet, nous allons te montrer comment installer Polr avec Apache et Let’s Encrypt SSL sur Ubuntu 20.04.

Conditions préalables

  • Un serveur fonctionnant sous Ubuntu 20.04.
  • Un nom de domaine valide pointé avec l’IP de ton serveur.
  • Un mot de passe root est configuré sur le serveur.

Pour commencer

Tout d’abord, mets les paquets système à la version mise à jour en exécutant la commande suivante :

apt-get update -y

Une fois que tous les paquets sont mis à jour, tu peux passer à l’étape suivante.

Installe Apache, MariaDB et PHP

Tout d’abord, tu dois installer le serveur Apache, la base de données MariaDB, PHP et d’autres extensions PHP sur ton serveur. Tu peux tous les installer avec la commande suivante :

apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-wsgi php-gd php-curl php-xml php-xmlrpc php-curl php-imagick php-mbstring php-zip php-intl -y

Une fois que tous les paquets sont installés, tu peux passer à l’étape suivante.

Crée une base de données pour Polr

Polr utilise MariaDB/MySQL comme backend de base de données. Tu devras donc créer une base de données et un utilisateur pour Polr.

Tout d’abord, connecte-toi à MariaDB à l’aide de la commande suivante :

mysql

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

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

Ensuite, supprime les privilèges et sors de MariaDB avec la commande suivante :

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

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Installe Composer

Ensuite, tu devras installer Composer sur ton serveur pour installer les dépendances PHP nécessaires à Polr.

Exécute la commande suivante pour installer Composer :

curl -sS https://getcomposer.org/installer | php

Tu devrais obtenir la sortie suivante :

All settings correct for using Composer
Downloading...

Composer (version 2.1.3) successfully installed to: /root/composer.phar
Use it: php composer.phar

Ensuite, déplace le binaire de Composer vers l’emplacement du système à l’aide de la commande suivante :

mv composer.phar /usr/local/bin/composer

Ensuite, vérifie la version de Composer à l’aide de la commande suivante :

composer -V

Tu devrais voir la sortie suivante :

Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Composer version 2.1.3 2021-06-09 16:31:20

Installe Polr

Ensuite, tu devras télécharger la dernière version de Polr depuis le dépôt Git. Tu peux la télécharger à l’aide de la commande suivante :

git clone https://github.com/cydrobolt/polr.git --depth=1 /var/www/html/polr

Une fois le téléchargement terminé, change le répertoire en Polr et installe toutes les dépendances requises avec la commande suivante :

cd /var/www/html/polr
composer install --no-dev -o

Ensuite, copie le fichier d’environnement type avec la commande suivante :

cp .env.setup .env

Ensuite, définis la permission appropriée pour le répertoire Polr avec la commande suivante :

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

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer Apache pour Polr

Ensuite, tu devras créer un fichier de configuration d’hôte virtuel Apache pour Polr. Tu peux le créer avec la commande suivante :

nano /etc/apache2/sites-available/polr.conf

Ajoute les lignes suivantes :

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/polr/public
ServerName polr.example.com
<Directory /var/www/html/polr/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/polr-error_log
CustomLog /var/log/apache2/polr-access_log common
</VirtualHost>

Enregistre et ferme le fichier puis active le module de réécriture et de fichier d’hôte virtuel d’Apache avec la commande suivante :

a2enmod rewrite
a2ensite polr.conf

Ensuite, redémarre le service Apache pour appliquer les modifications :

systemctl restart apache2

Tu peux maintenant vérifier l’état du service Apache à l’aide de la commande suivante :

systemctl status apache2

Tu devrais obtenir la sortie suivante :

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-06-17 12:09:42 UTC; 16s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 27602 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 27617 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 26.6M
     CGroup: /system.slice/apache2.service
             ??27617 /usr/sbin/apache2 -k start
             ??27618 /usr/sbin/apache2 -k start
             ??27619 /usr/sbin/apache2 -k start
             ??27620 /usr/sbin/apache2 -k start
             ??27621 /usr/sbin/apache2 -k start
             ??27622 /usr/sbin/apache2 -k start

Jun 17 12:09:42 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Accéder à l’interface Web de Polr

Tu peux maintenant accéder à l’interface Web de Polr en utilisant l’URL http://polr.example.com.

Configuration de la base de données

Paramètres de l'application

Paramètres du raccourcisseur d'URL

Paramètres de captcha

Indique le nom de ta base de données, ton nom d’utilisateur, ton mot de passe, les paramètres de l’application, l’URL de Polr, le nom d’utilisateur de l’administrateur, l’email, le mot de passe et clique sur le bouton Installer. Une fois que le Polr a été installé, tu devrais obtenir l’écran suivant :

Configuration terminée

Clique sur la page d’accueil. Tu devrais voir le tableau de bord de Polr sur l’écran suivant :

Polr URL Shortener

Sécurise Polr avec Let’s Encrypt Free SSL

Tout d’abord, tu dois installer le client Certbot Let’s Encrypt pour télécharger et installer le certificat SSL pour ton domaine.

Tu peux l’installer avec la commande suivante :

apt-get install python3-certbot-apache -y

Une fois installé, tu peux exécuter la commande suivante pour installer le certificat Let’s Encrypt pour ton domaine polr.example.com.

certbot --apache -d polr.example.com

Pendant l’installation, il te sera demandé de fournir ton adresse e-mail et d’accepter les conditions de service comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for polr.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/polr-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/polr-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/polr-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Ensuite, tape 2 et appuie sur Entrée pour télécharger et installer un certificat SSL gratuit pour ton domaine. Une fois l’installation terminée avec succès. Tu devrais obtenir le résultat suivant :

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/polr.conf to ssl vhost in /etc/apache2/sites-available/
polr-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://polr.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=polr.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ton site Web Polr est maintenant sécurisé avec Let’s Encrypt free SSL. Tu peux y accéder en utilisant l’URL https://polr.example.com.

Conclusion

Dans le guide ci-dessus, tu as appris à installer Polr avec Apache et Let’s Encrypt SSL sur le serveur Ubuntu 20.04. Tu peux maintenant héberger ton propre raccourcisseur de liens en utilisant Polr. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...