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 |
Корисні посилання
Офіційна документація


