Гид по технологиям

Установка TYPO3 CMS на Debian 12 (LAMP)

• 10 min read • Инструкции • Обновлено 25 Nov 2025
Установка TYPO3 CMS на Debian 12 (LAMP)
Установка TYPO3 CMS на Debian 12 (LAMP)

Логотип или иллюстрация TYPO3

  • Кратко: пошаговая инструкция по установке TYPO3 CMS 12 на Debian 12 с LAMP (Apache2, MariaDB, PHP 8.2) и Composer, с настройкой виртуального хоста, HTTPS через Certbot и начальными проверками. Подойдёт для серверных администраторов и разработчиков.
  • Что нужно: сервер Debian 12, пользователь с sudo, домен с A-записью на сервер.

Важно: перед началом убедитесь, что у вас есть резервные копии и план восстановления для текущего сервера.

О чём статья

Эта инструкция подробно описывает установку TYPO3 CMS на Debian 12 с использованием LAMP-стека и Composer. Кроме базовых шагов, добавлены рекомендации по безопасности, проверочные сценарии, список альтернатив и контрольные списки для ролей (администратор, разработчик). В конце — краткое резюме и советы по отладке.

Ключевые варианты запроса

  • установка TYPO3
  • TYPO3 на Debian 12
  • TYPO3 LAMP установка
  • настройка TYPO3 через Composer
  • как установить TYPO3 12

Введение

TYPO3 — это свободная и открытая система управления контентом корпоративного уровня. Она предоставляет функции, характерные для корпоративных решений: масштабируемый движок, мультисайты, поддержка нескольких языков, серьёзная безопасность и возможность разворачивания в самых разных средах.

Использование TYPO3 позволяет создавать гибкие и надёжные сайты. Сообщество TYPO3 активно поддерживает продукт и экосистему расширений. По дизайну TYPO3 — модульная система с адаптируемой и разъединённой архитектурой.

Эта инструкция показывает, как установить TYPO3 CMS на сервер с Debian 12 в связке LAMP (Apache2, MariaDB, PHP) и Composer.

Требования перед началом

  • Сервер с Debian 12.
  • Непользователь root с правами sudo.
  • Доменное имя, указывающее на IP сервера.
  • Время и часовой пояс сервера корректно настроены.

Совет: используйте staging-сервер для отработки установки перед продакшеном.

Установка зависимостей

TYPO3 написан на PHP и используют MySQL/MariaDB. Для установки удобнее всего использовать Composer. В этой инструкции выбран LAMP (Apache2, MariaDB, PHP) и Composer, устанавливаемые через APT.

  1. Обновите индекс репозиториев Debian:
sudo apt update

Обновление репозиториев APT

  1. Установите необходимые пакеты (Apache2, MariaDB, Composer, PHP и расширения PHP):
sudo apt install apache2 mariadb-server composer php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

Подтвердите установку, введя y или yes при запросе.

Проверки после установки:

  • Убедитесь, что служба Apache включена и запущена:
sudo systemctl is-enabled apache2
sudo systemctl status apache2

Ожидаемый результат: enabled, active (running).

Проверка Apache2

  • Убедитесь, что MariaDB включён и запущен:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Ожидаемый результат: enabled и active (running).

Проверка MariaDB

  • Проверьте версию PHP и загруженные модули:
php -v
php -m

В примере использована PHP 8.2 с включёнными расширениями apcu, curl, fileinfo, gd и др.

Проверка PHP

  • Проверьте наличие Composer и его версию:
which composer
sudo -u www-data composer -v

В примере Composer версии 2.5 установлен в /usr/bin/composer.

Проверка Composer

Важно: если у вас более старая версия PHP, обновите до поддерживаемой версии, совместимой с TYPO3 12.

Настройка PHP

TYPO3 требует определённых настроек PHP. Отредактируйте конфигурацию Apache-PHP (/etc/php/8.2/apache2/php.ini).

Откройте файл в редакторе:

sudo nano /etc/php/8.2/apache2/php.ini

Измените/дополните параметры, адаптировав под вашу среду:

memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500

date.timezone = Europe/Amsterdam

post_max_filesize = 50M
upload_max_filesize = 50M

Примечание: установите date.timezone в соответствии с вашим регионом (например, Europe/Moscow для Москвы).

