YOURLS – URLs selber verkürzen

Vielleicht kennst du das, du bist im Internet unterwegs und siehst sehr kryptische Link’s wie z.B. ckx.li/123. Eigentlich sind diese Link’s ja immer URL’s die mehr Aussagekraft haben wie etwa christopherkx.de/2016/11/yourls.

Beide Link’s enden auf genau der gleichen Webseite im Internet, auf dieser hier. Wie das Funktion erkläre ich dir hier ausführlich.

Yourls als Alternative zu Bitly

Als URL Verkürzungstool kennst du wahrscheinlich schon Bitly. Dieser Dienst macht das gleich wie Yourls, nur Yourls ist ein selbst gehostetes Tool. Alle Daten bleiben also auf deinem Server und unter deiner Gewalt.

Früher nutzte ich auch Bitly. Bis dann einen Affiliate Affäre aufkam. Hier ist es anscheinend dazu gekommen das die Weiterleitung kurz noch über einen Affilate Link geschickt wurde und Bitly so ganz gut verdient hat. Auf diese Meldung hin habe ich mich entschieden mich nach einer selbst gehosteten alternative umzuschauen.

Gefunden habe ich Yourls und genau das setze ich jetzt auch schon länger ein.

Was bedeutet Yourls?

Der Name Yourls setzt sich aus zwei Worten zusammen, your und urls. Was soviel heißt wie deine URLs. Ok das ist meine eigene Abkürzung dafür, denn eigentlich ist die vollständige Schreibweise Your Own URL Shortener, also „Dein eigener URL kürzer“.

Der Name ist auch Programm. Alle URLs die gekürzt werden bleiben in deiner Gewalt und du kannst damit tun was du möchtest.

Das ist schon einmal ein großer Unterschied zu Bitly. Einmal gekürzte URLs können hier nicht noch einmal bearbeitet werden. Dadurch kann es vorkommen das die kurzen Link’s ins Leere laufen.

Die Vor- und Nachteile von selbstgehosteten Diensten

Du solltest dir immer im Klaren sein was die Vor- und Nachteile von Diensten sind und ob es sich für dich lohnt sie selber zu managen.

Ich fange direkt einmal mit dem Nachteil an. Denn so kannst du direkt entscheiden ob du weiter lesen möchtest.

Der größte Nachteil an selbst gehosteten Dienst ist, dass du dafür verantwortlich bist. Wenn etwas schief läuft bist musst du dafür sorgen das alles wieder in den richtigen Bahnen läuft. Wenn du etwas falsch machst könnten auch auf einmal alle deine Daten weg sein. Wenn du das nicht scheust und dir dessen bewusst bist solltest du weiter lesen.

Denn ich finde die Vorteile, dass die (Roh-)Daten bei dir liegen, sind einfach der ausschlaggebende Punkt. So kann es nicht vorkommen das du dich auf einen Dienst verlässt den es vielleicht in ein paar Jahren nicht mehr gibt. Denn dann musst du schauen ob und wie du wieder an deinen Daten kommst und diese in etwas Neues integrierst.

Ebenfalls ist das ganze vom Datenschutz her auch auf der sicheren Seite. Du kannst genaue Aussagen dazu geben wo die Daten liegen und was damit passiert.

Wie installiere ich Yourls?

Die einfachste Möglichkeit Yourls zu installieren wäre, das es dein Hoster als One-Klick-Installation anbietet. Da das aber nicht der Normalfall ist zeige ich dir wie das ganze manuell funktioniert.

Als erstes musst du dir die aktuelle Version von Yourls herunterladen. Hier findest du die aktuellsten Version.

Bei GitHub findest du immer die aktuellste Version von Yourls
Bei GitHub findest du immer die aktuellste Version von Yourls

Wenn du alles entpackt hast musst du noch etwas hand anlegen damit das ganze dann auch richtig läuft.

  1. gesonderten Ordner anlegen
  2. Datenbank anlegen
  3. Sub-/Domain anlegen und verknüpfen
  4. Config Datei erstellen
  5. alles hochladen

Zu 1. Yourls muss in einem eigenen Ordner ungebraucht sein. Eine direkte Installation in deine WordPress Installation oder ähnliches funktioniert nicht. Das liegt daran, dass Yourls eine eigene .htacess Datei benötigt.

Zu 2. Du muss manuell in deinem Hosting-Paket eine mySQL Datenbank anlegen. Hier benötigst du dann den Datenbank-Namen, den Benutzernamen sowie das eingerichtete Passwort. Diese Daten kannst du dir direkt bei der Erstellung in eine Texteditor oder ähnliches kopieren.

Zu 3. Wie sollen deine verkürzten URLs aussehen? Eine wirklich kurze Domain, eine Subdomain oder doch lieber die normale Domain mit einem kleinen Zusatz?

Diese Frage sollte schon beantwortet sein. Wenn nicht kannst du mit dem Dienst Domainr.com probieren etwas schickes kurzes für dich zu finden. Eine Subdomain kannst du dir wiederum einfach im Backend deines Hosting-Paketes einrichten. Bei der letzten Version, kleiner Zusatz an der Domain, das ganze könnte dann so deineBlogDomain.Blog/s/ aussehen, solltest du schon beim anlegen des Unterordners daran denken.

Die Subdomain und Unterordner wären die günstigsten Möglichkeiten. Aber ja nach aktueller Domain wahrscheinlich nicht die kürzesten.

Zu 4. Dieser Schritt ist wahrscheinlich der schwierigste im kompletten Vorgang. Denn hier musst du eine Konfigurations-Datei erstellen und bearbeiten.

Im Unterordner User findest du die Datei config-sample.php. Diese duplizierst du einfach und benennst sie dann config.php. Zur Bearbeitung dieser Datei kannst du an sich jeden Editor hernehmen, ich empfehle dir da aber eher den kostenlosen Atom Editor von GitHub. Wenn du dann vielleicht etwas mehr mit Atom machen möchtest schau dir einmal den Beitrag bei Elmastudio an, hier geht es um nützlichen Erweiterungen für diesen Editor.

Kommen wir zum eingemachten. Was muss jetzt wie eingeben werden? An sich ist in der Konfigurations-Datei schon alles gut beschrieben, aber ich überführe es auch gern noch ins deutsche.

Diese Felder musst den Daten ausfüllen die unter 2. erstellt und kopiert hast.

/** MySQL database username */
 define( 'YOURLS_DB_USER', 'your db user name' );

Hier gehört dein Benutzername eingetragen.

/** MySQL database password */
 define( 'YOURLS_DB_PASS', 'your db password' );

Das Passwort findet hier seinen Platz.

/** The name of the database for YOURLS */
define( 'YOURLS_DB_NAME', 'yourls' );

Wie heist die Datenbank die angelegt hast? Der Name einer Datenbank muss sich dann hier wiederfinden.

/** MySQL hostname.** If using a non standard port, specify it like 'hostname:port', eg. 'localhost:9999' or '127.0.0.1:666' */
define( 'YOURLS_DB_HOST', 'localhost' );

Jetzt wird es etwas schwieriger. Wo liegt deine Datenbank? Das sollte auf der Seite deines Hoster zu finden sein, genau da wo auch du vorhin auch die Datenbank erstellt hast. Bei den meisten sollte es localhost aber passen. Wenn nicht trage hier die Domain zu deinem Datenbank-Server ein.

/** MySQL tables prefix */
define( 'YOURLS_DB_PREFIX', 'yourls_‘ );

Wenn du nicht genau weißt was der Datenbank Prefix macht dann lass ihn einfach so wie er ist. Solange wie du einen generischen Benutzername und ein gutes Passwort verwendest passt hier schon nichts.

Soviel zu den Einstellungen für die Datenbank-Verbindung. Jetzt kann Yourls seine Daten schon einmal in deine Datenbank schreiben und es könnte schon losgehen.

Könnte. Denn noch kennt Yourls ja noch garnicht wie es erreichbar ist. Dies kannst du im nächsten schritt einstellen.

/** YOURLS installation URL -- all lowercase and with no trailing slash.
** If you define it to "http://sho.rt", don't use "http://www.sho.rt" in your browser (and vice-versa) */
define( 'YOURLS_SITE', 'http://your-own-domain-here.com' );

Hier solltest du jetzt deine Sub-/Domain eintragen und dann war es das vorerst. Denn mit diesen Einstellungen ist Yourls soweit und kann benutzt werden.

/** A random secret hash used to encrypt cookies. You don't have to remember it, make it long and complicated. Hint: copy from http://yourls.org/cookie **/define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );
/** Username(s) and password(s) allowed to access the site. Passwords either in plain text or as encrypted hashes
** YOURLS will auto encrypt plain text passwords in this file
** Read http://yourls.org/userpassword for more information */$yourls_user_passwords = array(
'username' => 'phpass:!2a!08DpmD2Le15h4VKYhGi3KLxeQ.cg.akyf9pHCMV0yy8kX8yOj4f30BO' /* Password encrypted by YOURLS */ ,
// 'username2' => 'password2',
// You can have one or more 'login'=>'password' lines
);

Sobald alle Daten auf deinem Webspace liegen und die Domain/Subdomain richtig mit dem Installations-Ordner verknüpft ist kannst du diese direkt im Browser aufrufen. Dazu die von dier gewählte Domain eingeben + /admin. Das ganze sollte dann in etwa so deineBlogDomain.Blog/s/admin aussehen.

Sobald du die URL eingeben hast solltest du dieses Bild sehen.
Sobald du die URL eingeben hast solltest du dieses Bild sehen.

Nachdem du den Button Install YOURLS bestätigt hast und alles richtig in der config.php Datei eingerichtet ist solltest du diese Bestätigung sehen können

Es hat bestens funktioniert, wir sind auf einem gutem Weg
Es hat bestens funktioniert, wir sind auf einem gutem Weg

Jetzt auf YOURLS Administration Page klicken

 

 

Bitly Link’s zu Yourls übertragen

Da ich früher URLs bei Bitly gekürzt habe kann ich kurz etwas zu meiner Erfahrung zur Übertragung von kurz Link’s sagen.

Als erstes ist das ganze nur möglich wenn du auf eine eigene Domain gesetzt hast und diese jetzt wieder einsetzen möchtest.

Warum? Der Nutzer klickt zum Beispiel auf den Link bit.ly/XxX22. Da hier die Domain bit.ly integriert ist kannst du daran nichts mehr ändern, denn diese Domain gehört dir nicht.

Anders sieht es da aus mit kxl.ink/XxX22. Denn hier gehört dir die Domain und du hast sie nur zum Dienst bit.ly umgeleitet. Wenn du diese Domain-Umleitung jetzt auf deine Yourls Installation stellst musst du nur noch dafür sorgen das die Endung XxX22 richtig aufgelöst wird. Also das die kurze URL die richtige lange URL kennt.

Zum Glück setzte ich schon auf meine eigene Domain bei Bitly somit konnte ich meine Links zu mir umziehen.

Nur so ganz so einfach war es leider nicht. Denn ich habe alle Links einzeln übertragen müssen. In meinem Fall waren das zum Glück nicht so viele. Trotzdem saß ich schon etwas länger daran. Was auch wieder zeigt, wenn man es gleich richtig macht spart man Zeit und Geld.

Beitrag teilen
Christopher Kurth

Christopher Kurth

Online & Web Engineer. Human. Selbstständig bei eria.studio. WordPress'ler in der zollsoft GmbH. Organisator von WordPress Meetup Jena. Auf Reise mit drei Zöpfe ein Bart.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert