Hvernig á að setja upp Shlink URL Shortener með Nginx á Ubuntu 20.04

Shlink er ókeypis, opinn uppspretta vefslóðastyttingar sem hýst er sjálfur skrifaður í PHP sem veitir bæði REST og CLI viðmót til að hafa samskipti við hann til að búa til og stjórna stuttum vefslóðum. Einn af helstu eiginleikum og vefslóða styttingu er að þú getur fylgst með öllum heimsóknum á þessar mynduðu vefslóðir eins og staðsetningu, vafra, tilvísunaraðila og margt fleira. Að auki notar opinber Shlink vefþjónn Shlink REST API og veitir notandanum valfrjálst WebUI.

Í lok handbókarinnar muntu vita hvernig á að setja upp Shlink URL Shortner á Ubuntu þjóninum þínum 20.04 LTS Focal Fossa með Nginx. Sama regla mun virka fyrir nýrri útgáfuna ubuntu 21.04 (Hirsute Hippo) þjónn.

Forkröfur

  • Mælt með stýrikerfi: ubuntu 20.04 – valfrjálst (Ubuntu 21.04 og Linux Mint 20).
  • Notendareikningur: Notendareikningur með sudo eða rót aðgang.
  • Nauðsynlegir pakkar: mariadb php7.4 eða php8.0 uppsett og stillt.
  • Viðbótarpakkar: curl wget unzip.

Athugaðu og uppfærðu Ubuntu stýrikerfið þitt.

sudo apt update && sudo apt upgrade -y

Næst skaltu setja upp nauðsynlega pakka fyrir þessa handbók:

sudo apt install curl wget unzip

Fáðu


Sækja Shlink skjalasafn

Fyrsta skrefið er að heimsækja Shlink Github síðuna og skoða nýjustu stöðugu útgáfuna. Þegar þessi handbók var birt er núverandi stöðuga útgáfa 2.7.1. Hins vegar mun þetta breytast í framtíðinni. Shlink kemur í 3 útgáfum fyrir PHP 7.4, PHP 8.0 og frumkóðann.

Til að hlaða niður Shlink, 2.7.1, skaltu framkvæma eftirfarandi skipun:

PHP 7.4:

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

PHP 8.0:

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

Heimildarkóði:

wget https://github.com/shlinkio/shlink/archive/refs/tags/v2.7.1.zip

Í leiðbeiningunum mun það fylgja PHP 7.4 niðurhalsdæminu. Næsta skref er að nota (renna niður) skipun til að draga úr skjalasafninu þínu (/var/www/html) skrá.

sudo unzip shlink2.7.1_php7.4_dist.zip -d /var/www/html

Þú ættir að endurnefna útdrættu möppuna til að gera lífið auðveldara með því að framkvæma eftirfarandi skipun:

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

Áður en haldið er áfram er ráðlagt að stilla heimildir möppunnar á (www-gögn) notandi eins og hann er stilltur sem (Root). Til að gera þetta skaltu slá inn og slá inn eftirfarandi (kóði) stjórn:

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

Búðu til nýjan MariaDB gagnagrunn og notanda fyrir Shlink

Næsta skref er að búa til nýjan gagnagrunn og sérstakan nýjan notanda með aðeins leyfi til að fá aðgang að þessum gagnagrunni. Ekki er mælt með því að nota rót eða sama notandareikning á mörgum gagnagrunnum ef einn er í hættu.

Leiðsögumaðurinn setti upp MariaDB og þekkir hugtökin hér að neðan.

Sláðu inn MariaDB / MySQL flugstöðinni með því að framkvæma rótarskipunina:

sudo mysql -u root

Næst skaltu búa til nýja gagnagrunninn fyrir Shlink með því að nota eftirfarandi flugstöðvarskipun:

CREATE DATABASE shlink;

Eftir að hafa búið til gagnagrunninn skaltu búa til nýjan notendareikning og veita honum aðgang að Shlink gagnagrunninum. Ef þú ert að hýsa Nginx, PHP og MariaDB á sama netþjóni skaltu halda (staðbundinn gestgjafi). Ef þú notar aukaþjón til að hýsa MariaDB á innri eða ytri, sláðu inn (IP tölu) í stað (staðbundinn gestgjafi).

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

Til að gera breytingar í beinni, þú þarft að skola réttindin:

FLUSH PRIVILEGES;

Til að hætta í MariaDB flugstöðinni skaltu framkvæma eftirfarandi skipun:

EXIT;

Fáðu


Settu upp PHP 7.4 nýjustu útgáfuna og viðbætur

Sem hluti af kröfunum er PHP 7.4 eða 8.0 krafist. Shlink þarf ákveðnar viðbætur til að hugbúnaðurinn geti starfað með PHP. Það er tilvalið til að tryggja að PHP sé uppfært. Mælt er með sérsniðnum PPA frá Ondrej, viðhaldsaðilanum og PHP fyrir Debian.

Hér að neðan mun leiðarvísirinn bæta við geymslunni og setja upp PHP viðbætur sem krafist er fyrir PHP 7.4. Ef þú vilt setja upp PHP 8.0 skaltu breyta 7.4 í 8.0 eða heimsækja opinbera okkar Hvernig á að setja upp PHP 8.0 á Ubuntu 20.04 kennsluefni.

Settu upp sérsniðna PHP PPA eftir ondrey:

sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y

Eftir að hafa bætt við geymslunni skaltu framkvæma eftirfarandi skipun til að uppfæra eða setja upp nýjasta PHP 7.4 hugbúnaðinn:

sudo apt install php7.4-apcu php7.4-fpm php7.4-mysql php7.4-gd php7.4-common php7.4-curl php7.4-intl php7.4-gmp php7.4-xml php7.4-json -y

Til að tryggja að PHP 7.4 sé í gangi rétt eftir uppsetningu eða uppfærslu skaltu slá inn eftirfarandi:

sudo systemctl status php7.4-fpm

Dæmi úttak:

PHP-FPM 7.4 sem keyrir á Ubuntu 20.04 settu upp Shlink

Setur upp Shlink

Nú geturðu haldið áfram að setja upp PHP Shlink uppsetningarforritið sem (www-notandi) með því að framkvæma eftirfarandi PHP skipun í Ubuntu flugstöðinni þinni:

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

Strax muntu finna að þú horfir á nýjan skjá sem biður þig um að slá inn upplýsingar um gagnagrunninn.

hvernig á að setja upp shlink með ubuntu og nginx

Gagnasafn

Í handbókinni velurðu MariaDB; Hins vegar, ef þú kýst að fara aftur og setja upp annan valfrjálsan gagnagrunnshugbúnað, geturðu vissulega gert þetta.

Eins og hér að neðan, dæmi um að búa til Shlink uppsetningu með MariaDB:

hvernig á að setja upp shlink með ubuntu og nginx

Valmöguleikarnir sem færðir voru inn í samantekt:

  • Veldu gerð gagnagrunns: 1 (MariaDB)
  • Heiti gagnagrunns: shlink
  • Gagnagrunnshöfn: 3306
  • Notandanafn gagnagrunns: shlinkuser
  • Lykilorð gagnagrunns:
  • Unix fals:

URL Shortner

Á næsta skjá finnurðu aðra síðu með valmöguleikum. Hér finnur þú sérstaka HTTP eða HTTPS, lénið og nokkra valkosti fyrir Shlink URL. Dæmi um stillingar hér að neðan:

hvernig á að setja upp shlink með ubuntu og nginx

