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

- Кратко: пошаговая инструкция по установке 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.
- Обновите индекс репозиториев Debian:
sudo apt update
- Установите необходимые пакеты (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).

- Убедитесь, что MariaDB включён и запущен:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbОжидаемый результат: enabled и active (running).

- Проверьте версию PHP и загруженные модули:
php -v
php -mВ примере использована PHP 8.2 с включёнными расширениями apcu, curl, fileinfo, gd и др.

- Проверьте наличие Composer и его версию:
which composer
sudo -u www-data composer -vВ примере Composer версии 2.5 установлен в /usr/bin/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://

Важно: удалите или ограничьте доступ к /var/www/html/info.php после проверки — файл содержит подробную информацию о сервере.
Настройка MariaDB
Далее обеспечим минимальную безопасность MariaDB и создадим базу данных для TYPO3.
- Запустите скрипт безопасной настройки:
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.
- Войдите в 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. Создадим веб-корень и скачиваем дистрибутив.
- Создайте директории и задайте права:
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- Перейдите в директорию и запустите Composer от имени пользователя www-data:
cd /var/www/typo3
sudo -u www-data composer create-project typo3/cms-base-distribution:^12 .Этот шаг загрузит структуру проекта TYPO3 и все зависимости.

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

Список файлов в каталоге покажет структуру TYPO3 ( папки public, config, vendor и др.).
ls -laНастройка виртуального хоста Apache
Для корректной работы создайте конфигурацию виртуального хоста, указывающую на папку public вашего сайта.
- Включите модули Apache:
sudo a2enmod rewrite headers- Создайте файл конфигурации /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:
sudo systemctl restart apache2Совет: для нескольких сайтов создавайте отдельные конфигурации и включайте их через a2ensite.
Настройка HTTPS с помощью Certbot
Используйте Certbot для автоматической выдачи и обновления сертификатов Let’s Encrypt.
- Установите Certbot и плагин для Apache:
sudo apt install certbot python3-certbot-apacheПодтвердите установку.

- Запустите 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.
- Проверьте готовность системы и продолжите установку.

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

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

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

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

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

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

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

Контрольные проверки после установки
- Войдите в бэкенд и проверьте доступность основных модулей.
- Создайте тестовую страницу и проверьте вывод на фронтенде.
- Проверьте логи 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: производительнее при статике и большом числе соединений, обрабатывает обратные прокси; правила переписывания настраиваются иначе.
Критерии приёмки
- Сайт доступен по HTTPS и корректно перенаправляет с HTTP.
- Вход в административную панель TYPO3 работает под созданным администратором.
- Тестовая страница отображается без ошибок и статические ресурсы загружаются.
- Логи не содержат критических ошибок (FATAL, uncaught exception) после тестов.
- Регулярное резервирование данных настроено и протестировано.
Роль‑ориентированные контрольные списки
Системный администратор:
- Обновить систему и пакеты
- Настроить файрвол и fail2ban
- Настроить резервное копирование
- Настроить мониторинг (CPU, RAM, диск)
Разработчик:
- Проверить локальную сборку через Composer
- Настроить CI для деплоя (опционально Docker)
- Протестировать расширения и их совместимость с TYPO3 12
Контент‑менеджер:
- Создать тестовый сайт и заполнить контент
- Проверить мультиязычность и права доступа
Тестовые сценарии и критерии приёмки
- Тест входа в бэкенд: ввести корректные/некорректные данные, проверить поведение и логи.
- Создание страницы: создать страницу, опубликовать, проверить вывод на фронтенде.
- Загрузка файла: загрузить файл >1MB и <50MB (в пределах upload_max_filesize) и проверить отображение.
- Восстановление резервной копии: восстановить дамп БД и файлы, убедиться в работоспособности.
Технологическая матрица совместимости (обзор)
- 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)
- Подготовить сервер и домен.
- Установить LAMP и Composer.
- Настроить PHP и права файлов.
- Установить TYPO3 через Composer.
- Настроить виртуальный хост.
- Выпустить сертификат через Certbot.
- Запустить веб‑инсталлятор, создать БД и админа.
- Протестировать, настроить резервное копирование и мониторинг.
Устранение неполадок (короткий справочник)
Проблема: белая страница при заходе на сайт
- Проверьте логи Apache и PHP.
- Проверьте права на файлы и владельца (www-data).
Проблема: Certbot не может проверить домен
- Убедитесь, что DNS запрошен и A-запись указывает на IP.
- Проверьте, что порт 80 открыт и доступен извне.
Проблема: ошибки базы при установке
- Проверьте, что пользователь и пароль правильные и у пользователя есть права на базу.
Мини‑методология безопасного развёртывания
- Разворачивайте на staging и тестируйте миграции.
- Автоматизируйте повторы через скрипты/Ansible/Docker.
- Документируйте конфигурацию и версии.
- Регулярно применяйте обновления безопасности и тестируйте откат.
Краткое резюме
Вы установили 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 в качестве альтернативы.
Спасибо — удачного развёртывания!
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента