本页内容

  • 准备工作
  • 安装 httpd Web 服务器
  • 安装 MariaDB 服务器
  • 创建 MariaDB 数据库和用户
  • 安装 PHP 8.0
  • 安装 Composer
  • 安装 Certbot
  • 下载 TYPO3 CMS 源代码
  • 配置 httpd 虚拟主机
  • 开始 TYPO3 安装
  • 结束语

TYPO3 是一个免费且开源的企业级内容管理系统。它提供多种企业级特性,例如支持多站点的可扩展 CMS、多语言安装、强大的安全实现、极快的运行速度,并且可以运行于任何环境。

使用 TYPO3 CMS 可以让你构建灵活且可靠的网站。TYPO3 CMS 背后拥有一个充满活力的专业社区。从设计上看,TYPO3 CMS 是一个可插拔的内容管理系统,具有自适应和解耦的架构。

在本指南中,你将在 Rocky Linux 9 服务器上安装 TYPO3 CMS(企业级内容管理系统)。你将使用 httpd Web 服务器、MariaDB 数据库以及最新版本的 PHP 8.0 来部署 TYPO3 CMS。本指南包含通过 Certbot 和 Letsencrypt 实现 HTTPS,用于保障 TYPE3 部署的安全。

准备工作

首先,你必须满足以下要求才能完成本指南:

  • 一台 Rocky Linux 9 服务器——本示例使用主机名为 ' TYPO3-Roc k' 的 Rocky Linux。
  • 一个具有 sudo/root 权限的非 root 用户。
  • 运行在 permissive(宽松)模式下的 SELinux。
  • 指向服务器 IP 地址的域名——本示例使用域名 ' howtoforge.local '。

就是这些。当所有要求准备就绪后,你就可以开始安装了。

安装 httpd Web 服务器

TYPO3 是一个用 PHP 编写的企业级 CMS(内容管理系统)和 Web 应用程序。它可以运行于各种类型的 Web 服务器。在本示例中,你将使用 httpd Web 服务器来安装并运行 TYPE3 CMS。

在安装任何软件包之前,请执行以下 dnf 命令,将 EPEL(Extra Package for Enterprise Linux,企业版 Linux 附加软件包)仓库添加到你的系统中。后续安装其他软件包时将需要用到该仓库。

sudo dnf install epel-release

现在运行以下 dnf 命令来安装 httpd Web 服务器。当提示时,输入 y 确认并按 ENTER 继续。

sudo dnf install httpd

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

httpd 安装完成后,执行以下 systemctl 命令来启动并启用 httpd Web 服务器。这会使 httpd Web 服务器运行,并使其在系统启动时自动启动。

sudo systemctl start httpd
sudo systemctl enable httpd

使用以下 systemctl 命令验证 httpd Web 服务器的状态。你应该会看到类似 ' enabled ' 的输出,这表明 httpd 服务将在启动时自动运行。同时 httpd Web 服务器的状态应为 running(运行中)。

sudo systemctl is-enabled httpd
sudo systemctl status httpd

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

在访问你的 httpd 安装之前,你必须通过 firewalld 在 Rocky Linux 系统上开放 HTTP 和 HTTPS 协议。

执行以下 firewall-cmd 命令,将 HTTP 和 HTTPS 端口都添加到 firewalld 中。然后重新加载 firewalld 以应用更改。

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

输出 ' success ' 表明操作成功。你现在可以通过以下命令验证 firewalld 规则列表。

sudo firewall-cmd --list-all

在 'services'(服务)部分,你应该能看到 HTTP 和 HTTPS 协议都已添加到 firewalld 中。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

现在你已经安装了 httpd Web 服务器并配置了 firewalld。接下来,你将开始安装 MariaDB 数据库服务器。

安装 MariaDB 服务器

在本节中,你将安装 MariaDB 数据库服务器,并使用 'mariadb-secure-installation' 命令自动加固部署。

首先,执行以下 dnf 命令来安装 MariaDB 数据库服务器。

sudo dnf install mariadb-server

当提示时输入 y 并按 ENTER 继续。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

现在使用以下 systemctl 命令启动并启用 MariaDB 服务。MariaDB 服务现在应该处于运行并已启用状态,这意味着 MariaDB 服务将在系统启动后自动启动。

sudo systemctl start mariadb
sudo systemctl enable mariadb

执行以下 systemctl 命令来验证 MariaDB 服务,确保该服务处于运行且已启用状态。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

输出 ' enabled ' 表明 MariaDB 服务器已启用,并将在系统启动时自动运行。输出 ' active (running) ' 表明 MariaDB 服务器正在运行。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

最后,运行以下 'mariadb-secure-installation' 命令来加固 MariaDB 部署。

sudo mariadb-secure-installation

接下来会询问你以下配置项——你可以输入 y 确认,或输入 n 表示否。

  • 将认证方式更改为 unix_socket?输入 n。
  • 更改 MariaDB root 密码?输入 y 确认,输入 MariaDB 服务器的新密码并重复该密码。
  • 禁止远程 root 登录?输入 y 确认——root 用户不应被允许远程连接。
  • 删除匿名用户?输入 y 确认。
  • 删除默认数据库 'test'?输入 y 确认并移除 test 数据库。
  • 最后,输入 y 重新加载权限表并应用新的更改。

当 MariaDB 部署完成后,你就可以为 TYPO3 CMS 部署创建新的数据库和用户了。

创建 MariaDB 数据库和用户

在本节中,你将创建一个新的 MariaDB 数据库和用户,用于 TYPO3 CMS 的安装。

首先,通过下面的 ' mariadb ' 命令登录到 MariaDB shell。输入你的 MariaDB root 密码并按 ENTER。

sudo mariadb -u root -p

现在运行以下 MariaDB 查询来创建新的数据库和用户。在本示例中,你将创建一个名为 ' typo3db ' 的数据库,用户名为 ' typo3 '。请务必更改以下查询中的密码,并确保使用 ' utf8mb4 ' 作为数据库的默认字符集。

CREATE DATABASE typo3db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

接下来,使用以下查询验证 MariaDB 上的可用用户列表。你应该能看到新用户 ' typo3 ' 已添加并在你的 MariaDB 服务器上可用。

SELECT USER,host FROM mysql.user;

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

最后,使用以下查询验证 MariaDB 用户 ' typo3 ' 的权限。你应该能看到用户 ' typo3 ' 对数据库 ' typo3db ' 拥有全部权限。

SHOW GRANTS FOR typo3@localhost;

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

现在输入 quit 退出 MariaDB shell。

至此,你已完成 TYPO3 CMS 安装所需的 MariaDB 数据库配置。进入下一步开始安装 PHP。

安装 PHP 8.0

TYPO3 CMS 主要使用 PHP 编写,在撰写本文时,最新版本的 TYPO3 CMS 支持 PHP 8.x 软件包。在本节中,你将安装 PHP 8.0,它默认在 Rocky Linux 9 仓库中可用。

执行以下 dnf 命令安装 PHP 8.0 软件包。当提示时,输入 y 确认并按 ENTER 继续。

sudo dnf install php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

PHP 安装完成后,使用以下 nano 编辑器命令打开配置文件 '/etc/php.ini'。

sudo nano /etc/php.ini

使用以下行修改默认的 php.ini 配置。

memory_limit = 512M
max_execution_time = 300
max_input_vars = 2000
date.timezone = Europe/Stockholm
post_max_size = 30M
upload_max_filesize = 30M

完成后保存并退出文件 ' /etc/php.ini'。

现在运行以下 systemctl 命令重启 httpd 服务,以使你对 'php.ini' 文件所做的更改生效。

sudo systemctl restart httpd

你也可以通过下面的 'php' 命令验证当前的 PHP 版本。你应该会看到系统中已安装 PHP 8.0 的输出。

php --version

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

现在你已经安装了 PHP 8.0 软件包并配置了 php.ini 文件。下一步,你将安装 Composer(PHP 的依赖管理器),它将被用于安装 TYPO3 CMS 的 PHP 依赖。

