YOURLS installieren

Meine Anleitung zur Installation von YOURLS war ursprünglich auf whois.kurlz.de zu lesen. Da ich den URL-Shorter jedoch (aktuell) nicht mehr brauche und mir etwas Aufwand beim Pflegen einer weiteren Internetseite sparen möchte, zog diese Anleitung kurzerhand auf meine private Seite um. Wäre ja schade, um die ganze Arbeit zwinker

Was ist YOURLS?

YOURLS ist ein open-source URL-Shortener (Kurz-URL-Dienst). Mit diesem kleinen Tool können lange Internetadressen, wie z.B. example.com/mein-artikel-hat-einen-langen-titel in example.com/a3F umgewandelt werden. Eine möglichst kurze Domain macht das Ganze natürlich noch effektiver. Ein bekannter Dienst ist z.B. „bitly“.

(System-)Voraussetzungen

  • PHP
  • MySQL

Eine bestimmte Version von PHP und MySQL haben die Entwickler von YOURLS zwar offiziell nicht angegeben, im Normalfall ist aber davon auszugehen, dass die Programmierer nach aktuellem Standard entwickeln. Deshalb sollte der URL-Shorter auf jedem modernen Webspace (Partnerlink) funktionieren.

Download YOURLS

Über yourls.org/download wirst du sofort auf die GitHub-Seite weitergeleitet. Dort lädst du die aktuelle Version (Latest Release) entweder als .zip oder .tar.gz herunter und entpackst die Datei. Stand meiner Anleitung ist die Version 1.7.9.

config.php

Im Ordner user/ findest du eine Datei namens config-sample.php. Benenne diese in config.php um und öffne sie mit einem Editor deiner Wahl. Lasse dir ggf. die Zeilennummern anzeigen.

<?php
/* This is a sample config file.
 * Edit this file with your own settings and save it as "config.php"
 *
 * IMPORTANT: edit and save this file as plain ASCII text, using a text editor, for instance TextEdit on Mac OS or
 * Notepad on Windows. Make sure there is no character before the opening <?php at the beginning of this file.
 */

/*
 ** MySQL settings - You can get this info from your web host
 */

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

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

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

/** 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' );

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

/*
 ** Site options
 */

/** YOURLS installation URL -- all lowercase, no trailing slash at the end.
 ** 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' );

/** Server timezone GMT offset */
define( 'YOURLS_HOURS_OFFSET', 0 ); 

/** YOURLS language
 ** Change this setting to use a translation file for your language, instead of the default English.
 ** That translation file (a .mo file) must be installed in the user/language directory.
 ** See http://yourls.org/translations for more information */
define( 'YOURLS_LANG', '' ); 

/** Allow multiple short URLs for a same long URL
 ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
 ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
define( 'YOURLS_UNIQUE_URLS', true );

/** Private means the Admin area will be protected with login/pass as defined below.
 ** Set to false for public usage (eg on a restricted intranet or for test setups)
 ** Read http://yourls.org/privatepublic for more details if you're unsure */
define( 'YOURLS_PRIVATE', true );

/** 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' => 'password',
	// 'username2' => 'password2',
	// You can have one or more 'login'=>'password' lines
	);

/** Debug mode to output some internal information
 ** Default is false for live site. Enable when coding or before submitting a new issue */
define( 'YOURLS_DEBUG', false );
	
/*
 ** URL Shortening settings
 */

/** URL shortening method: 36 or 62 */
define( 'YOURLS_URL_CONVERT', 36 );
/*
 * 36: generates all lowercase keywords (ie: 13jkm)
 * 62: generates mixed case keywords (ie: 13jKm or 13JKm)
 * Stick to one setting. It's best not to change after you've started creating links.
 */

/** 
* Reserved keywords (so that generated URLs won't match them)
* Define here negative, unwanted or potentially misleading keywords.
*/
$yourls_reserved_URL = array(
	'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick',
);

/*
 ** Personal settings would go after here.
 */
 

Alles was editiert werden muss habe ich in der Liste unten rot markiert. Was grün ist, darüber kann optional, aber möglichst noch vor der Inbetriebnahme nachgedacht werden. Ich gehe aber kurz alle relevanten Zeilen (Zeilennummern hier beachten!) durch:

  • Z. 14: define( 'YOURLS_DB_USER', 'your db user name' );
    Ersetze your db user name durch den Benutzernamen der Datenbank.
  • Z. 17: define( 'YOURLS_DB_PASS', 'your db password' );
    Ersetze your db password durch das Passwort der Datenbank.
  • Z. 20: define( 'YOURLS_DB_NAME', 'yourls' );
    Ersetze yourls durch den Datenbanknamen.
  • Z. 35: define( 'YOURLS_SITE', 'http://your-own-domain-here.com' );
    Ersetze http://your-own-domain-here.com durch die URL deiner Domain, z.B.: https://example.com
  • Z. 57: define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );
    Ersetze modify this text with something random mit einem einzigartigen Wert. Du musst dich nicht daran erinnern. Ich habe einen Passwort-Generator benutzt, auf 64 Zeichen eingestellt, bestehend aus Zahlen, Groß- und Kleinbuchstaben und fertig.
  • Z. 63: 'username' => 'password',
    Ersetze usernamen und password durch deine Angaben, um dich später in YOURLS einloggen zu können. Wenn du das nächste Mal deine YOURLS-Installation aufrufst wird YOURLS das Passwort verschlüsseln. Nähere Informationen zu diesem Vorgang findest du auf der GitHub-Seite von YOURLS.
  • Z. 77: define( 'YOURLS_URL_CONVERT', 36 );
    Belasse den Wert auf 36, wenn die generierte URL aus Zahlen und Kleinbuchstaben (z.B. 13jkm) bestehen soll. Stelle den Wert auf 62, wenn die URL neben Zahlen und Kleinbuchstaben auch Großbuchstaben enthalten soll, z.B. 13jKm oder 13JKm. Letztere Einstellung hat den Vorteil, dass YOURLS mehr kurze URLs generieren kann.
  • Z. 89: Reserved Keywords (optional)
    Eventuell könnten noch Reserved Keywords von Interesse sein. Hier definierst du Keywords, die nicht in der von YOURLS generierten URL vorkommen sollen. Füge der Liste einfach weitere Keywords in vorgegebener Manier hinzu, wenn du es für nötig hältst.

Hochladen und Installation abschließen

Hast du die Datei config.php fertig bearbeitet und gespeichert, lädst du alles auf deinen Webspace/Server hoch, rufst im Browser deine Domain mit dem Anhängsel /admin/ (z.B. https://example.com/admin/) auf und klickst auf Installation. Wenn alles geklappt hat, herzlichen Glückwunsch! Daumen hoch

Kein Support!

Bitte habe Verständnis, dass ich keinen persönlichen YOURLS-Support leisten kann. Fragen oder Anregungen zu meiner Anleitung sind jedoch stets willkommen.