40
INSTALL.md
40
INSTALL.md
@@ -17,11 +17,11 @@ You need at least PHP >= 5.4, [Composer](https://getcomposer.org/) and the follo
|
||||
1. [Get a copy!](#get-a-copy)
|
||||
2. [Deploy to Heroku](#deploy-to-heroku)
|
||||
3. [Configuring a database!](#configuring-a-database)
|
||||
1. [Running database migrations](#running-database-migrations)
|
||||
2. [Seeding](#seeding)
|
||||
1. [Running database migrations](#running-database-migrations)
|
||||
2. [Seeding](#seeding)
|
||||
4. [Running Cachet](#running-cachet)
|
||||
1. [Apache setup](#apache)
|
||||
2. [nginx setup](#nginx)
|
||||
1. [Apache setup](#apache)
|
||||
2. [nginx setup](#nginx)
|
||||
5. [Environment detection](#environment-detection)
|
||||
|
||||
# Get a copy!
|
||||
@@ -70,11 +70,11 @@ For example, if working locally with MySQL, your `.env.local.php` file would be:
|
||||
<?php
|
||||
|
||||
return [
|
||||
'DB_DRIVER' => 'mysql',
|
||||
'DB_HOST' => 'localhost',
|
||||
'DB_DATABASE' => 'cachet',
|
||||
'DB_USERNAME' => 'root',
|
||||
'DB_PASSWORD' => 'secret',
|
||||
'DB_DRIVER' => 'mysql',
|
||||
'DB_HOST' => 'localhost',
|
||||
'DB_DATABASE' => 'cachet',
|
||||
'DB_USERNAME' => 'root',
|
||||
'DB_PASSWORD' => 'secret',
|
||||
];
|
||||
|
||||
?>
|
||||
@@ -84,7 +84,7 @@ return [
|
||||
|
||||
### Running database migrations
|
||||
|
||||
Once we've decided on our database, we now need to run the migrations to create the tables. In our command line we need to run the migrations, from within the root directory:
|
||||
Once we've decided on our database, we now need to run the migrations to create the tables. In our command line we need to run the migrations, from within the root directory:
|
||||
|
||||
```bash
|
||||
$ php artisan migrate
|
||||
@@ -110,16 +110,16 @@ We simply add the following Virtual Host to our `httpd-vhosts.conf` file:
|
||||
|
||||
```
|
||||
<VirtualHost *:80>
|
||||
ServerName cachet.dev # Or whatever you want to use
|
||||
ServerAlias cachet.dev # Make this the same as ServerName
|
||||
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>
|
||||
ServerName cachet.dev # Or whatever you want to use
|
||||
ServerAlias cachet.dev # Make this the same as ServerName
|
||||
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>
|
||||
```
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@import "modules/bootstrap";
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@import "helpers";
|
||||
|
||||
@@ -3,21 +3,21 @@ label {
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #555;
|
||||
background-color: #fff;
|
||||
background-image: none;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
@include box-shadow(none !important);
|
||||
@include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #555;
|
||||
background-color: #fff;
|
||||
background-image: none;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
@include box-shadow(none !important);
|
||||
@include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
|
||||
|
||||
&:focus {
|
||||
border-color: #66afe9;
|
||||
}
|
||||
&:focus {
|
||||
border-color: #66afe9;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
div[role=tabpanel] {
|
||||
ul.nav-tabs {
|
||||
border-bottom: 1px solid #d5d8d7;
|
||||
li {
|
||||
a {
|
||||
font-weight: 400;
|
||||
display: inline-block;
|
||||
padding: 10px 25px;
|
||||
border-radius: 0;
|
||||
font-size: 0.9em;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
}
|
||||
}
|
||||
ul.nav-tabs {
|
||||
border-bottom: 1px solid #d5d8d7;
|
||||
li {
|
||||
a {
|
||||
font-weight: 400;
|
||||
display: inline-block;
|
||||
padding: 10px 25px;
|
||||
border-radius: 0;
|
||||
font-size: 0.9em;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
border: {
|
||||
left: 1px solid #d5d8d7;
|
||||
bottom: 1px solid #d5d8d7;
|
||||
right: 1px solid #d5d8d7;
|
||||
}
|
||||
background-color: white;
|
||||
.tab-pane {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
.tab-content {
|
||||
border: {
|
||||
left: 1px solid #d5d8d7;
|
||||
bottom: 1px solid #d5d8d7;
|
||||
right: 1px solid #d5d8d7;
|
||||
}
|
||||
background-color: white;
|
||||
.tab-pane {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
body.dashboard {
|
||||
font-family: $base-font-family;
|
||||
font-weight: $base-font-weight;
|
||||
font-size: $base-font-size;
|
||||
letter-spacing: $base-letter-spacing;
|
||||
display: table;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
table-layout: fixed;
|
||||
font-family: $base-font-family;
|
||||
font-weight: $base-font-weight;
|
||||
font-size: $base-font-size;
|
||||
letter-spacing: $base-letter-spacing;
|
||||
display: table;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
table-layout: fixed;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
line-height: $base-line-height;
|
||||
}
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
body.dashboard {
|
||||
.content {
|
||||
position: relative;
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
width: 100%;
|
||||
.row {
|
||||
margin: 10px 0;
|
||||
}
|
||||
.header {
|
||||
.content {
|
||||
position: relative;
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
width: 100%;
|
||||
.row {
|
||||
margin: 10px 0;
|
||||
}
|
||||
.header {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
padding: 22px 14px;
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
font-size: 1.2em;
|
||||
padding: 22px 14px;
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
font-size: 1.2em;
|
||||
border-bottom: 1px solid #eee;
|
||||
z-index: 99;
|
||||
&.fixed {
|
||||
position: fixed;
|
||||
padding-left: 250px;
|
||||
}
|
||||
i {
|
||||
// padding-right: 10px;
|
||||
}
|
||||
input, button, .btn {
|
||||
position: relative;
|
||||
top: -4px;
|
||||
}
|
||||
input {
|
||||
width: 20%;
|
||||
}
|
||||
i {
|
||||
// padding-right: 10px;
|
||||
}
|
||||
input, button, .btn {
|
||||
position: relative;
|
||||
top: -4px;
|
||||
}
|
||||
input {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
+ .row {
|
||||
margin-top: 23px;
|
||||
}
|
||||
+ .row {
|
||||
margin-top: 23px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: #444;
|
||||
margin-top: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content-wrapper {
|
||||
margin-top: 80px;
|
||||
}
|
||||
@@ -60,5 +60,5 @@ body.dashboard {
|
||||
padding: 8px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
body.dashboard {
|
||||
.navbar {
|
||||
z-index: 999;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
border-bottom: $header-border-color;
|
||||
background: $header-background-color;
|
||||
margin: 0;
|
||||
a, a:active, a:visited {
|
||||
color: $base-link-color;
|
||||
&:hover {
|
||||
color: $base-link-hover-color;
|
||||
}
|
||||
}
|
||||
.navbar-toggle {
|
||||
margin-top: 15px;
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
&.collapsed span {
|
||||
background-color: $base-link-color;
|
||||
}
|
||||
}
|
||||
.navbar-collapse {
|
||||
background: $header-background-color;
|
||||
}
|
||||
a.navbar-brand {
|
||||
padding: 34px 21px;
|
||||
line-height: 0em;
|
||||
font-size: 1.1em;
|
||||
letter-spacing: 0.04em;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
@media #{$screen-sm-max} {
|
||||
span {
|
||||
padding-right: 10px;
|
||||
&:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f060";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.nav li a {
|
||||
height: 68px;
|
||||
line-height: 35px;
|
||||
}
|
||||
}
|
||||
.navbar {
|
||||
z-index: 999;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
border-bottom: $header-border-color;
|
||||
background: $header-background-color;
|
||||
margin: 0;
|
||||
a, a:active, a:visited {
|
||||
color: $base-link-color;
|
||||
&:hover {
|
||||
color: $base-link-hover-color;
|
||||
}
|
||||
}
|
||||
.navbar-toggle {
|
||||
margin-top: 15px;
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
&.collapsed span {
|
||||
background-color: $base-link-color;
|
||||
}
|
||||
}
|
||||
.navbar-collapse {
|
||||
background: $header-background-color;
|
||||
}
|
||||
a.navbar-brand {
|
||||
padding: 34px 21px;
|
||||
line-height: 0em;
|
||||
font-size: 1.1em;
|
||||
letter-spacing: 0.04em;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
@media #{$screen-sm-max} {
|
||||
span {
|
||||
padding-right: 10px;
|
||||
&:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f060";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.nav li a {
|
||||
height: 68px;
|
||||
line-height: 35px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
body.dashboard {
|
||||
.wrapper {
|
||||
width: 100%;
|
||||
display: table;
|
||||
height: 100%;
|
||||
table-layout: fixed;
|
||||
}
|
||||
.wrapper {
|
||||
width: 100%;
|
||||
display: table;
|
||||
height: 100%;
|
||||
table-layout: fixed;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
@extends('layout.dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="header fixed">
|
||||
<div class="header fixed">
|
||||
<span class="uppercase">
|
||||
<i class="icons ion-ios-keypad"></i> {{ trans('cachet.dashboard.components') }}
|
||||
<i class="icons ion-ios-keypad"></i> {{ trans('cachet.dashboard.components') }}
|
||||
</span>
|
||||
<a class="btn btn-sm btn-success pull-right" href="{{ route('dashboard.components.add') }}">
|
||||
{{ trans('cachet.dashboard.component-add') }}
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<form name='componentList'>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
@extends('layout.dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="header">
|
||||
<div class="header">
|
||||
<span class="uppercase">
|
||||
<i class="icon icon ion-android-alert"></i> {{ trans('cachet.dashboard.incident-add') }}
|
||||
<i class="icon icon ion-android-alert"></i> {{ trans('cachet.dashboard.incident-add') }}
|
||||
</span>
|
||||
> <small>Create an Incident</small>
|
||||
</div>
|
||||
> <small>Create an Incident</small>
|
||||
</div>
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
@extends('layout.dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="header">
|
||||
<div class="header">
|
||||
<span class="uppercase">
|
||||
<i class="icon ion-plus"></i> {{ trans('cachet.dashboard.incident-add') }}
|
||||
<i class="icon ion-plus"></i> {{ trans('cachet.dashboard.incident-add') }}
|
||||
</span>
|
||||
> <small>Create an Incident Template</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
@extends('layout.dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="header fixed">
|
||||
<div class="header fixed">
|
||||
<span class="uppercase">
|
||||
<i class="icon icon ion-android-alert"></i> {{ trans('cachet.dashboard.incidents') }}
|
||||
<i class="icon icon ion-android-alert"></i> {{ trans('cachet.dashboard.incidents') }}
|
||||
</span>
|
||||
<a class="btn btn-sm btn-success pull-right" href="{{ route('dashboard.incidents.add') }}">
|
||||
{{ trans('cachet.dashboard.incident-add') }}
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
@extends('layout.dashboard')
|
||||
|
||||
@section('content')
|
||||
<div class="header">
|
||||
<span class="uppercase">
|
||||
<div class="header">
|
||||
<span class="uppercase">
|
||||
<i class="icon ion-speedometer"></i> {{ trans('cachet.dashboard.dashboard') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<style type='text/css'>
|
||||
body.status-page {
|
||||
@if($styleBackgroundColor = Setting::get('style_background_color'))
|
||||
background-color: {{ $styleBackgroundColor }};
|
||||
@endif
|
||||
@if($styleTextColor = Setting::get('style_text_color'))
|
||||
color: {{ $styleTextColor }};
|
||||
@endif
|
||||
@if($styleBackgroundColor = Setting::get('style_background_color'))
|
||||
background-color: {{ $styleBackgroundColor }};
|
||||
@endif
|
||||
@if($styleTextColor = Setting::get('style_text_color'))
|
||||
color: {{ $styleTextColor }};
|
||||
@endif
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -8,7 +8,7 @@ Example URL: `http://status.cachethq.io/api/components`
|
||||
|
||||
* `GET`: returns a list of the current components and their status
|
||||
- success: 200:
|
||||
|
||||
|
||||
~~~json
|
||||
{
|
||||
"data": [
|
||||
|
||||
@@ -8,7 +8,7 @@ Example URL: `http://status.cachethq.io/api/incidents`
|
||||
|
||||
* `GET`: returns a list of the current incidents and their status
|
||||
- success: 200:
|
||||
|
||||
|
||||
~~~json
|
||||
{
|
||||
"data": [
|
||||
|
||||
@@ -10,7 +10,7 @@ Example URL: `http://status.cachethq.io/api/metrics`
|
||||
|
||||
* `GET`: returns a list of the current metrics
|
||||
- success: 200:
|
||||
|
||||
|
||||
~~~json
|
||||
To be confirmed
|
||||
~~~
|
||||
|
||||
@@ -4,7 +4,7 @@ The main issue with installing Cachet on CentOS 6 is the old PHP version. Larave
|
||||
|
||||
## Remi Repo
|
||||
|
||||
To solve this problem, the 3rd party [http://rpms.famillecollet.com/](Remi Repo) can be used, which provides newer versions of PHP.
|
||||
To solve this problem, the 3rd party [http://rpms.famillecollet.com/](Remi Repo) can be used, which provides newer versions of PHP.
|
||||
|
||||
NOTE: This will upgrade existing versions of PHP on your system, so if you already have a PHP 5.3 requirement, you'll need to consider using [RedHat's Software Collections](https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/1/html-single/Software_Collections_Guide/) which allows you to install PHP 5.4 alongside the systems PHP 5.3. You'll need to compile some of the extensions yourself though
|
||||
|
||||
|
||||
Reference in New Issue
Block a user