安装 Composer

Composer 是一个应用级的 PHP 依赖管理器。它可以通过官方安装脚本手动安装,也可以通过 EPEL 仓库安装。

执行以下 dnf 命令从 EPEL 仓库安装 Composer。当提示时,输入 y 确认并按 ENTER 继续。

sudo dnf install composer

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

Composer 安装完成后,执行以下命令验证 Composer 版本。

sudo -u apache composer -V

下面的输出确认 Composer v2.5.1 已安装在你的 Rocky Linux 系统上。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

Composer 安装完成后,下一步是安装 Certbot,它将用于从 Letsencrypt 生成 SSL/TLS 证书。

安装 Certbot

Certbot 是一个用于从 Letsencrypt 生成 SSL/TLS 证书的命令行工具。对于基于 RHEL 的发行版,你可以从 EPEL 仓库安装 Certbot。

执行以下 dnf 命令,将 ' certbot ' 和 ' python3-certbot-apache ' 软件包安装到系统中。当提示时输入 y 并按 ENTER 继续。

sudo dnf install certbot python3-certbot-apache

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

安装完成后,运行以下命令验证你的安装。

which certbot
certbot --version

' certbot ' 命令的二进制路径位于 ' /bin/certbot '。你安装的 certbot 版本为 v2.1.0。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

Composer 和 certbot 安装完成后,你就可以安装 TYPO3 CMS 了。

下载 TYPO3 CMS 源代码

在本节中,你将设置目标安装目录并下载 TYPO3 CMS 源代码。

执行以下命令创建一个新目录 '/var/www/typo3'。它将作为 TYPO3 CMS 的根安装目录。

mkdir -p /var/www/typo3

将 ' /var/www/typo3' 目录的所有权更改为用户和组 ' apache '。同时,你必须确保该目录的所有者可以对其读写。这样,你便将 TYPO3 CMS 源代码的访问权限授予了默认以 ' apache ' 用户运行的 httpd Web 服务器。

sudo chown -R apache:apache /var/www/typo3
sudo chmod u+rw /var/www/typo3

现在进入 ' /var/www/typo3 ' 目录,并使用以下 composer 命令下载 TYPO3 CMS 源代码。

cd /var/www/typo3
sudo -u apache composer create-project typo3/cms-base-distribution:^11 .

输出:

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

TYPO3 CMS 源代码下载完成后,执行以下命令验证 ' /var/www/typo3' 目录下的文件和目录列表。

ls -lah /var/www/typo3

下面的输出确认 TYPO3 CMS 源代码已下载。同时,你必须确保 TYPO3 CMS 源代码的所有权为 ' apache ' 用户和组。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

既然你已经下载了 TYPO3 CMS 源代码,接下来你将创建并配置用于运行 TYPO3 CMS 的 httpd 虚拟主机配置。

配置 httpd 虚拟主机

在本节中,你将创建一个新的 httpd 虚拟主机配置,用于运行 TYPO3 CMS。你还将通过 Certbot 命令从 Letsencrypt 生成 SSL/TLS 证书。

在开始之前,请确保你的域名已指向服务器 IP 地址,并准备一个用于向 Letsencrypt 注册的电子邮件地址。

使用以下 nano 编辑器命令创建一个新的 httpd 虚拟主机配置文件 ' /etc/httpd/conf.d/typo3.conf'。

sudo nano /etc/httpd/conf.d/typo3.conf

将以下行添加到文件中,并确保更改 TYPO3 CMS 安装的域名。

<VirtualHost *:80>
    ServerAdmin 
[email protected]
    DocumentRoot /var/www/typo3/public
    ServerName howtoforge.local
    Protocols h2 http/1.1
     <Directory /var/www/typo3/public/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>
     ErrorLog /var/log/httpd/typo3-error.log
     CustomLog /var/log/httpd/typo3-access.log combined
    
     <Directory /var/www/typo3/public/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    </Directory>
</VirtualHost>

完成后保存并退出文件 '/etc/httpd/conf.d/typo3.conf'。

