Polr est un raccourcisseur d'URL gratuit et open-source écrit en PHP. Il fournit une interface simple et conviviale pour créer et gérer des liens. Vous pouvez héberger votre propre raccourcisseur d'URL, personnaliser vos URL et prendre le contrôle de vos données. Il fournit une tonne de fonctionnalités, notamment une API robuste, le transfert d'URL, la personnalisation des autorisations, des thèmes, etc.
Dans cet article, nous vous montrerons comment installer Polr avec Apache et Let's Encrypt SSL 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 Apache, MariaDB et PHP
Tout d'abord, vous devrez installer le serveur Apache, la base de données MariaDB, PHP et d'autres extensions PHP sur votre serveur. Vous pouvez 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 tous les packages installés, vous pouvez passer à l'étape suivante.
Créer une base de données pour Polr
Polr utilise MariaDB/MySQL comme backend de base de données. Vous devrez donc créer une base de données et un utilisateur pour Polr.
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 polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';
Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer Composer
Ensuite, vous devrez installer Composer sur votre serveur pour installer les dépendances PHP requises pour Polr.
Exécutez la commande suivante pour installer Composer :
curl -sS https://getcomposer.org/installer | php
Vous devriez obtenir le résultat suivant :
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éplacez le binaire Composer vers l'emplacement système à l'aide de la commande suivante :
mv composer.phar /usr/local/bin/composer
Ensuite, vérifiez la version de Composer à l'aide de la commande suivante :
composer -V
Vous devriez voir le résultat suivant :
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
Installer Polr
Ensuite, vous devrez télécharger la dernière version de Polr à partir du référentiel Git. Vous pouvez le télécharger avec la commande suivante :
git clone https://github.com/cydrobolt/polr.git --depth=1 /var/www/html/polr
Une fois le téléchargement terminé, changez le répertoire en Polr et installez toutes les dépendances requises avec la commande suivante :
cd /var/www/html/polr
composer install --no-dev -o
Ensuite, copiez l'exemple de fichier d'environnement avec la commande suivante :
cp .env.setup .env
Ensuite, définissez l'autorisation appropriée sur 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour Polr
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour Polr. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/polr.conf
Ajoutez 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>
Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel Apache et réécrivez le module avec la commande suivante :
a2enmod rewrite
a2ensite polr.conf
Ensuite, redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Vous pouvez maintenant vérifier l'état du service Apache à l'aide de la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? 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 Polr
Vous pouvez désormais accéder à l'interface Web de Polr à l'aide de l'URL http://polr.example.com.
Indiquez le nom de votre base de données, votre nom d'utilisateur, votre mot de passe, les paramètres de l'application, l'URL Polr, le nom d'utilisateur de l'administrateur, l'adresse e-mail, le mot de passe et cliquez sur Installer bouton. Une fois le Polr installé, vous devriez obtenir l'écran suivant :
Cliquez sur la page d'accueil. Vous devriez voir le tableau de bord Polr sur l'écran suivant :
Sécuriser Polr avec Let's Encrypt Free SSL
Tout d'abord, vous devrez installer le client Certbot Let's Encrypt pour télécharger et installer le certificat SSL pour votre domaine.
Vous pouvez l'installer avec la commande suivante :
apt-get install python3-certbot-apache -y
Une fois installé, vous pouvez exécuter la commande suivante pour installer le certificat Let's Encrypt pour votre domaine polr.example.com.
certbot --apache -d polr.example.com
Lors de l'installation, il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation 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, tapez 2 et appuyez sur Entrée pour télécharger et installer un certificat SSL gratuit pour votre domaine. Une fois l'installation terminée avec succès. Vous devriez 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Votre site Web Polr est maintenant sécurisé avec le SSL gratuit Let's Encrypt. Vous pouvez y accéder en utilisant l'URL https://polr.example.com.
Conclusion
Dans le guide ci-dessus, vous avez appris comment installer Polr avec Apache et Let's Encrypt SSL sur le serveur Ubuntu 20.04. Vous pouvez maintenant héberger votre propre raccourcisseur de lien en utilisant Polr. N'hésitez pas à me demander si vous avez des questions.