There is lot of buzz with Cachet. I wasted hours to install Cachet on new subdomain, install LAMP, configured HSTS, changed CAA Record and now I can give you warranty that it does not worth the effort to use this script in case you have psychological problem of getting perfect things. It is worser than a good WordPress plugin like WP Statistics at backend. However, as I installed, here is how to install open source status page Cachet on Ubuntu 16.04 – you can test with plain HTTP. Cachet is free, basic PHP-MySQL based self hosted status page web app. These new types of PHP applications are no way good software development. You can write a PHP script yourself to create ping powered based beautiful status page with lot of graphs like GitHub :
1 | https://status.github.com/graphs/past_day |
You can use Aruba Cloud’s 1GB RAM VMWare instance for 1 Euro per month cost or VPSDime 6GB RAM OpenVZ instance for $7 per month cost to test. Use a separate server and domain to test. As alternative to Cachet, I can show you Checkup and Staytus :
1 2 | https://github.com/sourcegraph/checkup https://github.com/adamcooke/staytus |
In both cases, you possibly need a separate server to test.
---
How To Install Open Source Status Page Cachet on Ubuntu 16.04
Frankly you will need to prepare a full LAMP server with HSTS. For that, follow our guide on how to install Apache2 on Ubuntu 16.04.
You installed Apache2, MySQL, PHP. First create a database, you can use root
user to test :
1 2 3 4 5 6 7 | mysql_secure_installation mysql -u root -p # after login to MySQL server CREATE DATABASE cachet; FLUSH PRIVILEGES; q # hit enter key |
Check if any component missed to get installed :
1 | sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt curl composer |
Normally Apache web root is at /var/www/html
. Change directory to /var/www/html
and clone the git repo :
1 2 3 4 5 | git clone https://github.com/cachethq/Cachet.git cachet cd cachet chown www-data:www-data -R /var/www/html/cachet/ mv .env.example .env nano .env |
Change that .env
files :
1 2 3 4 5 6 7 | ... APP_URL=http://localhost -> APP_URL=http://your-domain-name ... DB_DATABASE=your-database-name DB_USERNAME=your-database-username DB_PASSWORD=your-database-password ... |
Now run :
1 2 3 | sudo composer install --no-dev -o php artisan key:generate php artisan app:install |
Now change directory to :
1 2 | cd /etc/apache2/sites-available/ ls |
Edit that default config file to something like this, notice that the path – /var/www/html/cachet/public
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <VirtualHost *:80> ServerName status.thecustomizewindows.com Protocols h2 http/1.1 ServerAdmin admin@thecustomizewindows.com DocumentRoot /var/www/html/cachet/public <Directory /var/www/html/cachet/public/> AllowOverride All </Directory> <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/cachet/public> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Restart Apache :
1 | systemctl restart apache2 |
From your DNS, add your server’s IP to some subdomain like status.thecustomizewindows.com
and access your fresh Cachet installation on the domain via browser to run the setup wizard.