Comment installer le raccourcisseur de liens Polr sur Debian 10

Polr est un raccourcisseur d’URL gratuit et open-source qui te permet d’héberger ton propre raccourcisseur de liens. Il est écrit en PHP et Lumen, et utilise MariaDB pour stocker ses données. Avec Polr, tu peux créer de nouveaux liens ou consulter des liens existants sans casser ton code existant.

Dans ce tutoriel, nous allons te montrer comment installer le logiciel Polr Link Shortener sur un serveur Debian 10.

Conditions préalables

  • Un serveur fonctionnant sous Debian 10.
  • Un nom de domaine valide pointé avec l’IP de ton serveur. Dans ce tutoriel, nous utiliserons le domaine polr.example.com.
  • Un mot de passe root est configuré sur ton serveur.

Pour commencer

Avant de commencer, c’est une bonne idée de mettre à jour ton système avec la dernière version. Tu peux mettre à jour ton système avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Après avoir mis à jour le système, redémarre-le pour appliquer les modifications.

Installer le serveur LAMP

Tout d’abord, tu dois installer le serveur Web Apache, le serveur MariaDB, PHP et d’autres paquets dans ton système. Tu peux tous les installer à l’aide de la commande suivante :

apt-get install apache2 mariadb-server libapache2-mod-php php php-pdo php-mysql php-mbstring php-tokenizer php-json php-curl git wget unzip -y

Une fois que tous les paquets sont installés, démarre le service Apache et MariaDB et active leur démarrage après le redémarrage du système.

systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb

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

Configurer la base de données MariaDB

Par défaut, le mot de passe de la racine MariaDB n’est pas configuré dans Debian 10. Tu devras donc d’abord le configurer.

Pour ce faire, connecte-toi au shell MariaDB avec la commande suivante :

mysql

Une fois connecté, configure ton mot de passe racine MariaDB avec la commande suivante :

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");

Ensuite, crée une base de données et un utilisateur pour Polr avec la commande suivante :

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

Ensuite, vide les privilèges et quitte le shell MariaDB avec la commande suivante :

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

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

Installer Composer

Ensuite, tu devras installer Composer dans ton système. Composer est un gestionnaire de dépendances pour PHP utilisé pour installer toutes les dépendances PHP pour ton projet.

Tout d’abord, télécharge le Composer avec la commande suivante :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Ensuite, tu devras vérifier l’intégrité des données du script téléchargé en comparant le hachage SHA-384 du script avec le dernier hachage.

Pour cela, télécharge la signature du dernier programme d’installation de Composer depuis le dépôt Git et stocke-la dans une variable nommée HASH :

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

Ensuite, vérifie le script d’installation avec la commande suivante :

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Si les hachages correspondent, tu verras la sortie suivante :

Installer verified

Enfin, installe le Composer à l’aide de la commande suivante :

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Une fois l’installation terminée, tu devrais voir la sortie suivante :

All settings correct for using Composer
Downloading...
Composer (version 1.9.2) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

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

Installer Polr

Tout d’abord, télécharge la dernière version de Polr depuis le dépôt Git dans le répertoire racine du site Web d’Apache :

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

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

cd polr
composer install --no-dev -o

Ensuite, active le programme d’installation basé sur le Web en renommant le fichier suivant :

mv .env.setup .env

Ensuite, donne les autorisations appropriées au répertoire polr comme indiqué ci-dessous :

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
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/polr_error.log
     CustomLog ${APACHE_LOG_DIR}/polr_access.log combined

</VirtualHost>

Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, active le fichier d’hôte virtuel Apache et le module de réécriture avec la commande suivante :

a2ensite polr.conf
a2enmod rewrite

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

systemctl restart apache2

À ce stade, Polr est installé et configuré. Tu peux maintenant passer à l’étape suivante.

Accède à l’interface Web de Polr

Maintenant, ouvre ton navigateur Web et tape l’URL http://polr.example.com. Tu seras redirigé vers l’assistant de configuration de Polr, comme indiqué ci-dessous :

Configuration de la base de données Polr

Paramètres de l'application

Compte Admin

Paramètres reCaptcha

Indique les informations de ta base de données, les paramètres de l’application, les paramètres du compte administrateur et clique sur le bouton Installer. Une fois l’installation terminée, tu devrais voir la page suivante :

Installation de Polr terminée

Clique sur le bouton de connexion. Tu seras redirigé vers la page de connexion de Polr :

Connexion à Polr

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton LOGIN. Tu devrais voir la page suivante :

Raccourcisseur de liens Polr

Raccourcis les liens

Maintenant, clique sur le bouton ADMIN => DASHBOARD dans le coin supérieur droit. Tu devrais voir le tableau de bord de Polr sur la page suivante :

Tableau de bord de l'administrateur

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 python-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

Félicitations ! Tu as réussi à installer Polr sur un serveur Debian 10 et à le sécuriser avec Let’s Encrypt SSL. Tu peux maintenant héberger ton propre raccourcisseur de liens en utilisant l’interface Web de Polr. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...