Установка TYPO3 8.1 на Ubuntu 16.04 с Nginx (LEMP)
Это пошаговое руководство объясняет, как установить и запустить TYPO3 8.1 на Ubuntu 16.04 в окружении LEMP (Linux + Nginx + MySQL/MariaDB + PHP). Вы получите рабочий vhost для www.example.com с корнем /var/www/www.example.com/web, создадите базу данных, настроите Nginx и PHP-FPM, выполните веб-установку TYPO3 и получите рекомендации по безопасности, отладке и миграции.
Важно: примеры команд предполагают, что вы работаете под root или используете sudo.
Основные варианты поиска (primary intent + related variants)
- Установка TYPO3 8.1 на Ubuntu 16.04
- Настройка TYPO3 с Nginx
- LEMP для TYPO3
- Конфигурация Nginx для TYPO3
- TYPO3 8.1 требования и отладка
1. Введение и предварительные требования
Это руководство показывает установку TYPO3 8.1 в виртуальном хосте www.example.com с документ-рутом /var/www/www.example.com/web. Ожидается работающий LEMP-стек. Если LEMP ещё не настроен, сначала установите Nginx, PHP 7.0-FPM и MySQL/MariaDB.
Определения в одну строку:
- LEMP: Linux + Nginx + MySQL/MariaDB + PHP-FPM.
- vhost: виртуальный хост — отдельная конфигурация веб-сайта в Nginx.
Важно: эти инструкции ориентированы на Ubuntu 16.04 и PHP 7.0. Для других версий возможны отличия в путях и пакетах.
2. Подготовка окружения (root / sudo, редактор)
Вы можете запускать команды с sudo или перейти в root:
sudo suЯ использую nano для редактирования конфигураций. Если nano отсутствует, установите его:
apt-get install nano3. Установка дополнительных модулей PHP
TYPO3 требует некоторых расширений PHP. Установите их так:
apt-get install php7.0-soap php7.0-zip4. Создание структуры сайта и загрузка TYPO3
Создайте корневую директорию сайта (если ещё не создана):
mkdir -p /var/www/www.example.com/webЗатем загрузите исходники TYPO3 8.1 и подготовьте символьные ссылки:
cd /var/www/www.example.com
wget get.typo3.org/8.1 -O typo3_src-8.1.2.tar.gz
tar xfz typo3_src-8.1.2.tar.gz
rm typo3_src-8.1.2.tar.gz
cd web
ln -s ../typo3_src-8.1.2 typo3_src
ln -s typo3_src/index.php index.php
ln -s typo3_src/typo3 typo3Сделайте файлы владеемыми юзером и группой www-data (Nginx/PHP-FPM):
chown -R www-data:www-data /var/www/www.example.comВажно: правильные права повышают безопасность и предотвращают ошибки записи при установке.
5. Создание базы данных и пользователя MySQL
Если база не создана, выполните следующие команды. В примере база — typo3, пользователь — typo3_admin, пароль — typo3_admin_password.
mysql --defaults-file=/etc/mysql/debian.cnfВ интерактивном shell MySQL:
CREATE DATABASE typo3;
ALTER DATABASE typo3 CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3_admin'@'localhost' IDENTIFIED BY 'typo3_admin_password';
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3_admin'@'localhost.localdomain' IDENTIFIED BY 'typo3_admin_password';
FLUSH PRIVILEGES;
quitПримечание: замените пароль на безопасный, особенно в продакшне.
6. Конфигурация Nginx: создание vhost
Создайте файл vhost в /etc/nginx/sites-available/:
nano /etc/nginx/sites-available/www.example.com.vhostВставьте следующую конфигурацию (пример корректен для TYPO3 8.1 и PHP-FPM):
server {
listen 80;
server_name www.example.com example.com;
root /var/www/www.example.com/web;
if ($http_host != "www.example.com") {
rewrite ^ http://www.example.com$request_uri permanent;
}
index index.php index.html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_read_timeout 1200;
}
client_max_body_size 100M;
location ~ /\.(js|css)$ {
expires 604800s;
}
if (!-e $request_filename){
rewrite ^/(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ /$1.$3 last;
}
location ~* ^/fileadmin/(.*/)?_recycler_/ {
deny all;
}
location ~* ^/fileadmin/templates/.*(\.txt|\.ts)$ {
deny all;
}
location ~* ^/typo3conf/ext/[^/]+/Resources/Private/ {
deny all;
}
location ~* ^/(typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) {
}
location / {
if ($query_string ~ ".+") {
return 405;
}
if ($http_cookie ~ 'nc_staticfilecache|be_typo_user|fe_typo_user' ) {
return 405;
} # pass POST requests to PHP
if ($request_method !~ ^(GET|HEAD)$ ) {
return 405;
}
if ($http_pragma = 'no-cache') {
return 405;
}
if ($http_cache_control = 'no-cache') {
return 405;
}
error_page 405 = @nocache;
try_files /typo3temp/tx_ncstaticfilecache/$host${request_uri}index.html @nocache;
}
location @nocache {
try_files $uri $uri/ /index.php$is_args$args;
}
}Пояснения:
- try_files в блоке @nocache обеспечивает «чистые URL» для TYPO3.
- fastcgi_pass указывает на сокет PHP-FPM по умолчанию для PHP 7.0.
- client_max_body_size регулирует максимальный размер загружаемых файлов.
7. MIME-типы
Убедитесь, что в /etc/nginx/mime.types есть следующая строка:
nano /etc/nginx/mime.typesИ там присутствует:
text/x-component htc;8. Включение vhost и перезагрузка Nginx
Создайте ссылку в sites-enabled и перезагрузите Nginx:
cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost
service nginx reload9. Подготовка установки TYPO3 (FIRST_INSTALL)
Для запуска веб-инсталлятора создайте файл FIRST_INSTALL в корне сайта и назначьте владельца www-data:
touch /var/www/www.example.com/web/FIRST_INSTALL
chown www-data:www-data /var/www/www.example.com/web/FIRST_INSTALLЭто позволит инсталлятору удалить файл по завершении установки.
10. Настройка PHP (php.ini)
Откройте php.ini для PHP-FPM и измените параметры, соответствующие требованиям TYPO3:
nano /etc/php/7.0/fpm/php.iniУстановите значения (пример из руководства):
max_execution_time=240
post_max_size = 20M
upload_max_filesize = 20M
max_input_vars=1500
memory_limit = 256MСохраните и перезапустите PHP-FPM:
service php7.0-fpm restartФакт-бокс: ключевые параметры
- TYPO3: 8.1
- Ubuntu: 16.04
- PHP: 7.0 (PHP-FPM сокет: /var/run/php/php7.0-fpm.sock)
- memory_limit: 256M
- upload_max_filesize / post_max_size: 20M
- client_max_body_size (Nginx): 100M
11. Запуск веб-инсталлятора и пошаговая установка
Откройте в браузере:

Нажмите кнопку “System looks good. Continue” для начала установки. Если появятся сообщения о несоответствии требований, устраните их (пакеты, php.ini и права файлов) и перезапустите страницу.
На странице ввода данных базы укажите:
- User: typo3_admin
- Password: typo3_admin_password
- Connection type: socket

Выберите Use an existing empty database и базу typo3.

Далее задайте логин администратора и имя сайта.

При завершении инсталляции вы можете скачать список distributions (демо-сайтов) или пропустить. Откройте бэкенд:

Админ-панель доступна по адресу http://www.example.com/typo3/ — войдите под логином admin и паролем, который вы задали.


Frontend покажет сообщение “Service Unavailable (503) No pages are found on the root level!” пока вы не добавите root-страницу в бекенде.
Рекомендация: изучите официальную документацию TYPO3 по созданию первой страницы и структуре сайта.
12. Виртуальная машина (опционально)
Готовый образ в формате ovf/ova доступен подписчикам Howtoforge. Параметры входа в VM из исходного руководства:
SSH / Shell:
- Username: administrator
- Password: howtoforge
MySQL / MariaDB:
- Username: root
- Password: howtoforge
TYPO3 Login:
- Username: admin
- Password: howtoforge
IP VM: 192.168.1.100 (можно изменить в /etc/network/interfaces)
Важно: незамедлительно смените все пароли в образе перед подключением к сети.
13. Безопасность и жесткое оформление (Security hardening)
- Уберите FIRST_INSTALL после успешной установки (установщик сам удаляет, если владелец www-data). Если файл остался — удалите.
- Используйте безопасные пароли и ограничьте доступ к базе (host=’localhost’ или unix-сокет).
- Закройте доступ к директориям конфигурации: deny all для /typo3conf и /fileadmin/private.
- Настройте HTTPS (TLS) и редирект с HTTP на HTTPS: добавьте слушатель 443 и перенаправление 80 → 443.
- Регулярно обновляйте систему, PHP и модули, чтобы получать фиксы безопасности.
- Отключите ненужные PHP-функции в php.ini (например, exec, shell_exec), если они не требуются.
14. Отладка и распространённые проблемы
Проблема: Страница установки сообщает о несоответствии требований.
- Проверьте логи PHP-FPM (/var/log/php7.0-fpm.log) и Nginx (/var/log/nginx/error.log).
- Убедитесь, что права на файлы корректны (www-data владелец).
- Проверьте значения memory_limit и max_execution_time.
Проблема: 504/502 при обработке PHP.
- Убедитесь, что PHP-FPM запущен и сокет существует: /var/run/php/php7.0-fpm.sock.
- Увеличьте fastcgi_read_timeout и worker-параметры при необходимости.
Проблема: Страницы не отображаются (чистые URL не работают).
- Проверьте try_files в конфиге Nginx: try_files $uri $uri/ /index.php$is_args$args;
- Убедитесь, что корень (root) указывает на web-поддиректорию TYPO3.
15. Критерии приёмки
- Nginx обслуживает http://www.example.com и перенаправляет на WWW.
- Веб-инсталлятор TYPO3 доступен и проходит все проверки системы.
- Админ-панель доступна по /typo3/ и можно войти под созданным админом.
- Frontend отображает страницу сайта после добавления root-страницы в бекенде.
- Логи Nginx и PHP-FPM не содержат критических ошибок.
16. Роли и чеклисты (role-based checklists)
Для системного администратора:
- Установить Nginx, PHP-FPM, MySQL/MariaDB
- Настроить сокет PHP-FPM и права на файлы
- Настроить HTTPS и бэкап конфигураций
- Обновить пакеты и настроить firewall
Для разработчика сайта:
- Убедиться, что установка прошла успешно
- Добавить root-страницу в бэкенде
- Настроить template, extensions и Templating
- Проверить работоспособность плагинов/расширений
Для контент-менеджера:
- Войти в бэкенд и изучить структуру страниц
- Создать первую страницу и заполнить контент
- Проверить отображение в frontend
17. Мини-методология отката (rollback)
- Если установка привела к сбоям, верните конфигурационные файлы из резервной копии.
- Откатите изменения базы данных из дампа (если есть): mysql typo3 < backup.sql.
- Удалите неподдерживаемые расширения или вернитесь к предыдущему релизу кода.
- Перезапустите сервисы: service php7.0-fpm restart && service nginx restart.
18. Краткие советы по миграции и совместимости
- Для обновления с более старых версий TYPO3 проверьте миграционные инструкции на официальном сайте TYPO3.
- При переходе на более позднюю версию PHP учтите, что пути к сокетам и имена пакетов могут измениться (php7.1, php7.2 и т.д.).
- При миграции с Apache на Nginx перепишите правила .htaccess в try_files/rewrites Nginx.
19. Небольшой поток принятия решений (decision flow)
flowchart TD
A[Запуск установки] --> B{Проверка требований}
B -- ОК --> C[Создать FIRST_INSTALL и запустить инсталлятор]
B -- Ошибка --> D[Исправить PHP/Nginx/пакеты]
D --> B
C --> E{База данных настроена?}
E -- Да --> F[Заполнить данные и завершить установку]
E -- Нет --> G[Создать базу и пользователя]
G --> F20. Заключение и дальнейшие шаги
После успешной инсталляции:
- Смените все временные пароли на безопасные.
- Настройте HTTPS и автоматические бэкапы.
- Установите только проверенные расширения для TYPO3.
- Ознакомьтесь с официальной документацией TYPO3 по созданию сайтов.
Резюме
- Установка TYPO3 требует настройки прав, PHP-FPM, Nginx vhost и базы данных.
- Внимательно проверьте php.ini и параметры Nginx (client_max_body_size, try_files).
- После установки обязательно обеспечить безопасность и регулярное обновление.
Источники и полезные ссылки
- TYPO3: http://typo3.org/
- Nginx: http://nginx.org/
- Nginx Wiki: http://wiki.nginx.org/
- Ubuntu: http://www.ubuntu.com/
Дополнительные изображения приведены выше для пошагового визуального сопровождения установки.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента