GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Shlink URL Shortener na Ubuntu 20.04 Server

Shlink je open-source samostatně hostovaný zkracovač adres URL, který vám umožňuje zkracovat adresy URL a poskytovat je pod vaší vlastní krátkou doménou. Použití vlastní služby zkracování adres URL místo služby třetí strany, jako je bit.ly, může zvýšit povědomí o značce. Tento tutoriál vám ukáže, jak nainstalovat Shlink na Ubuntu 20.04 s webovým serverem Apache nebo Nginx.

Funkce Shlink

  • Statistiky návštěv :Sledujte všechny návštěvy vašich krátkých adres URL, včetně statistik, jako je poloha, prohlížeč nebo referrer.
  • Sledování e-mailů :Vygenerujte průhledný obrázek o velikosti 1 pixel, který lze použít ke sledování e-mailů.
  • Integrace třetích stran :Snadno přimějte nástroje třetích stran používat shlink ke zkrácení adres URL pomocí koncového bodu API pro jeden požadavek.
  • Vlastní slimáci :Zajistěte, aby vaše zkrácené adresy URL používaly vlastní slug pro snadnou identifikaci kampaní.
  • QR kódy :Generujte QR kódy za běhu směřující na vaše krátké adresy URL
  • Náhledy :Získejte náhledy ve formátu obrázku pro jakoukoli krátkou adresu URL
  • Značky :Označte své krátké adresy URL a klasifikujte je pro pozdější analýzu
  • Omezený přístup :Omezte přístup ke krátkým adresám URL, podle časového období a/nebo maximálního počtu návštěv.
  • Dovozy třetích stran :Importujte své stávající krátké adresy URL od třetích stran, jako je bit.ly.
  • Příkazový řádek a webové rozhraní.

Předpoklady instalace Shlink na Ubuntu 20.04 Server

Shlink je napsán v PHP a spoléhá na databázový server MySQL/MariaDB nebo PostgreSQL, takže musíte nastavit zásobník LAMP nebo zásobník LEMP. Pokud dáváte přednost webovému serveru Apache, nastavte zásobník LAMP.

  • Jak nainstalovat LAMP Stack na Ubuntu 20.04 Server/Desktop

Pokud dáváte přednost webovému serveru Nginx, nastavte zásobník LEMP.

  • Jak nainstalovat LEMP Stack (Nginx, MariaDB, PHP7.4) na Ubuntu 20.04 LTS

Potřebujete také název domény. Zaregistroval jsem své doménové jméno od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma. V tomto tutoriálu používám svůj lnux.be název domény jako příklad. Bez dalších okolků nainstalujme Shlink na server Ubuntu 20.04.

Krok 1:Stáhněte si Shlink na svůj server Ubuntu 20.04

Přejděte na stránku Shlink Github a zkontrolujte nejnovější stabilní verzi. Nejnovější stabilní verzi (2.6.2) si můžete stáhnout provedením následujícího příkazu na vašem serveru.

wget https://github.com/shlinkio/shlink/releases/download/v2.6.2/shlink2.6.2_php8.0_dist.zip

Poznámka :Pokud vyjde nová verze, jednoduše nahraďte 2.6.2 novým číslem verze.

Soubor bude uložen jako shlink2.6.2_php8.0_dist.zip . Použijte unzip příkaz rozbalte do /var/www/ adresář.

sudo apt install unzip

sudo mkdir -p /var/www/

sudo unzip shlink2.6.2_php8.0_dist.zip -d /var/www/

Nyní jsou soubory uloženy pod /var/www/shlink2.6.2_php8.0_dist/ , přejmenujeme jej, aby byl jednodušší.

sudo mv /var/www/shlink2.6.2_php8.0_dist/ /var/www/shlink

Poté nastavte uživatele webového serveru (www-data ) jako vlastníka tohoto adresáře.

sudo chown -R www-data:www-data /var/www/shlink/

