如何在 Ubuntu 22.04/23.04上安装 CakePHP

CakePHP 是一个用 PHP 编写的开源 Web 应用程序框架。它遵循模型-视图-控制器 (MVC) 体系结构模式,该模式提供了一种结构化方法来开发 Web 应用程序。CakePHP 旨在通过提供一组约定和内置功能来简化和加速开发过程。

CakePHP 因其简单性、约定驱动的方法和强大的功能集而广受欢迎。它已被用于构建范围广泛的 Web 应用程序,从小型网站到大型企业系统。

在本教程中,我们将向您展示如何在 Ubuntu 22.04 操作系统上安装 CakePHP。

步骤 1:更新操作系统

使用以下命令将您的Ubuntu  22.04 操作系统更新 到最新版本:

# apt update && sudo apt upgrade

第 2 步:安装 Apache 网络服务器

apt 您可以通过执行以下命令通过包管理器安装它 。

# apt install apache2

Apache 使用 命令验证服务的状态 systemctl status :

# systemctl status apache2

输出:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2773 (apache2)
      Tasks: 55 (limit: 2193)
     Memory: 4.8M
        CPU: 35ms
     CGroup: /system.slice/apache2.service
             ├─2773 /usr/sbin/apache2 -k start
             ├─2775 /usr/sbin/apache2 -k start
             └─2776 /usr/sbin/apache2 -k start

第 3 步: 为 CakePHP 安装 PHP 和 PHP 扩展

要安装创建 CakePHP 项目所必需的 PHP 和其他 PHP 扩展,请运行以下命令:

# apt-get install php libapache2-mod-php php-{cli,common,curl,zip,gd,mysql,xml,mbstring,json,intl,bcmath,sqlite3}

验证是否安装了 PHP。

# php -v
Output:
PHP 8.1.2-1ubuntu2.11 (cli) (built: Feb 22 2023 22:56:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.11, Copyright (c), by Zend Technologies

第四步:安装MySQL并创建数据库

您可以使用以下命令安装 MySQL 服务器:

# apt install mysql-server

MySQL 使用 命令验证服务的状态systemctl status :

# systemctl status mysql

输出:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running)
    Process: 806 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 938 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 2193)
     Memory: 421.3M
        CPU: 3.314s
     CGroup: /system.slice/mysql.service
             └─938 /usr/sbin/mysqld

默认情况下,MySQL 服务器未加固。您可以使用mysql_secure_installation 脚本保护 MySQL。

# mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] Y
- Remove anonymous users? [Y/n] Y
- Disallow root login remotely? [Y/n] Y
- Remove test database and access to it? [Y/n] Y
- Reload privilege tables now? [Y/n] Y

现在,登录到 MySQL 提示符:

#  mysql -u root -p

要创建数据库、数据库用户并将所有权限授予数据库用户,请运行以下命令:

mysql> CREATE DATABASE cakephp_db;
mysql> CREATE USER 'cakephp_user'@'localhost' IDENTIFIED BY 'Str0Pa$$word';
mysql> GRANT ALL ON cakephp_db.* TO 'cakephp_user'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT

第 5 步:安装Composer

CakePHP 官方的安装方式是通过 Composer

运行以下命令以使用curl 命令下载 Composer 安装程序:

# curl -sS https://getcomposer.org/installer | php

接下来,将作曲家文件移动到 /usr/local/bin 路径。

# mv composer.phar  /usr/local/bin/composer

分配执行权限:

# chmod +x   /usr/local/bin/composer

验证安装的 Composer 版本:

# composer --version
Output:
Composer version 2.5.7 2023-05-24 15:00:39

第 6 步:创建 CakePHP 项目

现在,使用 Composer 创建 CakePHP 项目非常简单。为此,只需运行以下命令:

# cd /var/www
# composer create-project --prefer-dist cakephp/app MyProject

在安装的最后部分,系统会要求您更改文件夹的权限。

Set Folder Permissions ? (Default to Y) [Y,n]? Y
Permissions set on /var/www/MyProject/tmp/cache
Permissions set on /var/www/MyProject/tmp/cache/models
Permissions set on /var/www/MyProject/tmp/cache/persistent
Permissions set on /var/www/MyProject/tmp/cache/views
Permissions set on /var/www/MyProject/tmp/sessions
Permissions set on /var/www/MyProject/tmp/tests
Permissions set on /var/www/MyProject/tmp
Permissions set on /var/www/MyProject/logs
Updated Security.salt value in config/app_local.php

此外,使用以下命令更改MyProject目录的所有权:

# chown -R www-data:www-data /var/www/MyProject/

然后编辑MyProject/config/app_local.php配置文件并搜索您的数据库设置。

# nano /var/www/MyProject/config/app_local.php

根据以下详细信息进行必要的更改:

    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',

            'username' => 'cakephp_user',
            'password' => 'Str0Pa$$word',

            'database' => 'cakephp_db',

第 7 步:部署 CakePHP(开发)

要检查 CakePHP 是否已正确安装,只需运行 PHP 的内置网络服务器来为您的项目提供服务。

# bin/cake server

默认情况下,不提供任何参数,这将在http://localhost:8765/为您的应用程序提供服务。

您还可以指定自己的主机和端口:

# bin/cake server -H 192.168.10.10 -p 4321

这将为您在http://192.168.10.10:4321/的应用程序提供服务

注意:这是为了开发目的而不是为了生产。

第 8 步:为 CakePHP 配置 Apache(生产)

要创建新的 VirtualHost 文件,请运行以下命令:

# nano /etc/apache2/sites-available/cakephp.conf

粘贴内容如下图:

 <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/MyProject/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    <Directory /var/www/MyProject/> 
        AllowOverride All
        Require all granted
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
    CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined

 </VirtualHost>

请记住替换 your-domain.com 为您的服务器的域名。

保存并退出配置文件。

"rewrite" 然后在 Apache 中启用该 模块:

# a2enmod rewrite

要启用此站点,请运行以下命令:

# a2ensite cakephp.conf

要实施更改,请重新启动 Apache 网络服务器:

# systemctl restart apache2

第 9 步:访问 CakePHP

要访问您的 CakePHP 项目,请转到您的浏览器并访问http://your-domain.com

CakePHP 4

您将看到数据库已正确连接。

评论和结论

就是这样。您现在可以根据您的要求创建控制器、模型和视图来开发您的项目。

如需其他帮助或有用信息,我们建议您查看官方 CakePHP 文档

类似文章