PyroCMS是一个基于PHP和Laravel框架的开源内容管理系统(CMS)。它是一个功能强大的CMS,使用MySQL/MariaDB作为数据库,并提供直观简便的Web管理界面,方便进行内容管理。
本教程将指导你在Ubuntu 24.04上使用LEMP技术栈(Linux、Nginx、MySQL/MariaDB和PHP-FPM)以及Composer安装PyroCMS。
前提条件
在开始之前,请确保你具备以下条件:
- 一台Ubuntu 24.04服务器。
- 一个具有管理员权限的非root用户。
- 一个已指向服务器IP地址的域名。
安装依赖项
PyroCMS是一个基于Laravel的内容管理系统,使用MySQL/MariaDB作为数据库。在安装PyroCMS之前,你需要在Ubuntu系统上安装LEMP技术栈和Composer。
首先,运行以下apt命令更新软件包索引并安装LEMP技术栈和Composer。
sudo apt update && sudo apt install nginx mariadb-server composer php-cli php-fpm php-mysql php-curl php-sqlite3 php-mbstring php-gd php-xml
输入Y确认安装。

安装完成后,检查LEMP技术栈服务以确保它们正常运行。
使用以下systemctl命令检查Nginx Web服务器。
sudo systemctl is-enabled nginx
sudo systemctl status nginx

现在使用以下命令检查MariaDB服务器状态:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

接下来,运行以下命令检查PHP-FPM服务。
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

最后,使用以下命令检查Composer版本。你会看到已安装的Composer版本。
sudo -u www-data composer --version

配置PHP-FPM
安装完依赖项后,你将通过修改php.ini文件中的默认配置并重启PHP-FPM服务来配置PHP-FPM。
使用nano编辑器打开PHP-FPM的php.ini文件。
sudo nano /etc/php/8.3/fpm/php.ini
将默认配置修改为以下内容,并根据你当前的环境调整date.timezone和memory_limit选项。
date.timezone = Europe/Amsterdam max_execution_time = 130 memory_limit = 256M allow_url_fopen = On allow_url_include = Off post_max_size = 128M upload_max_filesize = 128M max_input_vars = 5000
完成后,保存文件并退出编辑器。
现在运行以下systemctl命令重启PHP-FPM服务,使php.ini的更改生效。
sudo systemctl restart php8.3-fpm
配置MariaDB服务器
配置完PHP-FPM后,你将保护MariaDB服务器安装并创建新的数据库和用户供PyroCMS使用。
使用以下mariadb-secure-installation命令保护MariaDB服务器安装。
sudo mariadb-secure-installation
你将被询问以下配置项:
- 切换到unix_socket认证?输入n并按回车。
- 默认的MariaDB root用户已被保护。你可以输入y启用。
- 更改root密码。输入y确认并设置新的MariaDB root密码。
- 移除匿名用户?输入y确认。
- 禁止root远程登录?输入y确认。
- 移除测试数据库?输入y确认并删除默认的test数据库。
- 最后,再次输入y重新加载所有表权限并应用新更改。
配置完MariaDB后,你将创建PyroCMS的新数据库和用户。
使用以下mariadb命令登录MariaDB服务器。出现提示时输入root密码。
sudo mariadb -u root -p
现在运行以下查询创建新数据库pyrocmsdb、新用户pyrocms@localhost,密码为passw0rd。根据需要更改数据库名、用户名和密码。
CREATE DATABASE pyrocmsdb;
GRANT ALL PRIVILEGES ON pyrocmsdb.* TO pyrocms@localhost IDENTIFIED BY 'passw0rd';
FLUSH PRIVILEGES;

接下来,运行以下查询验证用户pyrocms@localhost的权限。你会看到pyrocmsdb数据库可被用户pyrocms@localhost访问。
SHOW GRANTS FOR pyrocms@localhost;

最后,输入quit退出MariaDB服务器。
下载PyroCMS源代码
创建Composer和PyroCMS的新目录,进入/var/www/pyrocms,然后将新目录的所有权更改为用户www-data。在这种情况下,/var/www/pyrocms将用作PyroCMS的文档根目录。
mkdir -p /var/www/{.config,.cache,pyrocms}; cd /var/www/pyrocms
sudo chown -R www-data:www-data /var/www/{.config,.cache,pyrocms}
现在运行以下composer命令下载PyroCMS源代码,并安装和更新PHP依赖。
sudo -u www-data composer create-project pyrocms/pyrocms .
sudo -u www-data composer update
以下是通过composer命令安装PyroCMS的过程:

安装完成后,继续下一步。
设置Nginx服务器块
在本节中,你将为PyroCMS安装创建新的Nginx服务器块配置。确保你有一个已指向Ubuntu服务器IP地址的域名。本例中使用域名howtoforge.local。
使用nano编辑器创建新的Nginx服务器块配置文件/etc/nginx/sites-available/pyrocms.conf。
sudo nano /etc/nginx/sites-available/pyrocms.conf
复制并粘贴以下配置,确保将server_name更改为你的域名。
server {
listen 80;
server_name howtoforge.local;
index index.php index.html;
root /var/www/pyro/public;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php-8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}
完成后,保存并退出文件。
现在运行以下命令创建pyrocms.conf文件的符号链接到/etc/nginx/sites-enabled目录,并验证Nginx语法。
sudo ln -s /etc/nginx/sites-available/pyrocms.conf /etc/nginx/sites-enabled/
sudo nginx -t

如果Nginx语法正确,你将看到输出"test is successful - syntax is ok"。
最后,运行以下systemctl命令重启Nginx Web服务器使更改生效。
sudo systemctl restart nginx
使用Let's Encrypt为PyroCMS配置HTTPS
为了保护PyroCMS安全,你将通过Let's Encrypt实现HTTPS。为此,你需要安装Certbot来生成SSL/TLS证书并自动在PyroCMS安装中实现HTTPS。
使用以下命令安装certbot和python3-certbot-nginx软件包。输入Y确认安装。
sudo apt install certbot python3-certbot-nginx
现在运行以下certbot命令生成SSL证书并使用HTTPS保护PyroCMS。
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email admin@example.com -d example.com
过程完成后,你的证书将保存在/etc/letsencrypt/live/domain.com目录中,PyroCMS现已通过HTTPS保护。
使用Web安装程序安装PyroCMS
打开Web浏览器并访问你的域名(例如https://howtoforge.local/)。你将看到PyroCMS安装页面:

- 选择"I Agree"接受PyroCMS的许可证。
- 输入数据库名、用户和密码。
- 输入新的管理员用户、电子邮件地址和密码。
- 输入站点详细信息,如域名、语言和时区。
- 点击"Install"确认安装。
安装完成后,你将看到以下页面:

点击"View Site"访问PyroCMS首页。你将看到PyroCMS的默认首页。

点击"Login"进入PyroCMS登录界面。输入管理员用户名和密码,然后点击"Login"。

如果成功,你将看到PyroCMS管理仪表盘。

总结
恭喜!你已完成在Ubuntu 24.04服务器上安装PyroCMS。你已经使用LEMP技术栈安装了PyroCMS,并通过Composer下载了PyroCMS,同时通过Certbot和Let's Encrypt为PyroCMS配置了HTTPS安全连接。