CentOS 7 / Ubuntu 15.04 上安装 PHP Laravel 过程详解

澳门新葡亰娱乐在线 2

大家好,这篇文章将要讲述如何在 CentOS 7 / Ubuntu 15.04 上安装
Laravel。如果你是一个 PHP Web
的开发者,你并不需要考虑如何在琳琅满目的现代 PHP 框架中选择,Laravel
是最轻松启动和运行的,它省时省力,能让你享受到 web 开发的乐趣。Laravel
信奉着一个普世的开发哲学,通过简单的指导创建出可维护代码是最优先的,你将保持着高速的开发效率,能够随时毫不畏惧更改你的代码来改进现有功能。

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

如果你是一个系统管理员,负责关键的 IT
基础设置或公司的服务,你将明白有效的沟通在日常任务中的重要性。假设你的线上存储服务器故障了。你希望团队所有人达成共识你好尽快的解决问题。当你忙来忙去时,你不会想一半的人问你为什么他们不能访问他们的文档。当一个维护计划快到时间了你想在计划前提醒相关人员,这样避免了不必要的开销。

这一切的要求或多或少改进了你、你的团队、和你服务的用户之间沟通渠道。一个实现它的方法是维护一个集中的系统状态页面,报告和记录故障停机详情、进度更新和维护计划等。这样,在故障期间你避免了不必要的打扰,也可以提醒一些相关方,以及加入一些可选的状态更新。

有一个不错的开源, 自承载系统状态页解决方案叫做
Cachet。在这个教程,我将要描述如何用 Cachet 部署一个自承载系统状态页面。

澳门新葡亰娱乐在线 1

澳门新葡亰娱乐在线 2

Cachet 特性

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

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

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

Laravel 安装并不繁琐,你只要跟着本文章一步步操作就能在 CentOS 7 或者
Ubuntu 15 服务器上安装。

第一步:下载和安装 Cachet

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

1) 服务器要求

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

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

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-7

# yum install epel-release

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# yum update

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加速网站运行   

Ubuntu

# apt-get install python-software-properties
# add-apt-repository ppa:ondrej/php5

# apt-get update

# apt-get install -y php5 mcrypt php5-mcrypt php5-gd

配置 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

第三步:安装 PHP 依赖和执行数据库迁移

下面,我们将要安装必要的PHP依赖包。我们会使用 composer
来安装。如果你的系统还没有安装 composer,先安装它:

  1. $ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

现在开始用 composer 安装 PHP 依赖包。

  1. $ cd /var/www/cachet
  2. $ sudo composer install --no-dev -o

下面执行一次性的数据库迁移。这一步会在我们之前创建的数据库里面创建那些所需的表。

  1. $ sudo php artisan migrate

假设在 /var/www/cachet/.env
的数据库配置无误,数据库迁移应该像下面显示一样成功完成。

澳门新葡亰娱乐在线 3

下面,创建一个密钥,它将用来加密进入 Cachet 的数据。

  1. $ sudo php artisan key:generate
  2. $ sudo php artisan config:cache

澳门新葡亰娱乐在线 4

生成的应用密钥将自动添加到你的 .env 文件 APP_KEY
变量中。你不需要自己编辑 .env。

3) Apache, MariaDB, PHP 安装

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

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

第四步:配置 Apache HTTP 服务

现在到了配置运行 Cachet 的 web 服务的时候了。我们使用 Apache HTTP
服务器,为 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

Debian,Ubuntu 或 Linux Mint

  1. $ sudo vi /etc/apache2/sites-available/cachet.conf

  1. <VirtualHost *:80>
  2. ServerName cachethost
  3. ServerAlias cachethost
  4. DocumentRoot "/var/www/cachet/public"
  5. <Directory"/var/www/cachet/public">
  6. Require all granted
  7. Options Indexes FollowSymLinks
  8. AllowOverride All
  9. Order allow,deny
  10. Allow from all
  11. </Directory>
  12. </VirtualHost>

启用新虚拟主机和 mod_rewrite:

  1. $ sudo a2ensite cachet.conf
  2. $ sudo a2enmod rewrite
  3. $ sudo service apache2 restart

Ubuntu

# apt-get install mysql-server apache2 libapache2-mod-php5 php5-mysql

Fedora, CentOS 或 RHEL

在基于 Red Hat 系统上,创建一个虚拟主机文件,如下:

  1. $ sudo vi /etc/httpd/conf.d/cachet.conf

  1. <VirtualHost *:80>
  2. ServerName cachethost
  3. ServerAlias cachethost
  4. DocumentRoot "/var/www/cachet/public"
  5. <Directory"/var/www/cachet/public">
  6. Require all granted
  7. Options Indexes FollowSymLinks
  8. AllowOverride All
  9. Order allow,deny
  10. Allow from all
  11. </Directory>
  12. </VirtualHost>

现在重载 Apache 配置:

  1. $ sudo systemctl reload httpd.service

发表评论

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

相关文章

网站地图xml地图