From Fedora Project Wiki



This documents the process of installing and configuring YOURLS for use with AutoQA.

Use the right repos

Yourls requires EPEL if running on RHEL or CentOS.

  1. If using RHEL or CentOS, configure the system to receive package updates using the update mechanism provided by the distribution (e.g. for RHEL, run rhn_register).
  2. If using RHEL or CentOS, enable EPEL by following the instructions at EPEL/FAQ#howtouse
  3. Add the same repositories as mentioned in the AutoQA installation guide.

Install the Package

Once the proper dnf|yum repositories are configured, use the DNF or YUM command to install yourls and it's dependencies.

 dnf install yourls
 yum install yourls


There are three parts to configuring YOURLS: creating the database, setting up the httpd configuration and internal YOURLS configuration.


MySQL Installation
These instructions assume that MySQL is installed and running on the target system

Connect to MySQL as root

 mysql -u root -p

Create the 'yourls' database and grant privileges to the 'yourls' user (using a password other than 'NEWPASSWORD' is highly recommended).

create database yourls;
GRANT ALL on yourls.* TO 'yourls'@'localhost' identified by 'NEWPASSWORD';
flush privileges;


Change the YOURLS Location

The default location for YOURLS is http://your_server/yourls. For AutoQA purposes we want to change /yourls directory to /report directory. The rest of this guide will reflect that.

The httpd configuration file is located at /etc/httpd/conf.d/yourls.conf. Edit that file to match:

Alias /report /usr/share/yourls

<Directory /usr/share/yourls>
  AllowOverride All

There is a change in configuration files in Apache 2.4, therefore, on Fedora 18 edit /etc/httpd/conf.d/yourls.conf to match:

Alias /report /usr/share/yourls

<Directory /usr/share/yourls>
  Options All
  AllowOverride All
  Require all granted

Add the ModRewrite Configuration File

YOURLS relies on mod_rewrite directives in a .htaccess file in order to process the shortened URLs into the actual URL. Edit or create /usr/share/yourls/.htaccess to contain:

<IfModule rewrite_module>
RewriteEngine On
RewriteBase /report/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /report/yourls-loader.php [L]


Now that the backing services have been setup and configured, we need to set up YOURLS itself.

Open the YOURLS configuration file /etc/yourls/config.php and make the following changes:

MySQL Settings

The YOURLS_DB_USER, YOURLS_DB_PASS, YOURLS_DB_NAME and YOURLS_DB_HOST need to match your actual settings, set them to your actual MySQL user name, password, MySQL database name and MySQL database 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 */
define( 'YOURLS_DB_HOST', 'localhost' );

Site Configuration

The YOURLS_SITE needs to match the EXTERNAL URL of the installation that will be used by people clicking on shortened URLs.

/** YOURLS installation URL, no trailing slash */
define( 'YOURLS_SITE', 'http://your_server/report' );


Users for YOURLS are configured in the same configuration file. Add users and passwords to the configuration to match the existing example format:

$yourls_user_passwords = array(
        'username' => 'password',
        'username2' => 'password2',

Final Configuration

To finish the configuration, restart httpd: systemctl restart httpd.service.

Point a browser to your installation location (http://localhost/report/admin/ by default) and complete the WEB GUI based installation process. After this, the YOURLS instance is ready for business - you can access the API at http://localhost/report/yourls-api.php or the web admin GUI at http://localhost/report/admin/.