接下来,运行以下命令验证并确保你的 httpd 配置正确。成功时,你应该看到类似 ' syntax OK ' 的输出。

sudo apachectl configtest

现在执行以下 systemctl 命令重启 httpd 服务并应用更改。

sudo systemctl restart httpd

至此,你已完成 TYPO3 CMS 的 httpd 虚拟主机配置。

现在执行以下 certbot 命令,为你的 TYPO3 CMS 域名生成 SSL/TLS 证书。同时,请务必更改以下命令中的域名和电子邮件地址。

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email 
[email protected]
 -d howtoforge.local

完成后,你的 SSL/TLS 证书将位于 ' /etc/letsencrypt/live/yourdomain.com/ ' 目录中。此外,你的 httpd 虚拟主机配置将自动配置 SSL 证书,并实现从 HTTP 到 HTTPS 的自动重定向。

至此,你已完成 TYPO3 CMS 的 httpd Web 服务器配置。你也为 TYPO3 CMS 域名生成了 SSL/TLS 证书。现在你可以访问你的 TYPO3 CMS 安装了。

开始 TYPO3 安装

在开始 TYPO3 CMS 安装之前,你必须在 ' /var/www/typo3/public/' 目录下创建一个名为 ' FIRST_INSTALL ' 的空白文件。这将表明你是在此服务器上首次安装 TYPO3 CMS。

执行以下命令,在 '/var/www/typo3/public/' 目录中创建新文件 ' FIRST_INSTALL '。

sudo -u apache touch /var/www/typo3/public/FIRST_INSTALL

现在打开你的 Web 浏览器,并输入你的 TYPO3 CMS 安装域名(例如:https://howtoforge.local/)。

TYPO3 CMS 安装程序将在第一页检查并验证你的系统环境。请确保你看到 ' No problems detected, continue with installation '(未检测到问题,继续安装)按钮,这表明你的系统已准备好进行 TYPO3 CMS 安装。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

现在输入将用于 TYPO3 CMS 安装的 MariaDB 用户的详细信息。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

选择 ' Use an existing empty database '(使用现有空数据库)选项,并在下拉菜单中选择数据库 ' typo3db '。然后点击 Continue(继续)。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

现在输入 TYPO3 CMS 管理员用户的用户名、电子邮件地址和密码。请务必使用一个强密码。

点击 Continue(继续)以继续。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

完成后,你应该会看到类似 ' Installation Complete '(安装完成)的输出。

现在选择 ' Take me straight to the backend '(直接进入后台)选项,并点击 ' Open the TYPO3 Backend '(打开 TYPO3 后台)按钮以继续。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

随后你将被重定向到 TYPO3 CMS 登录页面。输入你的管理员用户名和密码,然后点击 Login(登录)。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

如果成功,你应该会看到 TYPO3 CMS 管理仪表板。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

你可以点击用户资料左侧的 'Application Information'(应用信息)菜单,来验证你用于 TYPO3 CMS 安装的软件详细信息。

你应该在下面的截图中看到类似的信息——在撰写本文时,你已通过 httpd/Apache Web 服务器、PHP 8.0 和 MariaDB 数据库服务器安装了 TYPO3 CMS v11.5。

Rocky Linux 9 系统下安装配置 TYPO3 CMS 内容管理系统建站教程

结束语

在本指南中,你已在 Rocky Linux 9 服务器上安装了企业级内容管理系统 TYPO3 CMS。你已使用 httpd Web 服务器、MariaDB 数据库服务器和 PHP 8.0 完成了 TYPO3 CMS 的安装。

此外,你还安装了 Certbot 以从 Letsencrypt 生成 SSL 证书。并通过 SSL/TLS 证书加固了 TYPO3 CMS 安装,同时通过 Certbot 配置了从 HTTP 到 HTTPS 的自动重定向。

至此,你可以通过创建站点记录、添加后台用户以及添加后台语言来启用多语言,从而开始你的 TYPO3 CMS 配置。要了解更多关于 TYPO3 CMS 的信息,请访问 TYPO3 的官方文档。