So installierst du Polr URL Shortener auf Ubuntu 20.04

Polr ist ein freier und quelloffener URL-Verkürzer, der in PHP geschrieben wurde. Er bietet eine einfache und benutzerfreundliche Schnittstelle zum Erstellen und Verwalten von Links. Du kannst deinen eigenen URL-Verkürzer hosten, deine URLs brandmarken und die Kontrolle über deine Daten gewinnen. Er bietet eine Vielzahl von Funktionen, wie z.B. eine robuste API, URL-Weiterleitung, benutzerdefinierte Berechtigungen, Themes und mehr.

In diesem Beitrag zeigen wir dir, wie du Polr mit Apache und Let’s Encrypt SSL auf Ubuntu 20.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Aktualisiere zunächst die Systempakete auf die aktuelle Version, indem du den folgenden Befehl ausführst:

apt-get update -y

Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.

Installiere Apache, MariaDB, und PHP

Zuerst musst du den Apache Server, die MariaDB Datenbank, PHP und andere PHP Erweiterungen auf deinem Server installieren. Du kannst sie alle mit dem folgenden Befehl installieren:

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

Sobald alle Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Erstelle eine Datenbank für Polr

Polr verwendet MariaDB/MySQL als Datenbank-Backend. Du musst also eine Datenbank und einen Benutzer für Polr erstellen.

Melde dich zuerst mit dem folgenden Befehl bei MariaDB an:

mysql

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

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

Als nächstes löschst du die Privilegien und verlässt MariaDB mit dem folgenden Befehl:

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

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Composer installieren

Als nächstes musst du Composer auf deinem Server installieren, um die PHP-Abhängigkeiten zu installieren, die für Polr benötigt werden.

Führe den folgenden curl Befehl aus, um den Composer zu installieren:

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

Du solltest die folgende Ausgabe erhalten:

All settings correct for using Composer
Downloading...

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

Als Nächstes verschiebst du das Composer-Binary mit dem folgenden Befehl in das Systemverzeichnis:

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

Als nächstes überprüfe die Composer-Version mit dem folgenden Befehl:

composer -V

Du solltest die folgende Ausgabe sehen:

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

Install Polr

Als nächstes musst du die neueste Version von Polr aus dem Git Repository herunterladen. Du kannst sie mit dem folgenden Befehl herunterladen:

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

Sobald der Download abgeschlossen ist, ändere das Verzeichnis in Polr und installiere alle benötigten Abhängigkeiten mit dem folgenden Befehl:

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

Als nächstes kopierst du die Beispiel-Umgebungsdatei mit dem folgenden Befehl:

cp .env.setup .env

Setze als nächstes die richtigen Rechte für das Polr Verzeichnis mit dem folgenden Befehl:

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

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache für Polr konfigurieren

Als nächstes musst du eine Apache Virtual Host Konfigurationsdatei für Polr erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

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

Füge die folgenden Zeilen ein:

<VirtualHost *:80>
ServerAdmin admin@example.com
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>

Speichere und schließe die Datei und aktiviere dann die Apache Virtual Host Datei und das Rewrite Modul mit dem folgenden Befehl:

a2enmod rewrite
a2ensite polr.conf

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst nun den Status des Apache-Dienstes mit folgendem Befehl überprüfen:

systemctl status apache2

Du solltest die folgende Ausgabe erhalten:

? 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...

Access Polr Web Interface

Du kannst nun auf das Polr Webinterface zugreifen, indem du die URL http://polr.example.com verwendest.

Datenbank Konfiguration

Einstellungen der Anwendung

URL-Verkürzer Einstellungen

Captcha Einstellungen

Gib deinen Datenbanknamen, deinen Benutzernamen, dein Passwort, deine Anwendungseinstellungen, die Polr-URL, deinen Admin-Benutzernamen, deine E-Mail und dein Passwort ein und klicke auf die Schaltfläche Installieren. Sobald Polr installiert wurde, solltest du den folgenden Bildschirm erhalten:

Einrichtung komplett

Klicke auf die Startseite. Du solltest das Polr Dashboard auf dem folgenden Bildschirm sehen:

Polr URL Shortener

Polr mit Let’s Encrypt Free SSL sichern

Zuerst musst du den Certbot Let’s Encrypt Client installieren, um das SSL Zertifikat für deine Domain herunterzuladen und zu installieren.

Du kannst ihn mit dem folgenden Befehl installieren:

apt-get install python3-certbot-apache -y

Sobald er installiert ist, kannst du den folgenden Befehl ausführen, um das Let’s Encrypt Zertifikat für deine Domain polr.example.com zu installieren.

certbot --apache -d polr.example.com

Während der Installation wirst du aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren, wie unten gezeigt:

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): admin@example.com

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

Als nächstes gibst du 2 ein und drückst die Eingabetaste, um ein kostenloses SSL-Zertifikat für deine Domain herunterzuladen und zu installieren. Sobald die Installation erfolgreich abgeschlossen wurde. Du solltest die folgende Ausgabe erhalten:

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

Deine Polr Website ist nun mit Let’s Encrypt free SSL gesichert. Du kannst sie über die URL https://polr.example.com aufrufen.

Fazit

In der obigen Anleitung hast du gelernt, wie du Polr mit Apache und Let’s Encrypt SSL auf einem Ubuntu 20.04 Server installieren kannst. Du kannst nun deinen eigenen Linkverkürzer mit Polr hosten. Wenn du noch Fragen hast, kannst du mich gerne fragen.

Das könnte dich auch interessieren …