Prerequisites
Cachet requires a few things to run. You’ll need:
- PHP 7.1 with
ext-gd, ext-simplexml, mcrypt and ext-xml installed.
- Composer
- APC or Redis for caching.
- A database such as MySQL, PostgreSQL or SQLite.
- Git (optional depending on installation)
Composer
You should install Composer globally. This is a dependency manager for PHP and is used to install Cachet’s dependencies. We recommend following Composer’s own installation guide.
Once Composer is installed, you can install the dependencies.
composer install --no-dev -o
Installing Cachet
The tags below are examples of what will be shown. You should always run git checkout on the latest tag.
cd /var/www # Or wherever you chose to install web applications to
git clone https://github.com/cachethq/Cachet.git
cd Cachet
git tag -l
v0.1.0-alpha
v1.0.0
v1.1.0
v2.0.0
v2.1.0
git checkout v2.1.0
Configuring a database
By default, Cachet comes with a .env.example file. You’ll need to rename this file to just .env regardless of what environment you’re working on.
It’s now just a case of editing this new .env file and setting the values of your setup.
Any values with spaces in them should be contained within double quotes.
APP_ENV=production
APP_DEBUG=false
APP_URL=http://localhost
APP_KEY=SomeRandomString
DB_DRIVER=mysql
DB_HOST=localhost
DB_DATABASE=cachet
DB_USERNAME=homestead
DB_PASSWORD=secret
DB_PORT=null
CACHE_DRIVER=apc
SESSION_DRIVER=apc
QUEUE_DRIVER=sync
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
If you’re using SQLite then your .env file should not contain a DB_HOST key. You’ll also need to touch ./database/database.sqlite and give it the required permissions.
Setting the application key
Before going any further, we need to set the APP_KEY config. This is used for all encryption used in Cachet.
Be sure that you have the right permissions to the .env file before running this command.
Using the install command
Cachet comes with an installation command that will do the following for you:
- Run migrations
- Run seeders (of which there are none)
Never change the APP_KEY after installation on production environment. This will result in all encrypted/hashed data being lost.
Installation Difficulties
500 - Internal Server Error
If you see a 500 error when visiting your status page, you may need to run chmod -R 777 storage for it to work or rm -rf bootstrap/cache/*
You can also try to give permissions to cache chmod -R 777 bootstrap/