本教程适用于以下操作系统版本

  • Ubuntu 24.04(Noble Numbat)
  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 20.04(Focal Fossa)
  • Ubuntu 14.04 LTS(Trusty Tahr)

本页内容

  • 准备工作
  • 安装依赖项
  • 配置 PHP
  • 配置 MariaDB 服务器
  • 通过 Composer 下载 TYPO3
  • 通过命令行安装配置 TYPO3
  • 配置 Apache 虚拟主机
  • 使用 HTTPS 保护 TYPO3 CMS
  • 访问 TYPO3
  • 结语

TYPO3 是一款免费的开源企业级内容管理系统。它提供了企业级功能,例如支持多站点、可扩展的内容管理系统,支持多语言安装,具备强大的安全实现,运行速度极快,并且可以部署在任何环境中。

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

在本指南中,您将在 Ubuntu 24.04 服务器上安装 TYPO3。您将使用 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)、Composer 和 GraphicsMagick 来安装 TYPO3。

准备工作

在开始本指南之前,请确保您具备以下条件:

  • 一台 Ubuntu 24.04 服务器。
  • 一个具有管理员权限的非 root 用户。
  • 一个已指向服务器 IP 地址的域名。

安装依赖项

TYPO3 是一款使用 PHP 编写的开源内容管理系统,支持 MySQL/MariaDB 和 PostgreSQL 等数据库。在本节中,您将安装 TYPO3 所需的依赖项,包括 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)、作为 PHP 依赖管理工具的 Composer,以及用于图像处理的 GraphicsMagick。

在开始前,请使用以下命令更新您的 Ubuntu 软件包索引。

sudo apt update

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

现在使用以下 'apt install' 命令安装 TYPO3 CMS 所需的软件包依赖。通过该命令,您将安装 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)、作为 PHP 包管理器的 Composer、Git,以及用于自动图像处理的 GraphicsMagick 等依赖。

sudo apt install apache2 mariadb-server composer graphicsmagick php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-gmagick php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

输入 Y 以继续安装。

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

安装完成后,请验证 Apache 和 MariaDB 两个服务的状态,然后检查 PHP、Composer 和 GraphicsMagick 的版本。

使用以下命令验证 Apache 服务状态。您应看到 Apache 服务的输出为 'enabled' 和 'active (running)'。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

接下来,使用以下命令检查 MariaDB 服务状态。输出应与 Apache 类似,您将看到 MariaDB 服务器为 'enabled' 且 'active (running)'。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

现在执行以下命令检查 PHP 和 Composer 版本。在 Ubuntu 24.04 上,默认的 PHP 版本为 8.3,Composer 为 2.7.1。

php -v
sudo -u www-data composer --version

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

最后,使用以下命令检查 GraphicsMagick 版本。您应该看到系统上已安装 GraphicsMagick 1.3。

gm version

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

配置 PHP

要安装 TYPO3,您必须修改默认的 PHP 配置文件 'php.ini'。您需要同时编辑 Apache 和 PHP CLI 的 'php.ini' 文件,然后为 TYPO3 安装更改一些默认配置。

使用以下 nano 编辑器命令编辑 Apache 和 PHP CLI 的 'php.ini' 文件。

sudo nano /etc/php/8.3/apache2/php.ini
sudo nano /etc/php/8.3/cli/php.ini

更改以下默认配置。请根据您的服务器环境调整 'memory_limit' 和 'date.timezone' 选项。

date.timezone = Europe/Amsterdam
memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500
post_max_size = 50M
upload_max_filesize = 50M

保存文件并退出。

现在运行以下命令以重启 Apache 服务并应用 PHP 的更改。

sudo systemctl restart apache2

之后,运行以下命令在 '/var/www/html' 目录中创建一个新的 'info.php' 文件。

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

最后,使用您常用的 Web 浏览器访问 http://192.168.5.30/info.php。您将看到 PHP 配置的详细信息,请确保您通过 'php.ini' 配置的所有内容均已生效。

进入 'Core' 部分查看 PHP 安装中的 'memory_limit'、'post_max_size'、'max_execution_time' 等配置项。

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

配置 MariaDB 服务器

配置好 PHP 后,您需要加固 MariaDB 服务器,然后为 TYPO3 创建新的数据库和用户。在本节中,您将使用 'mariadb-secure-installation' 工具加固 MariaDB,并通过命令行创建新的数据库和用户。

执行以下 'mariadb-secure-installation' 命令来加固您的 MariaDB 服务器安装。

sudo mariadb-secure-installation

现在,系统将提示您配置 MariaDB 服务器。输入 Y 以接受默认设置,或输入 n 以拒绝。

  • MariaDB 默认安装没有密码,在提示输入密码时直接按 ENTER。
  • 输入 Y 设置 MariaDB root 密码。然后输入新的 MariaDB 密码并重复确认。
  • 输入 Y 以移除 MariaDB 安装中的匿名用户。
  • 在提示时再次输入 Y 以禁止 MariaDB root 用户远程登录。
  • 输入 Y 以移除 MariaDB 中的默认 test 数据库。
  • 最后,输入 Y 重新加载权限表并应用新更改。

配置完 MariaDB 服务器后,使用以下命令登录 MariaDB。在提示时输入您的 MariaDB root 密码。

sudo mariadb -u root -p

现在运行以下 SQL 语句创建新数据库 'typo3db' 和新用户 'typo3',密码为 'Typo3Password'。请根据需要修改数据库信息。

CREATE DATABASE typo3db;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'Typo3Password';
FLUSH PRIVILEGES;

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

