4.1.11 TYPO3: установка на сервере

TYPO3 — свободная CMS (Content Management System) для сайтов корпоративного уровня с гибкой архитектурой, расширениями и мощной системой прав. Она написана на PHP, использует MySQL/MariaDB или PostgreSQL и отлично работает с Nginx или Apache. В руководстве используется подход «чистой» установки через Composer и конфигурация Nginx + PHP-FPM.
Подготовка
Требования
- Активная услуга Виртуального или Выделенного сервера.
- CPU: 2–4 vCPU; RAM: 4–8 GB; SSD: от 20 GB.
- ОС: Ubuntu 24.04 LTS с правами
sudoилиroot. - Веб-сервер Nginx, PHP-FPM 8.2/8.3 с типичными расширениями, СУБД MySQL 8.0+/MariaDB 10.5+ или PostgreSQL 12+, Composer 2.
- Открыты порты 80/443; настроены
A/AAAAзаписи дляDOMAIN_NAME.
Переменные окружения
DOMAIN_NAME— домен сайтаSERVER_IP— публичный IP сервераDB_NAME,DB_USER,DB_PASSWORD— параметры БДTYPO3_PATH— путь к проекта, например/var/www/typo3PHP_FPM_SOCKET— путь к сокету, например/run/php/php8.2-fpm.sock
Установка TYPO3 на сервер
sudo apt update && sudo apt -y upgrade
sudo apt -y install curl gnupg2 software-properties-common unzip ca-certificates
Классическая подготовка: свежие пакеты и набор утилит для репозиториев и загрузки артефактов.
Установите PHP-FPM и необходимые расширения
sudo apt -y install php8.2 php8.2-fpm php8.2-cli php8.2-mbstring php8.2-xml php8.2-gd php8.2-intl php8.2-zip php8.2-curl php8.2-mysql php8.2-opcache
php -v
TYPO3 v13 LTS поддерживает PHP 8.2/8.3. Проверка версии php -v фиксирует установленную версию.
Установите Nginx
sudo apt -y install nginx
sudo systemctl enable --now nginx
Nginx будет фронтендом, который проксирует PHP-скрипты в PHP-FPM.
Установите и подготовьте СУБД (пример: MySQL/MariaDB)
sudo apt -y install mysql-server
mysql --version
Создайте БД и пользователя:
sudo mysql <<'SQL'
CREATE DATABASE DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASSWORD';
GRANT ALL PRIVILEGES ON DB_NAME.* TO 'DB_USER'@'localhost';
FLUSH PRIVILEGES;
SQL
Используем utf8mb4 для полной поддержки Юникода и эмодзи в контенте.
Установите Composer 2
php -r "copy('https://getcomposer.org/installer','composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"
composer --version
Composer управляет зависимостями, обновлениями и skeleton-проектом TYPO3.
Разверните проект TYPO3
sudo mkdir -p TYPO3_PATH && sudo chown -R $USER:$USER TYPO3_PATH
cd TYPO3_PATH
composer create-project typo3/cms-base-distribution:^13.4 .
Используем LTS-ветку ^13.4 без :latest. Структура будет создана в TYPO3_PATH.
Настройте подключение к базе и базовые параметры
cp .env.example .env || true
sed -i 's/^DB_DRIVER=.*/DB_DRIVER=mysqli/' .env
sed -i 's/^DB_HOST=.*/DB_HOST=127.0.0.1/' .env
sed -i 's/^DB_NAME=.*/DB_NAME=DB_NAME/' .env
sed -i 's/^DB_USER=.*/DB_USER=DB_USER/' .env
sed -i 's/^DB_PASSWORD=.*/DB_PASSWORD=DB_PASSWORD/' .env
В cms-base-distribution доступен .env для подключения к БД. Используем драйвер mysqli.
Права и владелец проекта
sudo chown -R www-data:www-data TYPO3_PATH
sudo find TYPO3_PATH -type d -exec chmod 755 {} \;
sudo find TYPO3_PATH -type f -exec chmod 644 {} \;
Владелец www-data позволяет PHP-FPM писать кэш и генерируемые файлы.
Конфигурация Nginx для TYPO3
server {
listen 80;
server_name DOMAIN_NAME;
root TYPO3_PATH/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:PHP_FPM_SOCKET;
}
location ~* \.(?:css|js|jpg|jpeg|gif|png|svg|webp|ico)$ {
expires 30d;
access_log off;
}
location ~ /\. {
deny all;
}
}
Активируйте сайт и перезагрузите Nginx:
sudo ln -s /etc/nginx/sites-available/typo3.conf /etc/nginx/sites-enabled/typo3.conf
sudo nginx -t && sudo systemctl reload nginx
root указывает на public, где находится index.php фронт-контроллер TYPO3.
Установка TYPO3 на сервер с панелью управления
Важно! Если ваш сервер управляется панелью ISPmanager, cPanel или Plesk — установку PHP и MySQL выполняйте средствами панели, без ручных команд.
- Скачайте последнюю стабильную версию с официального сайта TYPO3.
- Загрузите архив в папку вашего домена (
/var/www/DOMAIN_NAME) через FTP или менеджер файлов панели хостинга. - Распакуйте архив и убедитесь, что файлы доступны веб-серверу.
- Создайте базу данных.
- В браузере откройте
http://DOMAIN_NAME/— появится мастер установки.
Запустите веб-установщик TYPO3
Откройте http://DOMAIN_NAME/ и пройдите мастер установки:
- Создайте файл с именем
FIRST_INSTALLв корне каталога, после этого обновите страницу.

