Hoe u uw eigen lokale Premium URL-verkortingsservice kunt maken

U zult enkele zeer lange URL's (Uniform Resource Locators) op het internet tegenkomen. Veel sites plaatsen informatie over uw bezoek in de URL: items zoals taal, locatie, identificatie, referentiecodes voor specials en vele andere items. Dit zorgt voor zeer lange URL's.

Premium URL-verkorter op CodeCanyon

Premium URL-verkleiner op Code Canyon is een manier om lange URL's korter te maken. In deze zelfstudie laat ik u zien hoe u uw eigen URL-verkorter op uw systeem instelt en hoe u deze kunt gebruiken.

Wat is een URL-verkorter?

U gebruikt een URL wanneer u op internet surft. Het identificeert de specifieke webpagina en inhoud. Omdat deze vaak parameters voor een formulier of een zoekmachine bevatten, kunnen deze URL's behoorlijk groot worden.

https://tutsplus.com/tutorials/search/How%20to%20Draw%20Animals:%20Horses,%20Their%20Anatomy%20and%20Poses

Deze URL is voor het zoeken op de Tuts + -website voor de reeks "Hoe dieren tekenen: Paarden, hun anatomie en poses". Deze string is 74 tekens lang. Ik heb URL's gezien die meer dan 200 tekens lang zijn.

http://bit.ly/2oO8BqO

Wanneer u een URL-verkortingsservice gebruikt, zoals bit.ly, je krijgt een veel kortere URL. Dezelfde URL is nu 15 tekens lang. Wanneer iemand deze link doorbladert, verwijst de bit.ly-server de browser om naar de volledige URL. De extra lookup op een andere URL vertraagt ​​de laadtijd van de site, maar niet veel.

Docker installeren

De eenvoudigste manier om een ​​lokale server te maken, is door een gevirtualiseerde omgeving te gebruiken. Maar het uitvoeren van een volledige systeemvirtualisator is zeer arbeidsintensief. Docker is een minimale virtualizer voor terminal-gebaseerde systemen. U kunt een Docker-container (een kleine Unix-server) uitvoeren met minder systeembronnen.

Om containers op uw systeem uit te voeren, moet u installeren havenarbeider. Selecteer de juiste download voor uw besturingssysteem vanaf de havenarbeider website.

Met Docker geïnstalleerd, moet u uw systeem voorbereiden om te zoeken naar de webservice die u gaat maken. Om dit te doen, moet u een systeembestand wijzigen. In de / Etc / hosts bestand voor Linux- of macOS-systemen en in de c: \ Windows \ System32 \ drivers \ etc \ lmhosts bestand voor een Windows-systeem, plaats deze verklaring:

127.0.0.1 s.dev

Deze wijziging zal alle verwijzingen naar maken http://s.dev ga naar het lokale systeem. Dit wordt gedaan om de service een juiste hostnaam te geven voordat u deze probeert te configureren.

Om uw ontwikkelgebied te creëren, maakt u een map en plaatst u de Premium URL-verkleiner zip-bestand erin en vouw het uit. U zou dan deze directorystructuur moeten hebben:

Directorystructuur

Dit is de documentatie bij het bestand main.zip. Vouw dit bestand ook uit. Zodra je het hebt uitgebreid, zou je deze mapstructuur moeten hebben:

Directorystructuur met code

De main.zip bestand bevat alle broncodebestanden en bronnen voor de service. Dit is de map die u aan de Docker-instantie toevoegt.

Nu moet je de Docker LAMP-stack van fauria krijgen. Voer met Docker het volgende in een terminal in:

koppelaar fauria / lamp trekken

Hiermee wordt de stapel Fauria LAMP (Linux, Apache, MySQL en PHP) gedownload naar uw Docker-installatie. Eenmaal gedownload, kunt u de container maken met:

docker-run --rm --name linkshort -p 80:80 -e LOG \ _STDOUT = true -e LOG \ _STDERR = true -e LOG \ _LEVEL = debug -v brondirectory service: / var / www / html fauria / lamp 

Vervang de service brondirectory met het volledige pad naar de map die alle bronbestanden en bronnen bevat. Met deze opdracht wordt een container met de naam gemaakt linkshort dat werkt op poort 80 en geeft alle fout- en logberichten weer om standaard uit te komen.

Op dit moment verliest u elke keer dat u stopt en de container opnieuw start, al uw informatie. U moet de database-informatie verplaatsen naar uw broncodemap om deze bij elke herstart te behouden. Voer deze opdrachten in een terminalvenster uit:

docker exec -i -t linkshort bash mkdir / var / www / html / data cp-R / var / lib / MySQL / * / var / www / html / data exit

