GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Shlink URL Shortener s Nginx na Ubuntu 20.04

Shlink je open-source a samostatně hostovaný zkracovač adres URL napsaný v PHP. Používá se ke generování a správě krátkých URL z příkazového řádku. Umožňuje vám sledovat všechny návštěvy vašich krátkých adres URL, včetně umístění, prohlížeče nebo odkazujícího zdroje. Může být integrován s nástroji třetích stran pomocí Shlink API. Poskytuje rozhraní příkazového řádku pro zkrácení URL.

V tomto tutoriálu vám ukážu, jak nainstalovat Shlink na Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve aktualizujte systémové balíčky na aktualizovanou verzi spuštěním následujícího příkazu:

apt-get update -y

Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.

Instalovat LEMP Server

Nejprve nainstalujte Nginx, PHP, MariaDB a další požadované balíčky pomocí následujícího příkazu:

apt-get install nginx mariadb-server php-apcu php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-common php7.4-curl php7.4-intl php7.4 -gmp php7.4-xml php-dev php-pear unzip -y

Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.

Shlink používá MariaDB jako backend databáze. Takže budete muset vytvořit databázi a uživatele pro Shlink. Nejprve se připojte k MariaDB pomocí následujícího příkazu:

mysql

Po připojení vytvořte databázi a uživatele pomocí následujícího příkazu:

MariaDB [(none)]> VYTVOŘIT DATABÁZI shlink;
MariaDB [(none)]> UDĚLEJTE VŠE NA shlink.* PRO 'shlink'@'localhost' IDENTIFIKOVANÉ PODLE 'hesla';

Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:

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

Nejprve si stáhněte nejnovější verzi Shlink z jejich oficiální stránky pro stahování:

wget https://github.com/shlinkio/shlink/releases/download/v2.7.1/shlink2.7.1_php7.4_dist.zip

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

unzip shlink2.7.1_php7.4_dist.zip

Dále přesuňte extrahovaný adresář do kořenového webového adresáře Nginx:

mv shlink2.7.1_php7.4_dist /var/www/html/shlink

Dále nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:

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

Dále spusťte následující příkaz pro spuštění instalace:

sudo -u www-data php7.4 /var/www/html/shlink/bin/install

Budete požádáni o výběr databáze, jak je uvedeno níže:

 Vítejte ve Shlink!! Tento nástroj vás provede procesem instalace.DATABASE========Vyberte typ databáze [MySQL]:[0] MySQL [1] MariaDB [2] PostgreSQL [3] MicrosoftSQL [4] SQLite> 1 

Vyberte libovolnou možnost a stiskněte Enter. Budete požádáni o zadání názvu databáze, jak je uvedeno níže:

 Název databáze [shlink]:> 

Zadejte název databáze nebo stiskněte Enter a vyberte výchozí. Budete požádáni o zadání hostitele databáze:

 Hostitel databáze [localhost]:> 

Zadejte hostitele databáze nebo stiskněte klávesu Enter a vyberte výchozí. Budete požádáni o zadání databázového portu:

 Port databáze [3306]:> 

Zadejte svůj databázový port nebo stiskněte Enter a vyberte výchozí. Budete požádáni o zadání uživatelského jména databáze:

 Uživatelské jméno databáze:> shlink

Zadejte své uživatelské jméno databáze a stiskněte Enter. Budete požádáni o zadání hesla uživatele databáze:

 Heslo databáze:> heslo

Zadejte heslo uživatele databáze a stiskněte Enter. Budete požádáni o poskytnutí Unixového socketu.

 Unixový socket (nechejte prázdné, pokud nechcete použít socket):> 

Nechte pole prázdné a stiskněte Enter. Budete požádáni o zadání názvu domény:

URL SHORTENER=============Výchozí doména pro generované krátké adresy URL:> shlink.linuxbuz.com

Zadejte název své domény a stiskněte Enter. Budete požádáni o výběr schématu:

 Vyberte schéma pro generované krátké adresy URL [http]:[0] http [1] https> 0

