如何使用 Cachet 部署自承载系统状态页面

澳门新葡亰网址 9

1) 服务器要求

在安装 Laravel
前需要安装一些它的依赖前提条件,主要是一些基本的参数调整,比如升级系统到最新版本,sudo
权限和安装依赖包。

当你连接到你的服务器时,请确保你能通以下命令能成功的使用 EPEL
仓库并且升级你的服务器。

测试 Cachet 状态页面

现在你准备好访问 Cachet 状态页面。在你浏览器地址栏输入
Cachet 状态页的初始化设置页面。

澳门新葡亰网址 1

选择 cache/session 驱动。这里 cache 和 session 驱动两个都选“File”。

下一步,输入关于状态页面的基本信息(例如,站点名称、域名、时区和语言),以及管理员认证账户。

澳门新葡亰网址 2

澳门新葡亰网址 3

澳门新葡亰网址 4

你的状态页初始化就要完成了。

澳门新葡亰网址 5

继续创建组件(你的系统单元)、事件或者任意你要做的维护计划。

例如,增加一个组件:

澳门新葡亰网址 6

增加一个维护计划:

公共 Cachet 状态页就像这样:

澳门新葡亰网址 7

集成了 SMTP,你可以在状态更新时发送邮件给订阅者。并且你可以使用 CSS 和
markdown 格式来完全自定义布局和状态页面。

7) 虚拟主机和所属用户

在 composer 安装好后,分配 document 根目录的权限和所属用户,如下所示。

# chmod 775 /var/www/laravel-develop/app/storage

# chown -R apache:apache /var/www/laravel-develop

用任意一款编辑器打开 apache
服务器的默认配置文件,在文件最后加上虚拟主机配置。

# vim /etc/httpd/conf/httpd.conf

ServerName laravel-develop
DocumentRoot /var/www/laravel/public

start Directory /var/www/laravel
AllowOverride All
Directory close

现在我们用以下命令重启 apache 服务器,打开浏览器查看 localhost 页面。

配置 Cachet 的后端数据库

下一步是配置后端数据库。

登录到 MySQL/MariaDB 服务,然后创建一个空的数据库称为‘cachet’。

  1. $ sudo mysql -uroot -p

  1. mysql> create database cachet;
  2. mysql> quit

现在用一个示例配置文件创建一个 Cachet 配置文件。

  1. $ cd /var/www/cachet
  2. $ sudo mv .env.example .env

在 .env
文件里,填写你自己设置的数据库信息(例如,DB_*)。其他的字段先不改变。

  1. APP_ENV=production
  2. APP_DEBUG=false
  3. APP_URL=http://localhost
  4. APP_KEY=SomeRandomString
  5. DB_DRIVER=mysql
  6. DB_HOST=localhost
  7. DB_DATABASE=cachet
  8. DB_USERNAME=root
  9. DB_PASSWORD=<root-password>
  10. CACHE_DRIVER=apc
  11. SESSION_DRIVER=apc
  12. QUEUE_DRIVER=database
  13. MAIL_DRIVER=smtp
  14. MAIL_HOST=mailtrap.io
  15. MAIL_PORT=2525
  16. MAIL_USERNAME=null
  17. MAIL_PASSWORD=null
  18. MAIL_ADDRESS=null
  19. MAIL_NAME=null
  20. REDIS_HOST=null
  21. REDIS_DATABASE=null
  22. REDIS_PORT=null

2) 防火墙安装

系统防火墙和 SELinux
设置对于用于产品应用安全来说非常重要,当你使用测试服务器的时候可以关闭防火墙,用以下命令行设置
SELinux 成宽容模式(permissive)来保证安装程序不受它们的影响。

# setenforce 0

第一步:下载和安装 Cachet

Cachet 需要一个 web 服务器和一个后端数据库来运转。在这个教程中,我将使用
LAMP 架构。以下是一些特定发行版上安装 Cachet 和 LAMP 架构的指令。

总结

Laravel
框架对于开发网页应用来说是一个绝好的的工具。所以,看了这篇文章你将学会在
Ubuntu 15 和 CentOS 7 上安装 Laravel, 之后你就可以使用这个超棒的 PHP
框架提供的各种功能和舒适便捷性来进行你的开发工作。

