如何在Debian 9上安装CakePHP(扩展)

时间:2019-05-19 01:26:40  来源:igfitidea点击:

CakePHP是一个快速开发web应用程序的PHP框架。
最近CakePHP发布了最新的3.6版本,对其进行了一系列改进,以提高速度和安全性。
本文将在Debian 9 (Stretch) Linux系统上设置CakePHP 3.6(或最新版本)。

步骤1 -安装LAMP服务器

如果系统已经安装了LAMP,可以跳过这一步。
如果系统上没有安装LAMP,那么使用以下命令在Linux服务器上安装LAMP。

sudo apt update
sudo apt install curl apache2 mysql-server libapache2-mod-php
sudo apt install php php-mysql php-mbstring php-intl php-xml

步骤2 -安装Composer

现在CakePHP使用composer管理依赖关系。
因此,首先我们需要在系统上使用以下命令安装Composer。
如果已经安装,就更新到最新版本。
安装Composer:

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

更新Composer:

composer self-update

步骤3 -创建CakePHP 3应用程序

在系统上安装composer之后。
让我们使用下面的composer命令来创建名为“ MyApp”的CakePHP应用程序。

composer create-project --prefer-dist cakephp/app MyApp

现在为项目文件设置适当的权限。
对于基于Debian的系统,Apache默认使用www-data作为用户。
因此,根据设置更改文件的所有权。

chown -R www-data:www-data MyApp
chmod -R 755 MyApp
chmod -R 777 MyApp/tmp

步骤4 -为CakePHP设置数据库

对于本文,我们使用MySQL作为数据库服务器。
首先使用以下命令创建一个MySQL数据库并创建。

mysql> CREATE DATABASE mydb;
mysql> GRANT ALL ON mydb.* to 'myuser'@'localhost' IDENTIFIED BY '_password_';
mysql> FLUSH PRIVILEGES;
mysql> quit

编辑 config/app.php配置文件并搜索数据库设置。

'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\DatabaseDriver\Mysql',
            'persistent' => false,
            'host' => '<orange>localhost</orange>',
            //'port' => 'nonstandard_port_number',
            'username' => '<orange>myuser</orange>',
            'password' => '<orange>_password_</orange>',
            'database' => '<orange>mydb</orange>',
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'cacheMetadata' => true,

在这里,我们有两个选项来运行CakePHP应用程序。
开发系统遵循步骤5(A),生产部署遵循步骤5(B)。

步骤5(A) -在开发环境上部署CakePHP

首先是使用其用于开发目的的内置web服务器进行安装。
这将使应用程序可以在http://host:port上使用。
在app目录中,执行:

bin/cake server

默认情况下,在没有提供任何参数的情况下,通过http://localhost:8765/访问

我们还可以像下面这样指定我们自己的主机和端口

bin/cake server -H 192.168.10.123 -p 1234

则访问地址是 http://192.168.10.123:1234/

步骤5(B) -在生产环境上部署CakePHP

第二种是使用Apache等外部web服务器进行部署,这是生产使用的首选。
让我们使用以下内容创建一个Apache VirtualHost配置文件。

<VirtualHost *:80>
    ServerAdmin Hyman@theitroad
    ServerName cakephp.theitroad.com
    DocumentRoot /var/www/html/MyApp/webroot
    <Directory /var/www/html/MyApp>
          Allowoverride All
    </Directory>
</VirtualHost>

根据设置更改ServerName和站点的文档根目录。
之后,重新加载Apache服务并访问CakePHP,比如 http://cakephp.example.com