Krok 2:Vytvoření databáze MariaDB a uživatele pro Shlink

Nyní se musíme přihlásit do konzole MariaDB a vytvořit databázi a uživatele pro Shlink. Ve výchozím nastavení používá balíček MariaDB na Ubuntu unix_socket k ověření přihlášení uživatele, což v podstatě znamená, že můžete použít uživatelské jméno a heslo operačního systému pro přihlášení do konzoly MariaDB. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.

sudo mysql -u root

Dále vytvořte novou databázi pro Shlink pomocí následujícího příkazu. Tento tutoriál jej pojmenuje shlink , můžete pro databázi použít jakýkoli název.

CREATE DATABASE shlink;

Následující příkaz vytvoří databázového uživatele a heslo a zároveň udělí veškerá oprávnění nové databáze novému uživateli, aby později mohl Shlink zapisovat do databáze. Nahraďte červené texty preferovaným názvem databáze, uživatelským jménem a heslem.

GRANT ALL ON shlink.* TO 'shlink'@'localhost' IDENTIFIED BY 'password';

Vyprázdněte tabulku oprávnění a ukončete konzolu MariaDB.

FLUSH PRIVILEGES;

EXIT;

Krok 3:Nainstalujte PHP8.0 a některá rozšíření

Protože jsme si stáhli PHP 8 verzi Shlink, musíme nainstalovat PHP8. Úložiště Ubuntu 20.04 obsahuje PHP7.2. Chcete-li nainstalovat PHP8.0 na Ubuntu 20.04, musíme přidat PPA.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php -y

Poté nainstalujte PHP8.0 a rozšíření požadovaná Shlinkem.

sudo apt install php-apcu php8.0 php8.0-fpm php8.0-mysql php8.0-gd php8.0-common php8.0-curl php8.0-intl php8.0-gmp php8.0-xml

Pokud používáte Apache webový server, musíte spustit následující příkazy, aby používal PHP8.0-FPM.

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event proxy_fcgi setenvif
sudo a2enconf php8.0-fpm

Poté restartujte Apache.

sudo systemctl restart apache2

Krok 4:Spusťte instalační skript Shlink

Spusťte instalační skript PHP jako www-data uživatel.

sudo -u www-data php8.0 /var/www/shlink/bin/install

Průvodce nastavením vás požádá o zadání údajů o databázi. Vybírám tedy MariaDB jako typ databáze zadejte název databáze, uživatele a heslo. Hostitelem je localhost a port je 3306 . Shlink se také může připojit k databázovému serveru přes Unix socket. Pokud používáte MariaDB, umístění soketu je /var/run/mysqld/mysqld.sock na serveru Ubuntu.

Dále zadejte výchozí doménu pro váš zkracovač adres URL a vyberte typ schématu (https ). Poté odpovězte na několik jednoduchých otázek.

Pokud chcete analyzovat geolokaci návštěvníků, musíte použít svůj vlastní licenční klíč GeoLite2, který je zdarma. Chcete-li získat licenční klíč, vytvořte si účet u MaxMind. Maxmind vám pošle e-mail. Kliknutím na odkaz v e-mailu nastavte heslo a poté se přihlaste ke svému účtu MaxMind. Dále vyberte My License Key na levé liště.

Klikněte na Vygenerovat nový licenční klíč tlačítko.

Pojmenujte svůj licenční klíč. Poté zvolte No , protože nepotřebujeme používat geoipupdate program. Poté klikněte na Confirm tlačítko.

Jakmile je licenční klíč vytvořen, zkopírujte licenční klíč a vložte jej do průvodce nastavením Shlink. Poté můžete zvolit anonymizaci IP adres návštěvníků a nastavit typ přesměrování (302 nebo 301).

