Article

Table of Contents
Theme:
Was this article helpful?
Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

How to Install Cachet on Linux

Last Updated: Fri, Sep 30, 2016
CentOS Linux Guides Server Apps System Admin

Introduction

Cachet is an open source status page system which allows you to inform your users about outages, planned maintances and much more. In this guide we will be installing Cachet on Linux server already running Apache, PHP, and MySQL.

Requirements

  • Git

  • Apache2.4+

  • MySQL Server

  • CURL

Install Cachet

First, we have to clone Cachet itself from its Github repository in a directory which we'll be using for it later. Let's assume our directory is /opt/cachet/:

cd /opt/

git clone https://github.com/cachethq/Cachet.git cachet/

cd cachet/

Configuration

By default Cachet comes with an .env.example file. We'll need to rename this file to .env, regardless of the type environment you're working on. Once renamed, we can edit the file and configure Cache it:

APP_ENV=production

APP_DEBUG=false

APP_URL=http://localhost

APP_KEY=SomeRandomString



DB_DRIVER=mysql

DB_HOST=localhost

DB_DATABASE=cachet

DB_USERNAME=cachet

DB_PASSWORD=RANDOM_PASSWORD

DB_PORT=null



CACHE_DRIVER=apc

SESSION_DRIVER=apc

QUEUE_DRIVER=database

CACHET_EMOJI=false



MAIL_DRIVER=smtp

MAIL_HOST=mailtrap.io

MAIL_PORT=2525

MAIL_USERNAME=null

MAIL_PASSWORD=null

MAIL_ADDRESS=null

MAIL_NAME="Demo Status Page"

MAIL_ENCRYPTION=tls



REDIS_HOST=null

REDIS_DATABASE=null

REDIS_PORT=null



GITHUB_TOKEN=null

Database

Cachet insists on a database in order to store data. In this guide, we'll be using a MySQL database. Create a new database using the following command:

mysql -u root -p

CREATE DATABASE cachet;

Note: using mysql -u root -p assumes you do not have a /root/.my.cnf with your MySQL server credentials.

We can now create a new MySQL user which is authorized to access our fresh database:

CREATE USER 'cachet'@'localhost' IDENTIFIED BY 'RANDOM_PASSWORD';

GRANT ALL PRIVILEGES ON cachet.* TO 'cachet'@'localhost';

FLUSH PRIVILEGES;

Composer

Cache it requires composer to function. Below is how we can install it:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Application Key

Cachet provides a built-in method to generate an application key. Cachet uses this application key for all data which is being encrypted. That said, you would want to backup the key somewhere safe.

php artisan key:generate

Installation

Now you're ready to install Cachet using another simple command:

php artisan app:install 

Note: Never change your application key after this installation; otherwise, Cache will fail to decrypt the data, rendering your installation corrupted.

Apache2

Cachet itself is a web-based application. Therefore, we'll be using Apache to serve it, thus allowing access to it via browser.

Note: Cachet requires mod_rewrite to be enabled on your Apache server.

a2enmod rewrite

We can now continue with creating our VirtualHost. For this step, create a new file called cachet.conf in the /etc/apache2/sites-enabled/ folder:

<VirtualHost *:80>

    # Domain from where Cachet will be accessed

    ServerName cachet.dev 

    ServerAlias cachet.dev 

    DocumentRoot "/var/www/Cachet/public"

    <Directory "/var/www/Cachet/public">

        Require all granted 

        # Used by Apache 2.4

        Options Indexes FollowSymLinks

        AllowOverride All

        Order allow,deny

        Allow from all

    </Directory>

</VirtualHost>

Start

We can now start working with Cachet. Simply restart Apache2 using the following command:

service apache2 restart

Access

You should now be able to access your fresh Cachet installation on the domain you set before in the Apache2 config.

Conclusion

Cachet is a pretty well designed open source status page which works on nearly any UNIX and even on Windows based servers. As a result of that Cachet is open source, we can easily implement our own plugins if we're familiar with PHP. Happy Hacking!

Want to contribute?

You could earn up to $600 by adding new articles.