Vyberte možnost a stiskněte Enter. Budete požádáni o ověření dlouhých URL:

 Chcete ověřit dlouhé adresy URL 200 stavovým kódem HTTP v odpovědi? (ano/ne) [ano]:> 

Vyberte výchozí možnost a stiskněte Enter. Budete požádáni o zadání délky vygenerovaných krátkých kódů:

 Jaká je výchozí délka, kterou mají mít vygenerované krátké kódy? (Stále to budete moci přepsat u každé vytvořené krátké adresy URL) [5]:> 

Vyberte výchozí hodnotu a stiskněte Enter. Měli byste vidět následující výstup:

 Chcete, aby Shlink přeložil název krátké adresy URL na základě značky názvu dlouhé adresy URL (pokud existuje)? V opačném případě zůstane prázdný, pokud to není výslovně uvedeno. (ano/ne) [ne]:> 

Vyberte výchozí odpověď a stiskněte Enter. Měli byste vidět následující výstup:

 Poskytněte licenční klíč GeoLite2. (Chcete-li použít výchozí, ponechte prázdné, ale důrazně doporučujeme pořídit si vlastní. Jak jej získat, přejděte na https://shlink.io/documentation/geolite-license-key):> 

Nechte pole prázdné a stiskněte Enter. Měli byste vidět následující výstup:

 Jaký druh přesměrování chcete, aby vaše krátké adresy URL měly? [Všechny návštěvy budou vždy sledovány. To není dobré pro SEO.]:[302] Všechny návštěvy budou vždy sledovány. Není to dobré pro SEO. [301] Nejlepší volba pro SEO. Přesměrování bude na krátkou dobu uloženo do mezipaměti, takže některé návštěvy nebudou sledovány.> 301

Vyberte libovolnou možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Jak dlouho (v sekundách) chcete, aby návštěvníci ukládali vaše přesměrování do mezipaměti? [30]:> 

Vyberte výchozí hodnoty a stiskněte Enter. Měli byste vidět následující výstup:

SLEDOVÁNÍ========Chcete sledovat osiřelé návštěvy? (návštěvy základní adresy URL, neplatné krátké adresy URL nebo jiné „nenalezené“ adresy URL) (ano/ne) [ano]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Zadejte název parametru, který budete moci použít k deaktivaci sledování na konkrétní požadavek na krátké adresy URL (nechte prázdné a tato funkce nebude povolena):> 

Stačí stisknout Enter. Měli byste vidět následující výstup:

 Chcete úplně zakázat sledování návštěv? (ano/ne) [ne]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Chcete zakázat sledování IP adres návštěvníků? (ano/ne) [ne]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Chcete, aby byly vzdálené IP adresy návštěvníků před uložením do databáze anonymizovány? (ano/ne) [ano]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Chcete zakázat sledování uživatelských agentů návštěvníků? (ano/ne) [ne]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Chcete zakázat sledování "odkazujících" návštěvníků? (ano/ne) [ne]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

PŘESMĚROVÁNÍ=========Vlastní URL pro přesměrování, když uživatel narazí na základní URL Shlinku (Pokud není zadána žádná hodnota, uživateli se zobrazí výchozí stránka „404 nenalezeno“):> http:/ /shlink.linuxbuz.com

Zadejte název své domény a stiskněte Enter. Měli byste vidět následující výstup:

 Vlastní adresa URL pro přesměrování, když uživatel narazí na neplatnou krátkou adresu URL (Pokud nezadáte žádnou hodnotu, zobrazí se uživateli výchozí stránka „404 nenalezeno“):> http://shlink.linuxbuz.com

Zadejte název své domény a stiskněte Enter. Měli byste vidět následující výstup:

 Vlastní adresa URL, na kterou se má uživatel přesměrovat, když uživatel narazí na jinou než neplatnou krátkou adresu URL, která není nalezena (pokud není zadána žádná hodnota, zobrazí se uživateli výchozí stránka „404 nenalezeno“):> http://shlink. linuxbuz.com

Zadejte název své domény a stiskněte Enter. Měli byste vidět následující výstup:

APPLICATION===========Chcete povolit bezpečnostní kontrolu, která neumožní smazání krátkých adres URL po určitém počtu návštěv? (ano/ne) [ano]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Jaký je počet návštěv, ze kterých systém nedovolí smazat krátké adresy URL? [15]:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

 Jaká je cesta, ze které bude shlink obsluhován? (Pokud plánujete poskytovat shlink z kořenového adresáře domény, ponechte prázdné) []:> 

Vyberte výchozí možnost a stiskněte Enter. Měli byste vidět následující výstup:

INTEGRATIONS============Poskytněte čárkami oddělený seznam URI serverů redis, který bude použit pro účely sdíleného ukládání do mezipaměti v kontextu shlink s více instancemi (Pokud nechcete, ponechte prázdné použijte mezipaměť redis):> Vlastní konfigurace správně vygenerována! Inicializace databáze... Úspěch! Aktualizace databáze... Úspěch! Generování proxy... Úspěch! Stahování souboru GeoLite2 db... Úspěch! [OK] Instalace dokončena! 

Dále budete muset vytvořit soubor virtuálního hostitele Nginx pro Shlink. Můžete jej vytvořit pomocí následujícího příkazu:

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

Přidejte následující řádky:

server { poslouchat 80; název_serveru shlink.example.com; root /var/www/html/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; umístění / { # pokusit se obsloužit soubor přímo, návrat k app.php try_files $uri /index.php$is_args$args; } # přesměrovat některé celé složky přepsat ^/(vendor|translations|build)/.* /index.php break; umístění ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout fastcgi_params; }}

Uložte a zavřete soubor a poté pomocí následujícího příkazu ověřte, zda Nginx neobsahuje nějakou chybu:

nginx -t

Měli byste získat následující výstup:

nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšný

Poté restartujte službu Nginx, aby se změny aplikovaly:

systemctl restart nginx

Stav Nginx můžete také ověřit pomocí následujícího příkazu:

stav systemctl nginx

Měli byste získat následující výstup:

? nginx.service – vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běžící) od středy 2021-06-02 05 :28:30 UTC; před 4 s Dokumenty:man:nginx(8) Proces:25639 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (kód=ukončeno, stav=0/ÚSPĚCH) Proces:25653 ExecStart=/usr/sbin/nginx -g démon zapnut; master_process on; (code=exited, status=0/SUCCESS) Hlavní PID:25655 (nginx) Úkoly:2 (limit:2353) Paměť:2,6M CGroup:/system.slice/nginx.service ??25655 nginx:hlavní proces /usr/ sbin/nginx -g démon zapnutý; master_process on; ??25656 nginx:worker processJun 02 05:28:29 ubuntu2004 systemd[1]:Spuštění vysoce výkonného webového serveru a reverzního proxy serveru...Jun 02 05:28:30 ubuntu2004 systemd[1]:Started A high performance webový server a reverzní proxy server.

Nyní můžete nainstalovat nastaveného klienta Shlink pro zkrácení adresy URL.

Krátkou adresu URL můžete také vygenerovat na svém serveru z příkazového řádku:

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli short-url:generate

Chcete-li vypsat všechny krátké adresy URL, spusťte následující příkaz:

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli short-url:list

Chcete-li zobrazit jakékoli informace nápovědy, spusťte následující příkaz:

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli

Závěr

Gratulujeme! úspěšně jste nainstalovali Shlink URL shortener na Ubuntu 20.04. Nyní můžete zkrátit URL pomocí rozhraní CLI nebo webového klienta.


Ubuntu
  1. Jak nainstalovat WordPress s Nginx na Ubuntu 18.04

  2. Jak nainstalovat phpMyAdmin s Nginx na Ubuntu 18.04

  3. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  1. Jak nainstalovat Grav CMS s Nginx na Ubuntu 16.04

  2. Jak nainstalovat SuiteCRM s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  1. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Piwik s Nginx na Ubuntu 15.10