Сохраните изменения и перезапустите Apache:

sudo systemctl restart apache2

Создайте файл phpinfo для быстрой проверки установки:

echo "" > /var/www/html/info.php

Откройте http:///info.php. Вы должны увидеть страницу с информацией о PHP.

Вывод phpinfo

Важно: удалите или ограничьте доступ к /var/www/html/info.php после проверки — файл содержит подробную информацию о сервере.

Настройка MariaDB

Далее обеспечим минимальную безопасность MariaDB и создадим базу данных для TYPO3.

  1. Запустите скрипт безопасной настройки:
sudo mariadb-secure-installation

В процессе вас попросят изменить некоторые настройки. Рекомендуемые ответы:

  • Switch to unix_socket authentication? — n (если вы хотите использовать пароль для root, иначе настройте по потребностям).
  • Change the root password? — y (рекомендуется задать пароль).
  • Remove anonymous users? — y.
  • Disallow root login remotely? — y (если вы не планируете удалённый доступ под root).
  • Remove test database and access to it? — y.
  • Reload privilege tables now? — y.
  1. Войдите в MariaDB и создайте базу данных и пользователя для TYPO3:
sudo mariadb -u root -p

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

Замените ‘typo3password’ на надёжный пароль.

Создание базы данных

Проверьте права пользователя:

SHOW GRANTS FOR typo3@localhost;

Ожидаемый вывод покажет привилегии для typo3@localhost на базу typo3db.

Проверка прав пользователя БД

Затем введите quit для выхода.

Загрузка TYPO3 через Composer

Мы установим TYPO3 версии 12 через Composer. Создадим веб-корень и скачиваем дистрибутив.

  1. Создайте директории и задайте права:
mkdir -p /var/www/{.cache,.config,typo3}
sudo chown -R www-data:www-data /var/www/{.cache,.config,typo3}
sudo chmod u+rw /var/www/typo3
  1. Перейдите в директорию и запустите Composer от имени пользователя www-data:
cd /var/www/typo3
sudo -u www-data composer create-project typo3/cms-base-distribution:^12 .

Этот шаг загрузит структуру проекта TYPO3 и все зависимости.

Установка TYPO3 через Composer

По завершении вы увидите сообщение об успешной установке.

Установка завершена

Список файлов в каталоге покажет структуру TYPO3 ( папки public, config, vendor и др.).

ls -la

Настройка виртуального хоста Apache

Для корректной работы создайте конфигурацию виртуального хоста, указывающую на папку public вашего сайта.

  1. Включите модули Apache:
sudo a2enmod rewrite headers
  1. Создайте файл конфигурации /etc/apache2/sites-available/typo3.conf:
sudo nano /etc/apache2/sites-available/typo3.conf

Вставьте следующий пример и замените ServerName и ServerAdmin на ваши значения:


    ServerAdmin [email protected]
    DocumentRoot /var/www/typo3/public
    ServerName howtoforge.local

     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    

Сохраните и активируйте сайт:

sudo a2ensite typo3.conf
sudo apachectl configtest

Ожидаемый вывод: Syntax OK

Проверка конфигурации Apache

Перезапустите Apache:

sudo systemctl restart apache2

Совет: для нескольких сайтов создавайте отдельные конфигурации и включайте их через a2ensite.

Настройка HTTPS с помощью Certbot

Используйте Certbot для автоматической выдачи и обновления сертификатов Let’s Encrypt.

  1. Установите Certbot и плагин для Apache:
sudo apt install certbot python3-certbot-apache

Подтвердите установку.

Установка Certbot

  1. Запустите Certbot для вашего домена:
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Замените email и домен на ваши значения. После успешной генерации сертификаты будут храниться в /etc/letsencrypt/live/<ваш_домен>/. Certbot автоматически обновит виртуальный хост и настроит перенаправление на HTTPS.

Важно: проверьте, что домен корректно указывает на сервер, иначе Certbot не сможет подтвердить владение доменом.

Установка TYPO3 через веб-инсталлятор

Для запуска веб-инсталлятора в корне public должен существовать файл FIRST_INSTALL.

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

Откройте в браузере ваш домен: https://howtoforge.local/. Вы попадёте в веб-инсталлятор TYPO3.

  1. Проверьте готовность системы и продолжите установку.