Poté nakonfigurujte přesměrování pro případy anomálií. Když návštěvníci narazí na moji základní adresu URL Shlink (https://lnux.be), budou přesměrováni na můj web. Můžete také vytvořit vlastní adresu URL pro stránku 404 nenalezeno.

Nakonec nakonfigurujte aplikaci. Jednoduše stisknu Enter použít výchozí nastavení.

Krok 5:Vytvoření virtuálního hostitele Apache nebo konfiguračního souboru Nginx pro Shlink

Apache

Pokud používáte webový server Apache, vytvořte virtuálního hostitele pro Shlink.

sudo nano /etc/apache2/sites-available/shlink.conf

Do souboru vložte následující text. Nahraďte lnux.be se svým skutečným názvem domény a nezapomeňte pro něj nastavit záznam DNS A.

<VirtualHost *:80>
  ServerName lnux.be
  DocumentRoot /var/www/shlink/public

  ErrorLog ${APACHE_LOG_DIR}/shlink_error.log
  CustomLog ${APACHE_LOG_DIR}/shlink_access.log combined

  <Directory /var/www/shlink/public>
    Options FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

Include /etc/apache2/conf-available/php8.0-fpm.conf

</VirtualHost>

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele pomocí:

sudo a2ensite shlink.conf

Znovu načtěte Apache, aby se změny projevily.

sudo systemctl reload apache2

Nginx

Pokud používáte webový server Nginx, vytvořte virtuálního hostitele pro Shlink.

sudo nano /etc/nginx/conf.d/shlink.conf

Do souboru vložte následující text. Nahraďte lnux.be se svým skutečným názvem domény a nezapomeňte pro něj nastavit záznam DNS A.

server {
   listen 80;
   listen [::]:80;
   server_name lnux.be;

   root /var/www/shlink/public;
   error_log /var/log/nginx/shlink.error;
   access_log /var/log/nginx/shlink.access;

   index index.php index.html index.htm index.nginx-debian.html;

   location / {
     # try to serve file directly, fallback to app.php
     try_files $uri /index.php$is_args$args;
   }

   # redirect some entire folders
     rewrite ^/(vendor|translations|build)/.* /index.php break;

   location ~ \.php$ {
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
   }

}

Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Krok 6:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu 20.04.

sudo apt install certbot

Pokud používáte Apache , nainstalujte plugin Certbot Apache.

sudo apt install python3-certbot-apache

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d lnux.be

Pokud používáte Nginx , pak musíte také nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d lnux.be

Kde

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp :Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Krok 7:Vytvoření krátkých odkazů

Nejprve musíte vytvořit klíč API pomocí následujícího příkazu.

sudo -u www-data php8.0 /var/www/shlink/bin/cli api-key:generate

Poté přejděte na https://app.shlink.io/ a přidejte svůj server.

Jakmile přidáte svůj server, můžete vytvářet krátké odkazy.

Upozorňujeme, že se jedná pouze o webového klienta. Krátké adresy URL jsou uloženy na vašem vlastním serveru.

Můžete také generovat krátké adresy URL z příkazového řádku na vašem serveru.

sudo -u www-data /var/www/shlink/bin/cli short-url:generate

Seznam krátkých adres URL.

sudo -u www-data /var/www/shlink/bin/cli short-url:list

Spuštěním následujícího příkazu zobrazíte zprávu nápovědy.

sudo -u www-data php /var/www/shlink/bin/cli

Ubuntu
  1. Jak nainstalovat MySQL na Ubuntu 18.04

  2. Jak nainstalovat Zimbru 8.6 na server Ubuntu 14.04

  3. Jak nainstalovat Shlink URL Shortener s Nginx na Ubuntu 20.04

  1. Jak nainstalovat Minecraft Server na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 20.04

  3. Jak nainstalovat MariaDB na Ubuntu 20.04

  1. Jak nainstalovat VNC Server na Ubuntu 14.04

  2. Jak nainstalovat Polr URL Shortener na Ubuntu 20.04

  3. Jak nainstalovat OpenSIPS Server na Ubuntu 15.04