Het eerste commando opent een bash-shell voor de container. Het tweede commando maakt de map aan gegevens in uw broncodemap. De container ziet de broncodemap als de / Var / www / html directory. Het derde commando kopieert de database-informatie naar die map. De Uitgang commando haalt u uit de container. 

Stop nu de container met behulp van:

docker stop linkshort

U zult dit commando gebruiken elke keer dat u de container wilt stoppen.

Om nu de container opnieuw te starten met behulp van de juiste gegevensdirectory, gebruikt u deze opdracht:

docker-run --rm --name linkshort -p 80:80 -e LOG \ _STDOUT = true -e LOG \ _STDERR = true -e LOG \ _LEVEL = debug -v brondirectory service: / var / www / html -v service source directory / data: / var / lib / mysql fauria / lamp

Deze keer hebt u de container met de MarianDB-server gemaakt met behulp van de databasegegevens die nu op uw computer zijn opgeslagen. Dit is het commando dat u zult gebruiken om de service te starten. Ik gebruik de toetsenbord-uitbreiding Typinator om dit voor mij te typen.

Nu moet de database voor de URL-verkorter worden gemaakt. U moet ook een schaal openen in de container. Typ in een nieuw terminal-exemplaar de volgende opdracht:

koppelaar exec -i -t linkshort bash

Met deze opdracht wordt de bash-shell in de container gemaakt. Als u iets in de container moet aanpassen, is dit het commando dat u gaat gebruiken. Open vervolgens een opdrachtshell in het MarianDB-programma:

mysql -u root

U kunt nu databases maken in MarianDB en machtigingen verlenen aan de webserver om deze te openen:

maak database urlshort aan; maak gebruiker 'www-data' @ 'localhost' geïdentificeerd door 'password'; verleen alles op urlshort. \ * aan 'www-data' @ 'localhost'; stoppen;

De wachtwoord moet worden ingesteld op het wachtwoord dat u aan de gebruiker van de database wilt geven. Onthoud dit zoals u het zult gebruiken om de service te configureren.

Open de webbrowser met de service die in de container wordt uitgevoerd http://s.dev.

Vereisten Check pagina

Als je de configuratie hebt gedaan, zou je deze pagina moeten zien. Deze pagina toont de vereisten voor de URL-verkortingsservice en de status van uw installatie. Door de fauria-container in Docker te gebruiken, heb je al alle afhankelijkheden bereikt. Klik op de blauwe knop onderaan de pagina.

Databaseconfiguratiepagina

De volgende pagina die wordt getoond, is de maker van het configuratiebestand voor de service. Op deze pagina kunt u het programma de naam en het wachtwoord geven voor de database die u eerder hebt gemaakt.

Details van databaseconfiguratiepagina

U moet deze velden invullen zoals hierboven weergegeven. De Databasehost is de lokale host voor de container. De Database naam is urlshort, die je in de setup hebt gemaakt. De Database gebruiker is www-data, en het wachtwoord is het wachtwoord dat u hebt toegewezen in de initiële database-instelling. De Databasevoorvoegsel is de beginnaam voor elke database die voor de service is gemaakt. ik gebruikte short_. Het installatieprogramma stelt de Veiligheidssleutel. Bewaar een kopie van de gegeven sleutel voor toekomstig gebruik.

Als u dit op een Virtual Private Server (VPS) zou installeren, zouden deze waarden volgens die service zijn. Sommige zullen hetzelfde zijn en sommige zullen veranderen.

Druk op de blauwe knop onder aan de pagina om naar stap 3 te gaan met de juiste informatie op zijn plaats.

Basisconfiguratiepagina

De Basisconfiguratie scherm stelt u in staat om de admin-gebruikersnaam, e-mailadres en wachtwoord in te stellen. Stel deze in op de waarden die voor u van belang zijn. De Site-URL moet worden ingesteld op http://s.dev zoals je bent ingesteld in je hosts bestand eerder. Na het instellen drukt u op de blauwe knop onder aan het scherm.

Installatie voltooid pagina

Het volgende scherm vertelt u dat de service nu is ingesteld. Druk op de blauwe knop die zegt Verwijder install.php. Dit is een beveiligingsfunctie voor gebruik op een echte webserver, maar is niet nodig voor een lokale installatie. De installatie zal echter pas eindigen als u klaar bent.

Premium URL-verkorter voorpagina

Gefeliciteerd, de service is functioneel! Je zou het bovenstaande scherm moeten zien. Als u een lange URL in het invoerveld met de naam geeft Plak een lange URL en druk vervolgens op de blauwe knop Verkorten, u krijgt een verkorte URL te gebruiken. De URL staat ook in de database voor toekomstig gebruik. Deze functie is een goede bladwijzer.

De API gebruiken

Nu uw URL-verkortingsservice actief is, wilt u er goed gebruik van maken. Maar altijd zal het openen van een webpagina, zelfs een lokale, u vertragen. Je moet het sneller maken. Dat is waar het gebruik van de API (Application Programming Interface) nuttig is. U kunt de volledige documentatie voor de API raadplegen.

Open de pagina met de service actief http://s.dev/user/settings.

Pagina met accountinstellingen

U moet inloggen op uw account om deze pagina te bekijken. Rechtsonder in de zijbalk ziet u Uw API-sleutel: met een alfanumeriek nummer. Kopieer dat nummer en sla het op. Dit nummer geeft toegang tot de API.

Als u gebruik wilt maken van de API, kunt u een Robijn programma om toegang te krijgen. Op macOS en Linux is Ruby meestal vooraf geïnstalleerd. In Windows moet u het installeren.

Het minimale programma in Ruby voor het maken van een korte link is:

vereist 'net / http' vereist 'json' API = 'YourAPIKey' short = JSON.parse (Net :: HTTP.get ('s.dev', '/ api? api =' + API + '& url =' + ARGV [0])) indien kort ["fout"] == 0 druk dan kort af ["kort"] anders print "Er is een fout opgetreden:" print short ["error"] print "\ n" einde

Sla het script op in een bestand met de naam shortener.rb, vervangen YourAPIKey met de API-sleutel die u eerder hebt gekopieerd en voer het volgende uit in de opdrachtregel:

ruby shortener.rb 'google.com'

U zou een verkorte link voor die URL moeten krijgen. Hiermee worden de verkorte URL's gemaakt, maar dit is nog steeds niet handig.

Een PopClip-extensie maken

Op de Mac, PopClip is een geweldig klein programma voor het verwerken van gemarkeerde tekst. Om het maken van de verkorte koppelingen gemakkelijker te maken, maakt u een PopClip-extensie. Ik ga niet alles uitleggen over het maken van een extensie, maar je kunt wel lezen over de werking ervan in mijn zelfstudie PopClip: scriptingextensies.

Maak een PopClip-extensie genaamd PremiumURLShortener.popclipext. Gebruik het volgende voor de Config.plist bestand in de extensiemap:

    acties   Na pasta-resultaat Beeldbestand PremiumURLShortener.png Script-tolk / Usr / bin / ruby Shell-scriptbestand PremiumURLShortener.rb Titel shortener   opties   Optie-ID API sleutel Optie Type draad Optie label API sleutel:    credits   Naam Richard Guay Link http://customct.com   Extensiebeschrijving Maak verkorte URL's lokaal met PremiumURLShortener Extension Identifier com.customct.popclip.extension.premiumurlshortener Extensienaam shortener Vereiste softwareversie 701   

Maak vervolgens het scriptbestand voor de opgeroepen extensie PremiumURLShortener.rb en plaats deze code erin:

#! / usr / bin / ruby ​​vereisen 'net / http' vereisen 'json' Encoding.default_internal = Codering :: UTF_8 Encoding.default_external = Codering :: UTF_8 input = ENV ['POPCLIP_TEXT']. to_s.strip () API = ENV ['POPCLIP_OPTION_APIKEY']. To_s.strip () short = JSON.parse (Net :: HTTP.get ('s.dev', '/ api? Api =' + API + '& url =' + input)) if kort ["fout"] == 0 druk dan kort af ["kort"] anders print "Er is een fout opgetreden:" print short ["error"] print "\ n" einde 

Wanneer u de nieuwe extensie laadt, wordt om de API-sleutel gevraagd. Zodra u het de API-sleutel geeft en drukt op oke, het is bruikbaar in PopClip.

Een URL verkorten met PopClip

Wanneer u een koppeling selecteert, wordt PopClip geopend met een lijst met opties. U selecteert vervolgens de shortener keuze. Het zal een tijdje denken en dan de juiste verkorte URL plakken. De volledige extensie staat in de download voor deze zelfstudie. Nu bent u klaar om nog veel meer te doen!

Conclusie

U hebt niet alleen een persoonlijke URL-verkorter, u weet ook hoe u Docker kunt gebruiken voor het uitvoeren van lokale containers, een eenvoudige manier om URL's bij te houden die u gebruikt en een manier om de verkorte koppelingen te maken. 

U kunt het Ruby-script gebruiken met Alfred 3 of Keyboard Maestro ook. Veel plezier met het gebruiken van uw nieuwe dienst en experimenteren met zijn andere functies.