Polr ist ein kostenloser Open-Source-URL-Shortener, mit dem Sie Ihren eigenen Link-Shortener hosten können. Es ist in PHP und Lumen geschrieben und verwendet MariaDB, um seine Daten zu speichern. Mit Polr können Sie neue Links erstellen oder vorhandene Links nachschlagen, ohne Ihren vorhandenen Code zu beschädigen.
In diesem Tutorial zeigen wir Ihnen, wie Sie die Polr Link Shortener-Software auf einem Debian 10-Server installieren.
Voraussetzungen
- Ein Server mit Debian 10.
- Ein gültiger Domänenname, auf den Ihre Server-IP verweist. In diesem Tutorial verwenden wir die Domain polr.example.com.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
Erste Schritte
Bevor Sie beginnen, ist es eine gute Idee, Ihr System mit der neuesten Version zu aktualisieren. Sie können Ihr System mit dem folgenden Befehl aktualisieren:
apt-get update -y
apt-get upgrade -y
Starten Sie das System nach der Aktualisierung neu, um die Änderungen zu implementieren.
LAMP-Server installieren
Zuerst müssen Sie den Apache-Webserver, den MariaDB-Server, PHP und andere Pakete in Ihrem System installieren. Sie können alle mit dem folgenden Befehl installieren:
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
Sobald alle Pakete installiert sind, starten Sie den Apache- und MariaDB-Dienst und ermöglichen Sie ihnen, nach dem Systemneustart zu starten.
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
MariaDB-Datenbank konfigurieren
Standardmäßig ist das MariaDB-Root-Passwort in Debian 10 nicht konfiguriert. Sie müssen es also zuerst festlegen.
Melden Sie sich dazu mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql
Legen Sie nach der Anmeldung Ihr MariaDB-Root-Passwort mit dem folgenden Befehl fest:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
Erstellen Sie als Nächstes eine Datenbank und einen Benutzer für Polr mit dem folgenden Befehl:
MariaDB [(none)]> CREATE DATABASE polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';
Löschen Sie als Nächstes die Berechtigungen und verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Composer installieren
Als nächstes müssen Sie den Composer in Ihrem System installieren. Composer ist ein Abhängigkeitsmanager für PHP, mit dem alle PHP-Abhängigkeiten für Ihr Projekt installiert werden.
Laden Sie zuerst den Composer mit dem folgenden Befehl herunter:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Als Nächstes müssen Sie die Datenintegrität des heruntergeladenen Skripts überprüfen, indem Sie den SHA-384-Hash des Skripts mit dem neuesten Hash vergleichen.
Laden Sie dazu die Signatur des neuesten Composer-Installationsprogramms aus dem Git-Repository herunter und speichern Sie sie in einer Variablen namens HASH:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Als nächstes überprüfen Sie das Installationsskript mit dem folgenden Befehl:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Wenn die Hashes übereinstimmen, sehen Sie die folgende Ausgabe:
Installer verified
Installieren Sie schließlich den Composer mit dem folgenden Befehl:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:
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
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Polr installieren
Laden Sie zunächst die neueste Version von Polr aus dem Git-Repository in das Apache-Web-Root-Verzeichnis herunter:
cd /var/www/html
git clone https://github.com/cydrobolt/polr.git --depth=1
Wechseln Sie nach dem Herunterladen in das Verzeichnis polr und installieren Sie alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:
cd polr
composer install --no-dev -o
Aktivieren Sie als Nächstes das webbasierte Installationsprogramm, indem Sie die folgende Datei umbenennen:
mv .env.setup .env
Geben Sie als Nächstes die richtigen Berechtigungen für das Polr-Verzeichnis, wie unten gezeigt:
chown -R www-data:www-data /var/www/html/polr/
chmod -R 755 /var/www/html/polr/
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Apache für Polr konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host für Polr erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/apache2/sites-available/polr.conf
Fügen Sie die folgenden Zeilen hinzu:
<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>
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Aktivieren Sie dann die virtuelle Apache-Hostdatei und das Rewrite-Modul mit dem folgenden Befehl:
a2ensite polr.conf
a2enmod rewrite
Starten Sie abschließend den Apache-Dienst neu, um die Änderungen zu implementieren:
systemctl restart apache2
An diesem Punkt ist Polr installiert und konfiguriert. Sie können jetzt mit dem nächsten Schritt fortfahren.
Auf die Polr-Webschnittstelle zugreifen
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://polr.example.com ein. Sie werden wie unten gezeigt zum Polr-Einrichtungsassistenten weitergeleitet:
Geben Sie Ihre Datenbankinformationen, Anwendungseinstellungen und Administratorkontoeinstellungen an und klicken Sie auf Installieren Taste. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Seite sehen:
Klicken Sie auf Anmeldung Taste. Sie werden zur Anmeldeseite von Polr weitergeleitet:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf LOGIN Taste. Sie sollten die folgende Seite sehen:
Klicken Sie nun auf ADMIN => DASHBOARD in der oberen rechten Ecke. Sie sollten das Polr-Dashboard auf der folgenden Seite sehen:
Sichern Sie Polr mit Let's Encrypt Free SSL
Zuerst müssen Sie den Certbot Let's Encrypt-Client installieren, um das SSL-Zertifikat für Ihre Domain herunterzuladen und zu installieren.
Sie können es mit dem folgenden Befehl installieren:
apt-get install python-certbot-apache -y
Nach der Installation können Sie den folgenden Befehl ausführen, um das Let's Encrypt-Zertifikat für Ihre Domain polr.example.com zu installieren.
certbot --apache -d polr.example.com
Während der Installation werden Sie aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:
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
Geben Sie als Nächstes 2 ein und drücken Sie Enter um ein kostenloses SSL-Zertifikat für Ihre Domain herunterzuladen und zu installieren. Sobald die Installation erfolgreich abgeschlossen wurde. Sie sollten 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ihre Polr-Website ist jetzt mit Let's Encrypt Free SSL gesichert. Sie können über die URL https://polr.example.com.
darauf zugreifenSchlussfolgerung
Herzliche Glückwünsche! Sie haben Polr erfolgreich auf dem Debian 10-Server installiert und mit Let's Encrypt SSL gesichert. Sie können jetzt Ihren eigenen Link-Shortener über die Polr-Weboberfläche hosten. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.