如何在 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 文档。