Installation
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.
- 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
). - If using RHEL or CentOS, enable EPEL by following the instructions at EPEL/FAQ#howtouse
- 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
Configuration
There are three parts to configuring YOURLS: creating the database, setting up the httpd configuration and internal YOURLS configuration.
mysql
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;
httpd
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 </Directory>
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 </Directory>
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:
# BEGIN YOURLS <IfModule rewrite_module> RewriteEngine On RewriteBase /report/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /report/yourls-loader.php [L] </IfModule> # END YOURLS
YOURLS
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' );
YOURLS Users
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/.