- Укажите
DB_NAME,DB_USERот созданной ранее базы данных.

- Выберите ранее созданную базу данных, укажите
DB_PASSWORDили создайте новую.

- Создайте административного пользователя и укажите имя сайта.

- Перейдите в административную панель.

Проверка работы
- Перейдите в
http://DOMAIN_NAME/typo3и войдите как администратор. - В «Environment» проверьте статус расширений PHP — все ключевые модули должны быть зелёными.
- Создайте страницу и контент-элемент, убедитесь, что он выводится на фронтенде.
- Контрольные команды:
php --version
php -m | grep -E 'mbstring|intl|xml|gd|curl|zip'
php vendor/bin/typo3 extension:list | head -n 20
Настройка дополнительных функций TYPO3
SSL/TLS (HTTPS)
Для работы по защищенному протоколу HTTPS используйте Let’s Encrypt или коммерческий SSL-сертификат
Кэширование и производительность
Включите opcache и настройте параметры PHP в php.ini:
opcache.enable=1
opcache.validate_timestamps=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.interned_strings_buffer=16
Перезапустите PHP-FPM: sudo systemctl restart php8.2-fpm.
Обработка изображений (GD и Imagick)
TYPO3 использует графические библиотеки для генерации миниатюр, ресайза и обработки изображений. Доступны два драйвера: GD (входит в стандарт PHP) и Imagick (предпочтителен при высоких нагрузках или сложных форматах).
sudo apt -y install php8.2-gd imagemagick php8.2-imagick
sudo systemctl restart php8.2-fpm
Рекомендация! Используйте GD, если сервер ограничен по ресурсам — он проще и уже встроен в PHP. Для качественного ресайза и поддержки TIFF/WEBP/PNG с альфа-каналом — активируйте Imagick.
Проверить доступные расширения можно командой:
php -m | grep -E 'gd|imagick'
В TYPO3 выберите драйвер в разделе Settings → Configuration Presets → Image Handling.
Планировщик задач (Scheduler)
Добавьте cron-задачу для очистки кэша, индексации и т.д.:
(crontab -l 2>/dev/null; echo "*/5 * * * * cd TYPO3_PATH && php vendor/bin/typo3 scheduler:run >/dev/null 2>&1") | crontab -
Распространённые ошибки
| Ошибка / Симптом | Причина | Решение |
|---|---|---|
| 502 Bad Gateway | Неверный PHP_FPM_SOCKET или не запущен PHP-FPM |
Уточните путь к сокету, перезапустите php8.2-fpm |
| Белый экран | Фатальная ошибка PHP/отсутствуют расширения | Включите логи, установите недостающие модули |
Нет записи в fileadmin/var |
Неправильные права на файлы и папки сайта, которые мешают процессам пользователя www-data запись в указанную директорию |
Выдайте владельца/права на проект |
| Ошибка подключения к БД | Неверные DB_* в .env |
Проверьте значения, пользователя и права |
| Установщик не создаёт таблицы | Недостаточно прав пользователя БД | Дайте ALL PRIVILEGES на DB_NAME |
Полезные ссылки
Официальная документация


