Polr URL Shortener te installeren op Ubuntu 20.04
Polr is een gratis en open-source URL-verkorter geschreven in PHP. Het biedt een eenvoudige en gebruiksvriendelijke interface om links te maken en te beheren. Je kunt je eigen URL-verkorter hosten, je URL’s van een merk voorzien, en controle over je gegevens krijgen. Het biedt een ton aan functies, waaronder, robuuste API, URL doorsturen, permissies aanpassen, thema’s, en meer.
In deze post laten we je zien hoe je Polr met Apache en Let’s Encrypt SSL installeert op Ubuntu 20.04.
Vereisten
- Een server met Ubuntu 20.04.
- Een geldige domeinnaam gericht met je server IP.
- Een root wachtwoord is op de server ingesteld.
Aan de slag
Werk eerst de systeempakketten bij naar de bijgewerkte versie door het volgende commando uit te voeren:
apt-get update -y
Als alle pakketten geüpdatet zijn, kun je verder gaan met de volgende stap.
Installeer Apache, MariaDB, en PHP
Eerst moet je de Apache server, de MariaDB databank, PHP, en andere PHP uitbreidingen op je server installeren. Je kunt ze allemaal installeren met het volgende commando:
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
Als alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.
Maak een databank voor Polr
Polr gebruikt MariaDB/MySQL als database backend. Je zult dus een database en gebruiker voor Polr moeten aanmaken.
Log eerst in op de MariaDB met het volgende commando:
mysql
Eenmaal ingelogd maak je een database en een gebruiker aan met het volgende commando:
MariaDB [(none)]> CREATE DATABASE polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';
Spoel vervolgens de privileges en verlaat de MariaDB met het volgende commando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Als je klaar bent, kun je verder gaan met de volgende stap.
Installeer Composer
Vervolgens moet je Composer op je server installeren om de PHP afhankelijkheden te installeren die voor Polr nodig zijn.
Voer het volgende commando uit om Composer te installeren:
curl -sS https://getcomposer.org/installer | php
Je zou de volgende uitvoer moeten krijgen:
All settings correct for using Composer Downloading... Composer (version 2.1.3) successfully installed to: /root/composer.phar Use it: php composer.phar
Verplaats vervolgens de binary van Composer naar de systeemlocatie met het volgende commando:
mv composer.phar /usr/local/bin/composer
Controleer vervolgens de Composer versie met het volgende commando:
composer -V
Je zou de volgende uitvoer moeten zien:
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
Installeer Polr
Vervolgens moet je de nieuwste versie van Polr uit de Git repository downloaden. Je kunt het downloaden met het volgende commando:
git clone https://github.com/cydrobolt/polr.git --depth=1 /var/www/html/polr
Als de download voltooid is, verander je de directory in Polr en installeer je alle vereiste afhankelijkheden met het volgende commando:
cd /var/www/html/polr
composer install --no-dev -o
Kopieer vervolgens het voorbeeld omgevingsbestand met het volgende commando:
cp .env.setup .env
Stel vervolgens de juiste toestemming in voor de Polr directory met het volgende commando:
chown -R www-data:www-data /var/www/html/polr
chmod -R 755 /var/www/html/polr
Als je klaar bent, kun je verder gaan met de volgende stap.
Configureer Apache voor Polr
Vervolgens moet je een Apache virtual host configuratiebestand voor Polr maken. Je kunt het maken met het volgende commando:
nano /etc/apache2/sites-available/polr.conf
Voeg de volgende regels toe:
<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>
Sla het bestand op en sluit het af, schakel dan de Apache virtuele host bestand en herschrijf module in met het volgende commando:
a2enmod rewrite
a2ensite polr.conf
Herstart vervolgens de Apache dienst om de veranderingen toe te passen:
systemctl restart apache2
Je kunt nu de status van de Apache dienst controleren met het volgende commando:
systemctl status apache2
Je zou de volgende uitvoer moeten krijgen:
? 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...
Toegang tot de Polr webinterface
Je kunt nu de Polr webinterface openen met de URL http://polr.example.com.
Geef je databasenaam, gebruikersnaam, wachtwoord, toepassingsinstellingen, Polr URL, admin gebruikersnaam, e-mail, wachtwoord op en klik op de knop Installeren. Als de Polr geïnstalleerd is, zou je het volgende scherm moeten krijgen:
Klik op de startpagina. Je zou Polr dashboard moeten zien op het volgende scherm:
Beveilig Polr met Let’s Encrypt Free SSL
Eerst moet je het Certbot Let’s Encrypt programma installeren om het SSL certificaat voor je domein te downloaden en te installeren.
Je kunt het installeren met het volgende commando:
apt-get install python3-certbot-apache -y
Eenmaal geïnstalleerd kun je het volgende commando uitvoeren om het Let’s Encrypt Certificaat voor je domein polr.example.com te installeren.
certbot --apache -d polr.example.com
Tijdens de installatie wordt je gevraagd je e-mail adres op te geven en de servicevoorwaarden te accepteren, zoals hieronder:
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
Typ vervolgens 2 en druk op Enter om een gratis SSL certificaat voor je domein te downloaden en te installeren. Als de installatie met succes voltooid is. Je zou de volgende uitvoer moeten krijgen:
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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Je Polr website is nu beveiligd met Let’s Encrypt gratis SSL. Je kunt er toegang toe krijgen via de URL https://polr.example.com.
Conclusie
In de bovenstaande gids heb je geleerd hoe je Polr met Apache en Let’s Encrypt SSL op Ubuntu 20.04 server kunt installeren. Je kunt nu je eigen link shortener hosten met Polr. Voel je vrij me te vragen als je vragen hebt.