本教程适用于以下操作系统版本
- 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

现在使用以下 '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 以继续安装。

安装完成后,请验证 Apache 和 MariaDB 两个服务的状态,然后检查 PHP、Composer 和 GraphicsMagick 的版本。
使用以下命令验证 Apache 服务状态。您应看到 Apache 服务的输出为 'enabled' 和 'active (running)'。
sudo systemctl is-enabled apache2
sudo systemctl status apache2

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

现在执行以下命令检查 PHP 和 Composer 版本。在 Ubuntu 24.04 上,默认的 PHP 版本为 8.3,Composer 为 2.7.1。
php -v
sudo -u www-data composer --version

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

配置 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' 等配置项。

配置 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;

接下来,运行以下查询以检查用户 'typo3' 的权限。这将确保用户 'typo3' 可以访问 TYPO3 CMS 安装的数据库 'typo3db'。
SHOW GRANTS FOR typo3@localhost;
下面的输出显示用户 'typo3' 可以访问数据库 'typo3db'。
最后,输入 quit 退出 MariaDB 服务器。

通过 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 的下载和安装过程:

通过命令行安装配置 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

配置 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

使用 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 确认。

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

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

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