如何在Debian 9上安装CakePHP(扩展)
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
。