Learn How To Install Cachet on Debian 8

April 23, 2019

Table of Contents

In this tutorial, you will learn how to install Cachet on Debian 8. Cachet is a powerful open source status page system.

Installation

This tutorial is going to assume you have already installed MySQL on the VPS.

Update your system:

apt-get update -y

Install these libraries:

apt-get install php5 php5-mysql libapache2-mod-php5 php5-fpm php5-cli php5-curl php5-gd git sudo apache2 -y

Then navigate to /var/www:

cd /var/www/

Clone the git repository for Cachet:

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

Now navigate to the directory /var/www/Cachet:

cd Cachet

Run the following command, which will result in a list of versions:

git tag -l
v2.3.4
v2.3.5
v2.3.6
v2.3.7
v2.3.8
v2.3.9

Choose the latest version, in our case its v2.3.9:

git checkout v2.3.9

Setup

Login to MySQL:

mysql -u root -p

Once you have entered the password, Create a database called cachet:

CREATE DATABASE cachet;

Create a new user for this database, replace `RANDOM_PASSWORD’ with a password of your choice:

CREATE USER 'cachet'@'localhost' IDENTIFIED BY 'RANDOM_PASSWORD';
GRANT ALL PRIVILEGES ON cachet.* TO 'cachet'@'localhost';
FLUSH PRIVILEGES;

Rename env.example to .env:

mv .env.example .env

Edit .env with your MySQL details.

Then install composer:

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

Generate a key:

php artisan key:generate

If you run into the error:

PHP Warning:  require(/root/Cachet/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /root/Cachet/bootstrap/autoload.php on line 28
PHP Fatal error:  require(): Failed opening required '/root/Cachet/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') in /root/Cachet/bootstrap/autoload.php on line 28

… then run the following command:

composer update --no-scripts

If you encounter this error:

[ErrorException]
  proc_open(): fork failed - Cannot allocate memory

… then run the following commands:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

Regenerate a key:

php artisan key:generate

Install Cachet:

php artisan app:install 

Enable mod_rewrite:

a2enmod rewrite
a2enmod rewrite
service apache2 restart

Navigate to /etc/apache2/sites-enabled/:

cd /etc/apache2/sites-enabled/

Create a new file to access Cachet:

mv cachet.conf

Inside of the created file copy and paste the following:

<VirtualHost *:80>
# Domain from where Cachet will be accessed
ServerName example.com
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>

Replace example.com with your own domain name which you have linked with your IT Web Services VPS or with your IT Web Services Instance’s IP Address.

Hit Ctrl+X and then press Enter.

Fix file permissions:

chmod -R 777 storage
rm -rf bootstrap/cache/*
chmod -R 777 bootstrap/

Conclusion

You have successfully installed Cachet on your IT Web Services VPS.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!