Valmöguleikarnir sem færðir voru inn í samantekt:

  • Sjálfgefið lén fyrir myndaðar stuttar vefslóðir:
  • Veldu skema fyrir myndaðar stuttar vefslóðir: HTTPS (Notaðu HTTP ef þú notar ekki SSL)
  • Viltu staðfesta langar vefslóðir með 200 HTTP stöðukóða við svar? (Já Nei):
  • Hver er sjálfgefna lengdin sem þú vilt að myndaðir stuttkóðar hafi? (Þú munt samt geta hnekið þessu á hverri stuttri vefslóð sem búin er til): 5
  • Viltu að Shlink leysi stutta vefslóðartitilinn út frá titillagi langa vefslóðarinnar (ef einhver er)? Að öðrum kosti verður það geymt autt nema það sé sérstaklega tekið fram. (Já Nei):
  • Gefðu upp GeoLite2 leyfislykil. (Látið vera tómt til að nota sjálfgefið eintak, en það er eindregið mælt með því að fá þitt eigið. Farðu á https://shlink.io/documentation/geolite-license-key til að vita hvernig á að fá það): leyfislykill

Ef þú vilt nota GeoLite2 þarftu það búa til reikning hjá MaxMind og búa til lykil. Leiðbeiningar til að gera þetta er að finna í MaxMind GeoLite2 gögn. Þegar því er lokið skaltu skipta um og slá inn lykilinn þinn í Shlink uppsetningunni.

Í kjölfarið muntu hafa möguleika á að stilla 301 eða 302 endurbeina. Þú verður að nota 301, annars getur SEO þinn, eins og hugbúnaðurinn gefur til kynna, örugglega skaðað á ýmsan hátt.

hvernig á að setja upp shlink með ubuntu og nginx

Rekja spor einhvers

Eftir að þú hefur stillt 301 sem varanlega endurbeina, er næsta síða sem þú sérð rakning. Flestar sjálfgefna stillingar eru í lagi og ef þú ert í ESB eða ert með gesti frá ESB verður þú að nafngreina gögnin þín sem Shlink getur sem betur fer gert fyrir þig.

Dæmi um stillingar hér að neðan:

hvernig á að setja upp shlink með ubuntu og nginx

Valmöguleikarnir sem færðir voru inn í samantekt:

  • Viltu fylgjast með heimsóknum munaðarlausra? (heimsóknir á grunnslóðina, ógildar stuttar vefslóðir eða aðrar „fundnar ekki“ slóðir):
  • Gefðu upp færibreytuheiti sem þú munt geta notað til að slökkva á rakningu á tiltekinni beiðni á stuttar vefslóðir (hafðu autt og þessi eiginleiki verður ekki virkur):
  • Viltu algjörlega slökkva á rekstri heimsókna?: nr
  • Viltu slökkva á rakningu á IP-tölum gesta?: nr
  • Viltu slökkva á rekstri „notendaumboðsmanna“ gesta?:
  • Viltu að ytri IP-tölur gesta séu nafnlausar áður en þeim er haldið áfram í gagnagrunninn?:
  • Viltu slökkva á rekstri „notendaumboðsmanna“ gesta?: nei
  • Viltu slökkva á rekstri „tilvísunar“ gesta? (Já Nei): nei

Tilvísanir

Framsendingaruppsetning er frekar auðveld. Besti kosturinn er að tengja allt aftur á heimasíðuna þína fyrir allar 404 / ekki fundnar villur sem kunna að koma upp á vefsíðunni þinni. Dæmi hér að neðan:

hvernig á að setja upp shlink með ubuntu og nginx

Valmöguleikarnir sem færðir voru inn í samantekt:

  • Sérsniðin vefslóð til að beina á þegar notandi smellir á grunnslóð Shlink (Ef ekkert gildi er gefið upp mun notandinn sjá sjálfgefna „404 fannst ekki“ síðu): https://www.example.com
  • Sérsniðin vefslóð til að beina á þegar notandi smellir á ógilda stutta vefslóð (Ef ekkert gildi er gefið upp mun notandinn sjá sjálfgefna „404 fannst ekki“ síðu): https://www.example.com
  • Sérsniðin vefslóð til að beina á þegar notandi smellir á vefslóð sem ekki fannst önnur en ógilda stutta vefslóð (Ef ekkert gildi er gefið upp mun notandinn sjá sjálfgefna „404 fannst ekki“ síðu): https://www.example.com

Umsókn

Í forritavalkostunum geturðu virkjað öryggisathugun, sem gerir nú kleift að eyða stuttum vefslóðum eftir ákveðinn fjölda heimsókna, ásamt því að stilla slóðina sem Shlink verður þjónað af ef ekki rótarslóðina:

hvernig á að setja upp shlink með ubuntu og nginx

Valmöguleikarnir sem færðir voru inn í samantekt:

  • Viltu virkja öryggisathugun sem leyfir ekki að stuttum vefslóðum sé eytt eftir að hafa fengið tiltekið magn heimsókna?:
  • Hvert er fjöldi heimsókna sem kerfið leyfir ekki að eyða stuttum vefslóðum úr?: 15
  • Hver er leiðin sem shlink er að fara að þjóna? (Láttu autt ef þú ætlar að þjóna shlink frá rót lénsins):

Athugaðu, þú getur breytt 15 í eitthvað stærra eða minna, allt eftir síðunni þinni, aðallega í kringum umferð.

Samþættingar

Shlink hefur aðeins eina samþættingu: Redis, sem þú getur stillt hér að neðan í einu eða klasatilviki. Mælt er með því að nota einn netþjón fyrir Redis þar til þú ert mjög kunnugur Redis þyrpingunni, sundrun og afritun þar sem það er nokkuð ítarlegt og meðallítil og meðalstór vefsíða ætti ekki að þurfa þetta nema fá mikla umferðarálag.

hvernig á að setja upp shlink með ubuntu og nginx

Í handbókinni skildum við það eftir autt, en ef þú ættir að nota það á localhost skaltu slá inn 127.0.1.1:6379.

Til hamingju, þú hefur sett upp Shlink á Ubuntu 20.04.

hvernig á að setja upp shlink með ubuntu og nginx

Fáðu


Nginx Server Block Dæmi

Til að nota Shlink með Nginx þarftu að stilla netþjónablokkina þína. Þú getur gert þetta með því að afrita og líma eftirfarandi stillingar með því að breyta henni til að henta þínum þörfum með HTTPS eða ekki:

server {
   listen 80;
   listen [::]:80;
   server_name www.linuxcapable.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;

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

}

Áður en þú endurræsir Nginx netþjóninn þinn skaltu gera þurrhlaup með því að slá inn eftirfarandi kóða:

sudo nginx -t

Þú ættir að fá eftirfarandi framleiðsla:

nginx: the configuration file /etc/nginx/my-server.conf syntax is ok
nginx: configuration file /etc/nginx/my-server.conf test is successful

Ef allt er í lagi skaltu endurræsa Nginx netþjóninn þinn eins og hér að neðan:

sudo systemctl restart nginx

Búðu til stutta hlekki

Til að búa til stutta tengla með Shlink þarftu fyrst að búa til API lykil með því að framkvæma PHP skipunina:

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

Þegar þú hefur API lykilinn þinn þarftu að heimsækja Shlink.io til að skrá netþjóninn þinn.

hvernig á að setja upp shlink með ubuntu og nginx

Sláðu inn nafn þjónsins, vefslóð þjónsins og API lykilinn eins og dæmið hér að neðan:

hvernig á að setja upp shlink með ubuntu og nginx

Nú geturðu bætt við stuttum tenglum með Shlink's WebUI ef þú vilt. Mundu að þetta er geymt á þjóninum þínum:

hvernig á að setja upp shlink með ubuntu og nginx

Algengasta valkosturinn er að nota flugstöðvarskipanirnar til að búa til stuttar vefslóðir.

Til að gera þetta skaltu framkvæma eftirfarandi skipun:

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

Til að skrá stuttar vefslóðir sem eru búnar til með því að nota eftirfarandi skipun:

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

Til að leita aðstoðar skaltu keyra eftirfarandi skipun:

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

Dæmi úttak:

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  help                Displays help for a command
  list                Lists commands
 api-key
  api-key:disable     Disables an API key.
  api-key:generate    Generates a new valid API key.
  api-key:list        Lists all the available API keys.
 db
  db:create           Creates the database needed for shlink to work. It will do nothing if the database already exists
  db:migrate          Runs database migrations, which will ensure the shlink database is up to date.
 short-url
  short-url:delete    Deletes a short URL
  short-url:generate  Generates a short URL for provided long URL and returns it
  short-url:list      List all short URLs
  short-url:parse     Returns the long URL behind a short code
  short-url:visits    Returns the detailed visits information for provided short code
 tag
  tag:create          Creates one or more tags.
  tag:delete          Deletes one or more tags.
  tag:list            Lists existing tags.
  tag:rename          Renames one existing tag.
 visit
  visit:locate        Resolves visits origin locations.

Fáðu


Athugasemdir og niðurstaða

Þú hefur lært hvernig á að setja upp Shlink á Ubuntu 20.04 með því að hlaða niður skjalasafninu, draga út, setja upp gagnagrunn og notanda með MariaDB, keyra í gegnum Shlink uppsetningarforritið, búa til eða breyta Nginx netþjónablokk og að lokum, læra hvernig á að búa til stuttar vefslóðir í þessari kennslu. .

Á heildina litið er Shlink líklega einn af betri vefslóðarmöguleikum eins og er og ætti að íhuga ef þú vilt halda stuttum vefslóðum á þínu eigin léni og stjórna. Fyrir frekari upplýsingar, heimsækja opinber skjöl frá Shlink.

Ef þú hefur spurningar skaltu ekki hika við að skilja eftir athugasemd hér að neðan.

Gerast áskrifandi
Tilkynna um
0 Comments
Inline endurgjöf
Skoða allar athugasemdir
0
Vilt elska hugsanir þínar, vinsamlegast skrifaðu athugasemdir.x