如果您有什么意见或者建议请在以下评论区中回复,我们将根据您宝贵的反馈来使我们的文章更加浅显易懂。

Debian,Ubuntu 或者 Linux Mint

  1. $ sudo apt-get install curl git apache2 mysql-server mysql-client php5 php5-mysql
  2. $ sudo git clone https://github.com/cachethq/Cachet.git /var/www/cachet
  3. $ cd /var/www/cachet
  4. $ sudo git checkout v1.1.1
  5. $ sudo chown -R www-data:www-data .

在基于 Debian 的系统上设置 LAMP 架构的更多细节,参考。

CentOS 7下搭建LAMP平台环境 

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 

Ubuntu 14.10 下安装 LAMP 服务图文详解 

LAMP结合NFS构建小型博客站点 

CentOS

# systemctl restart httpd

第四步:配置 Apache HTTP 服务

现在到了配置运行 Cachet 的 web 服务的时候了。我们使用 Apache HTTP
服务器,为 Cachet 创建一个新的虚拟主机,如下:

3) Apache, MariaDB, PHP 安装

Laravel 安装程序需要完成安装 LAMP 整个环境,需要额外安装
OpenSSL、PDO,Mbstring 和 Tokenizer 等 PHP 扩展。如果 LAMP
已经运行在你的服务器上你可以跳过这一步,直接确认一些必要的 PHP
插件是否安装好。

要安装完整 AMP 你需要在自己的服务器上运行以下命令。

结论

Cachet 是一个相当易于使用,自托管的状态页面软件。Cachet
一个高级特性是支持全 JSON API。使用它的 RESTful API,Cachet
可以轻松连接单独的监控后端(例如,Nagios),然后回馈给 Cachet
事件报告并自动更新状态。比起手工管理一个状态页它更快和有效率。

最后一句,我喜欢提及一个事。用 Cachet
设置一个漂亮的状态页面是很简单的,但要将这个软件用好并不像安装它那么容易。你需要完全保障所有
IT
团队习惯准确及时的更新状态页,从而建立公共信息的准确性。同时,你需要教用户去查看状态页面。最后,如果没有很好的填充数据,部署状态页面就没有意义,并且/或者没有一个人查看它。记住这个,尤其是当你考虑在你的工作环境中部署
Cachet 时。

4) 安装 Composer

在我们安装 Laravel 前,先让我们开始安装 composer。安装 composer 是安装
Laravel 的最重要步骤之一,因为 composer 能帮我们安装 Laravel
的各种依赖。

Fedora, CentOS 或 RHEL

在基于 Red Hat 系统上,你首先需要设置 REMI 软件库(以满足 PHP
的版本需求)。然后执行下面命令。

  1. $ sudo yum install curl git httpd mariadb-server
  2. $ sudo yum --enablerepo=remi-php56 install php php-mysql php-mbstring
  3. $ sudo git clone https://github.com/cachethq/Cachet.git /var/www/cachet
  4. $ cd /var/www/cachet
  5. $ sudo git checkout v1.1.1
  6. $ sudo chown -R apache:apache .
  7. $ sudo firewall-cmd --permanent --zone=public--add-service=http
  8. $ sudo firewall-cmd --reload
  9. $ sudo systemctl enable httpd.service; sudo systemctl start httpd.service
  10. $ sudo systemctl enable mariadb.service; sudo systemctl start mariadb.service

在基于 Red Hat 系统上设置 LAMP 的更多细节,参考下面关于LAMP相关的内容:

LAMP平台安装Xcache和Memcached加速网站运行   

CentOS/Ubuntu

在 CentOS / Ubuntu 下运行以下命令来配置 composer 。

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

澳门新葡亰网址 8

第五步:配置 /etc/hosts 来测试 Cachet

这时候,初始的 Cachet 状态页面应该启动运行了,现在测试一下。

由于 Cachet 被配置为Apache HTTP 服务的虚拟主机,我们需要调整你的客户机的
/etc/hosts 来访问他。你将从这个客户端电脑访问 Cachet 页面。(LCTT
译注:如果你给了这个页面一个正式的主机地址,则不需要这一步。)