接下来,运行以下查询以检查用户 'typo3' 的权限。这将确保用户 'typo3' 可以访问 TYPO3 CMS 安装的数据库 'typo3db'。

SHOW GRANTS FOR typo3@localhost;

下面的输出显示用户 'typo3' 可以访问数据库 'typo3db'。

最后,输入 quit 退出 MariaDB 服务器。

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

通过 Composer 下载 TYPO3

安装和下载 TYPO3 源代码有多种方式。现在您将设置 TYPO3 安装目录,然后使用 Composer(PHP 依赖管理工具)下载 TYPO3。

首先,运行以下命令为 Composer 缓存和配置以及 TYPO3 安装目录 '/var/www/typo3' 创建新目录。

sudo mkdir -p /var/www/{.cache,.config,typo3}

现在运行以下命令将上述目录的所有权更改为用户 'www-data',然后为 '/var/www/typo3' 目录启用读写权限。

sudo chown -R www-data:www-data /var/www/{.cache,.config,typo3}
sudo chmod u+rw /var/www/typo3

接下来,进入 '/var/www/typo3' 目录,并使用以下 'composer' 命令安装 TYPO3 CMS。本示例中,您将在 Ubuntu 服务器上安装最新版本的 TYPO3 CMS v12。

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

您可以在下方看到 TYPO3 CMS 的下载和安装过程:

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

通过命令行安装配置 TYPO3

下载 TYPO3 CMS 源代码后,您将通过命令行配置 TYPO3 安装。您也可以使用 Web 浏览器完成配置,但现在您将从终端配置 TYPO3 CMS 安装。

要通过命令配置 TYPO3 CMS 安装,请运行以下命令:

./vendor/bin/typo3 setup

系统将提示您进行以下配置:

  • 输入 apache 作为 Web 服务器。
  • 输入 mysqli 作为数据库驱动。
  • 输入将用于 TYPO3 CMS 的 MariaDB 用户名、密码、端口和主机信息。
  • 输入 typo3db 作为数据库名称。
  • 输入 TYPO3 CMS 的管理员用户名、密码和电子邮箱地址。您的密码必须至少包含一个特殊字符。
  • 项目名称保持默认即可。
  • 在提示创建基础站点时按 ENTER。

如果安装成功,您将看到输出 'Congratulations - TYPO3 Setup is done'。

最后,重新运行以下命令将 '/var/www/typo3' 目录的所有权更改为用户 'www-data'。

sudo chown -R www-data:www-data /var/www/typo3

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

配置 Apache 虚拟主机

既然您已经通过终端配置好 TYPO3,接下来为 TYPO3 安装配置 Apache 虚拟主机。请确保您已准备好域名。

首先,使用以下命令启用 Apache 的 'rewrite' 模块。

sudo a2enmod rewrite

然后使用以下 nano 编辑器命令创建新的虚拟主机文件 '/etc/apache2/sites-available/typo3.conf'。

sudo nano /etc/apache2/sites-available/typo3.conf

插入以下配置,并确保将 ServerName 选项改为您的 TYPO3 CMS 域名。本示例中,TYPO3 CMS 将运行在域名 'howtoforge.local' 上。

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

现在运行以下命令以启用 'typo3.conf' 虚拟主机文件并验证 Apache 语法。如果 Apache 语法正确,将显示 'Syntax OK'。

sudo a2ensite typo3.conf
sudo apachectl configtest

最后,使用以下命令重启 Apache 服务以应用 TYPO3 CMS 虚拟主机配置。执行后,您的 TYPO3 CMS 安装即准备就绪。

sudo systemctl restart apache2

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

使用 HTTPS 保护 TYPO3 CMS

在本节中,您将使用 Certbot 和 Letsencrypt 通过 HTTPS 保护 TYPO3 CMS。Certbot 用于从 Letsencrypt 生成 SSL/TLS 证书。此外,您将使用 Certbot Apache 插件在虚拟主机上设置自动 HTTPS。

使用以下命令安装 Certbot 和 Certbot Apache 插件。输入 Y 以继续安装。

sudo apt install certbot python3-certbot-apache

安装完成后,运行以下 'certbot' 命令为您的 TYPO3 CMS 域名生成 SSL/TLS 证书。请确保将域名和电子邮箱地址替换为您的实际信息。

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

流程结束后,您的 TYPO3 CMS 将自动通过 HTTPS 得到保护。您的 SSL/TLS 证书位于 '/etc/letsencrypt/live/domain.com' 目录中。

访问 TYPO3

使用您常用的 Web 浏览器访问 TYPO3 CMS 登录页面 https://howtoforge.local/typo3。如果安装成功,您将看到 TYPO3 CMS 登录页面。

输入您的管理员用户名和密码,然后点击 Login 确认。

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

登录后,您将看到如下的 TYPO3 CMS 管理后台仪表盘:

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

在右上角菜单中,点击信息图标以查看 TYPO3 CMS 技术栈的详细信息。如下所示,已安装 TYPO3 CMS 12.4,搭配 Apache 2.4.58、MariaDB 服务器 10.11、PHP 8.3,并启用了 Composer 模式。

在 Ubuntu 24.04 上安装 TYPO3 CMS 内容管理系统

结语

恭喜!您已成功在 Ubuntu 24.04 服务器上安装 TYPO3 CMS。您已让 TYPO3 CMS 在 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)、GraphicsMagick 图像处理以及 Composer 模式下运行。您还使用 Certbot 和 Letsencrypt 通过 HTTPS 保护了 TYPO3 CMS。