Старт установки через веб-инсталлятор

  1. Укажите данные доступа к базе данных (пользователь, пароль, хост). Нажмите Continue.

Настройки БД в инсталляторе

  1. Выберите Use existing empty database и базу typo3db.

Выбор существующей базы

  1. Создайте административного пользователя TYPO3 (логин, пароль, email).

Создание администратора

  1. По завершении нажмите Open the TYPO3 Backend чтобы войти в админку.

Установка завершена

Введите логин/пароль администратора на странице входа.

Страница входа в TYPO3

После входа вы увидите административную панель TYPO3.

Панель администратора TYPO3

Проверьте системную информацию через меню «Информация»: в примере установлены TYPO3 12, PHP 8.2, MariaDB 10.11 и Apache2 2.4.

Системная информация TYPO3

Контрольные проверки после установки

  • Войдите в бэкенд и проверьте доступность основных модулей.
  • Создайте тестовую страницу и проверьте вывод на фронтенде.
  • Проверьте логи Apache (/var/log/apache2/) и PHP (syslog или php-fpm если используется) на наличие ошибок.
  • Проверьте автоматическое обновление сертификатов (certbot renew –dry-run).

Безопасность и усиление защиты

Рекомендации по повышению безопасности сервера TYPO3:

  • Ограничьте доступ к каталогу /var/www/typo3 только необходимым пользователям (www-data и администраторы).
  • Отключите показ версий ПО в заголовках сервера: ServerSignature Off, ServerTokens Prod.
  • Настройте файрвол: ufw allow ‘Apache Full’; затем разрешите только нужные порты (80, 443, SSH по необходимости).
  • Установите fail2ban для защиты SSH и возможных веб-атак.
  • Регулярно обновляйте систему и PHP-расширения через apt.
  • Настройте резервное копирование БД и файлов: регулярные дампы mysqldump и архивация public/uploads.
  • Убедитесь, что файл FIRST_INSTALL удалён после установки (или защищён), иначе установка может быть перезапущена.
  • Ограничьте доступ к /typo3/cli_dispatch.phps и другим служебным файлам через правила Apache/Nginx.

Дополнительно для PHP:

  • php.ini: выставьте disable_functions для потенциально опасных команд, если они не требуются.
  • Включите расширение opcache и apcu (для кеширования) и настройте их параметры.

Краткий чеклист безопасности:

  • Установлены обновления безопасности
  • Работают SSL-сертификаты
  • Защищён доступ к инсталлятору
  • Настроены права на файлы
  • Настроен резервный план

GDPR и обработка данных

Если ваш сайт обрабатывает персональные данные пользователей, учтите следующее:

  • Сведите к минимуму хранение персональных данных в базе данных.
  • Настройте политики хранения логов и резервных копий, чтобы избежать длительного хранения лишней персональной информации.
  • Для аналитики используйте средства, соответствующие требованиям GDPR (анонимизация IP, явное согласие на cookies).
  • В админке TYPO3 и расширениях проверьте, какие данные сохраняются формами и кто имеет к ним доступ.

Важно: юридическая ответственность и требования зависят от юрисдикции — проконсультируйтесь со специалистом по защите персональных данных.

Альтернативные подходы

  • Nginx вместо Apache: более лёгкий в ресурсоёмких окружениях, но требует ручной настройки правил переписывания.
  • Docker-контейнеры: удобны для изолированных окружений и CI/CD, позволяют точно фиксировать версии зависимостей.
  • Управляемые хостинги для TYPO3: ускоряют развёртывание, берут на себя обновления и резервное копирование.

Когда выбирать альтернативу:

  • Если у вас много сайтов на одном сервере и требуется высокая производительность — рассмотрите Nginx.
  • Для команды разработчиков с CI/CD — Docker облегчит воспроизводимость.
  • Для небольших проектов без собственных админов — управляемый хостинг может быть эффективнее.

Сравнение: Apache vs Nginx (кратко)

  • Apache: простая интеграция с .htaccess, модульная архитектура, удобен для традиционных LAMP-приложений.
  • Nginx: производительнее при статике и большом числе соединений, обрабатывает обратные прокси; правила переписывания настраиваются иначе.