打开 /etc/hosts,加入如下行:

  1. $ sudo vi /etc/hosts

  1. <cachet 服务器的 IP 地址> cachethost

上面名为“cachethost”必须匹配 Cachet 的 Apache 虚拟主机文件的
ServerName。

澳门新葡亰网址 9

Cachet 特性

在详细的配置 Cachet 之前,让我简单的介绍一下它的主要特性。

  • 全 JSON API:Cachet API
    可以让你使用任意的外部程序或脚本(例如,uptime 脚本)连接到 Cachet
    来自动报告突发事件或更新状态。
  • 认证:Cachet 支持基础认证和 JSON API 的 API
    令牌,所以只有认证用户可以更新状态页面。
  • 衡量系统:这通常用来展现随着时间推移的自定义数据(例如,服务器负载或者响应时间)。
  • 通知:可选地,你可以给任一注册了状态页面的人发送突发事件的提示邮件。
  • 多语言:状态页被翻译为11种不同的语言。
  • 双因子认证:这允许你使用 Google 的双因子认证来提升 Cachet
    管理账户的安全性。
  • 跨数据库支持:你可以选择 MySQL,SQLite,Redis,APC 和 PostgreSQL
    作为后端存储。

剩下的教程,我会说明如何在 Linux 上安装配置 Cachet。

CentOS

# yum install httpd mariadb-server php56w php56w-mysql php56w-mcrypt php56w-dom php56w-mbstring

要在 CentOS 7 上实现 MySQL / Mariadb
服务开机自动启动,你需要运行以下命令。

# systemctl start httpd
# systemctl enable httpd

#systemctl start mysqld
#systemctl enable mysqld

在启动 MariaDB 服务之后,你需要运行以下命令配置一个足够安全的密码。

#mysql_secure_installation

澳门新葡亰网址,故障排查

补充,万一你安装 Cachet 时遇到问题,这有一些有用的故障排查的技巧。

  1. Cachet 页面没有加载任何东西,并且你看到如下报错。

    1. production.ERROR: exception 'RuntimeException'with message 'No supported encrypter found. The cipher and / or key length are invalid.'in/var/www/cachet/bootstrap/cache/compiled.php:6695

    解决方案:确保你创建了一个应用密钥,以及明确配置缓存如下所述。

    1. $ cd /path/to/cachet
    2. $ sudo php artisan key:generate
    3. $ sudo php artisan config:cache
  2. 调用 composer 命令时有如下报错。

    1. - danielstjules/stringy 1.10.0 requires ext-mbstring *-the requested PHP extension mbstring is missing from your system.
    2. - laravel/framework v5.1.8 requires ext-mbstring *-the requested PHP extension mbstring is missing from your system.
    3. - league/commonmark 0.10.0 requires ext-mbstring *-the requested PHP extension mbstring is missing from your system.

    解决方案:确保在你的系统上安装了必要的 PHP 扩展 mbstring
    ,并且兼容你的 PHP 版本。在基于 Red Hat 的系统上,由于我们从 REMI-56
    库安装PHP,所以要从同一个库安装扩展。

    1. $ sudo yum --enablerepo=remi-php56 install php-mbstring
  3. 你访问 Cachet 状态页面时得到一个白屏。HTTP 日志显示如下错误。

    1. PHP Fatal error:Uncaught exception 'UnexpectedValueException'with message 'The stream or file "/var/www/cachet/storage/logs/laravel-2015-08-21.log" could not be opened: failed to open stream: Permission denied'in/var/www/cachet/bootstrap/cache/compiled.php:12851

    解决方案:尝试如下命令。

    1. $ cd /var/www/cachet
    2. $ sudo php artisan cache:clear
    3. $ sudo chmod -R 777 storage
    4. $ sudo composer dump-autoload

    如果上面的方法不起作用,试试禁止 SELinux:

    1. $ sudo setenforce 0

via:

作者:Dan Nanni 译者:wyangsun 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

本文永久更新链接地址:

Cachet 部署自承载系统状态页面
如果你是一个系统管理员,负责关键的 IT
基础设置或公司的服务,你将明白有效的沟通在日常任务…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图