# CachetHQ

CachetHQ

# CachetHQ - Installation

["The open source status page system"](https://cachethq.io/)

#### Installation

```shell
yum install memcached
systemctl enable memcached
systemctl start memcached
yum install php-pecl-memcached --enablerepo=remi-php56 # Adapter le dépôt selon la version de php

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer
```

Seulement si on veut développer pour CachetHQ :

```shell
yum install -y nodejs npm
npm install -g bower
npm install -g gulp
```

Télécharger le code source dans le répertoire de destination du domaine web

```shell
cd /path/to/web/root
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
```

#### Configuration

Créer une base dédié à CachetHQ

```SQL
MariaDB [(mysql)]> CREATE DATABASE cachethq;
MariaDB [(mysql)]> GRANT ALL PRIVILEGES ON cachethq.* TO 'cachethq'@'localhost' IDENTIFIED BY 'mypassword';
```

Créer un user linux cachethq pour bien isoler le site du système.

Modifier le home dir de cachethq (directement dans /etc/passwd, plus simple) pour pointer vers le répertoire /path/to/web/root

```shell
su - cachethq
git clone https://github.com/cachethq/Cachet.git /path/to/web/root
cd /path/to/web/root

cp .env.example .env
composer install --no-dev -o
php artisan key:generate # la clé est collée automatiquement dans .env
```

Dans .env, adapter "APP\_URL", les credentials Mysql, et ajouter "APP\_LOG=errorlog"

Ces valeurs par défaut devraient fonctionner :

<p class="callout info">MAIL\_DRIVER=mail  
MAIL\_HOST=localhost  
MAIL\_PORT=null  
MAIL\_USERNAME=null  
MAIL\_PASSWORD=null  
[MAIL\_ADDRESS=admin@domain.com](mailto:MAIL_ADDRESS=admin@domain.com)  
MAIL\_NAME=null  
MAIL\_ENCRYPTION=tls</p>

\# NOTE : à chaque fois que la config a été modifiée, regénérer le cache :

```shell
php artisan config:cache
php artisan app:install
```

L'index.php se trouve sous /path/to/web/root/public/. Modifier la configuration Apache pour faire pointer le Document\_root et éventuellement le bloc Directory correspondant, vers ce sous-répertoire

<p class="callout info">DocumentRoot /path/to/web/root/public/  
&lt;Directory /path/to/web/root/public/&gt;  
AllowOverride All  
Options +Includes -Indexes +ExecCGI  
&lt;/Directory&gt;</p>

```shell
systemctl restart httpd
```

Le premier affichage passe par les écrans de config (mettre un mail et un mot de passe bidons), puis amène sur l'écran d'administration. Se connecter avec le user "admin" avec même mot de passe que cachethq.

ré-éditer .env pour enlever les mails+mot de passe bidons entrés pendant la fin de configuration.

#### Mise à jour

```shell
cd /path/to/web/root
git pull
composer install --no-dev -o
```

#### script uptime robot

Compatible seulement python 3 !!

```shell
cd /path/to/web/root
git clone https://github.com/Axiacore/cachet-uptime-robot.git ./cachet-uptime-robot
```