Критерии приёмки

  1. Сайт доступен по HTTPS и корректно перенаправляет с HTTP.
  2. Вход в административную панель TYPO3 работает под созданным администратором.
  3. Тестовая страница отображается без ошибок и статические ресурсы загружаются.
  4. Логи не содержат критических ошибок (FATAL, uncaught exception) после тестов.
  5. Регулярное резервирование данных настроено и протестировано.

Роль‑ориентированные контрольные списки

Системный администратор:

  • Обновить систему и пакеты
  • Настроить файрвол и fail2ban
  • Настроить резервное копирование
  • Настроить мониторинг (CPU, RAM, диск)

Разработчик:

  • Проверить локальную сборку через Composer
  • Настроить CI для деплоя (опционально Docker)
  • Протестировать расширения и их совместимость с TYPO3 12

Контент‑менеджер:

  • Создать тестовый сайт и заполнить контент
  • Проверить мультиязычность и права доступа

Тестовые сценарии и критерии приёмки

  1. Тест входа в бэкенд: ввести корректные/некорректные данные, проверить поведение и логи.
  2. Создание страницы: создать страницу, опубликовать, проверить вывод на фронтенде.
  3. Загрузка файла: загрузить файл >1MB и <50MB (в пределах upload_max_filesize) и проверить отображение.
  4. Восстановление резервной копии: восстановить дамп БД и файлы, убедиться в работоспособности.

Технологическая матрица совместимости (обзор)

  • TYPO3 12 — рекомендуемая версия в этой инструкции.
  • PHP: 8.1/8.2 поддерживаются TYPO3 12 (в инструкции использована 8.2).
  • MariaDB/MySQL: современные версии MariaDB 10.x или MySQL 8 совместимы; в примере MariaDB 10.11.
  • Веб‑сервер: Apache 2.4 или Nginx.

Совет: всегда проверяйте совместимость расширений (extensions) с версией TYPO3.

Миграция с предыдущих версий

Если переносите сайт с TYPO3 9/10/11 на 12:

  • Проверьте совместимость установленных расширений; обновите или замените несовместимые.
  • Выполните обновление базы через CLI команды миграции (TYPO3 Upgrade wizards в Install Tool).
  • Тестируйте на staging-сервере перед переносом в прод.

Быстрый план действий (SOP)

  1. Подготовить сервер и домен.
  2. Установить LAMP и Composer.
  3. Настроить PHP и права файлов.
  4. Установить TYPO3 через Composer.
  5. Настроить виртуальный хост.
  6. Выпустить сертификат через Certbot.
  7. Запустить веб‑инсталлятор, создать БД и админа.
  8. Протестировать, настроить резервное копирование и мониторинг.

Устранение неполадок (короткий справочник)

Проблема: белая страница при заходе на сайт

  • Проверьте логи Apache и PHP.
  • Проверьте права на файлы и владельца (www-data).

Проблема: Certbot не может проверить домен

  • Убедитесь, что DNS запрошен и A-запись указывает на IP.
  • Проверьте, что порт 80 открыт и доступен извне.

Проблема: ошибки базы при установке

  • Проверьте, что пользователь и пароль правильные и у пользователя есть права на базу.

Мини‑методология безопасного развёртывания

  1. Разворачивайте на staging и тестируйте миграции.
  2. Автоматизируйте повторы через скрипты/Ansible/Docker.
  3. Документируйте конфигурацию и версии.
  4. Регулярно применяйте обновления безопасности и тестируйте откат.

Краткое резюме

Вы установили TYPO3 CMS 12 на Debian 12 с LAMP (Apache2, MariaDB, PHP 8.2) и Composer. Настроили виртуальный хост и SSL при помощи Certbot, запустили веб‑инсталлятор и проверили базовые функции. Дополнительно приведены рекомендации по безопасности, тестированию и альтернативные варианты развёртывания.

Самое важное:

  • Убедитесь в регулярном резервировании и обновлениях.
  • Ограничьте доступ к инсталлятору и административным интерфейсам.
  • Проверяйте совместимость расширений при обновлениях TYPO3.

Полезные команды на заметку:

sudo systemctl status apache2
sudo systemctl status mariadb
php -v
sudo -u www-data composer install
sudo certbot renew --dry-run

Если потребуется, используйте Docker‑образ для изолированной установки или рассмотрите Nginx в качестве альтернативы.

Спасибо — удачного развёртывания!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро