Как установить CMS TYPO3 на Ubuntu 24.04
TYPO3 — это бесплатная система управления контентом
корпоративного уровня с открытым исходным кодом. Она обладает такими
функциями корпоративного уровня, как масштабируемая CMS с поддержкой нескольких
сайтов, многоязычная установка, надежная система безопасности, высокая скорость
работы и возможность запуска в любом месте.
Использование TYPO3 CMS позволяет создавать гибкие и
надежные веб-сайты. TYPO3 CMS поддерживается активным профессиональным
сообществом. По своей сути TYPO3 CMS — это модульная система управления
контентом с адаптивной и независимой архитектурой.
В этом руководстве вы узнаете, как установить TYPO3 на
сервер Ubuntu 24.04. Вы установите TYPO3 с помощью стека LAMP (Linux,
Apache, MySQL/MariaDB и PHP), Composer и GraphicsMagick.
Ссылка на первоисточник; https://www.howtoforge.com/how-to-install-typo3-cms-on-ubuntu-24-04/
Необходимые условия
Прежде чем приступить к изучению этого руководства,
убедитесь, что у вас есть следующее:
·
Сервер Ubuntu 24.04.
·
Пользователь без прав root с
правами администратора.
·
Доменное имя, указывающее на
IP-адрес сервера.
Установка зависимостей
TYPO3 — это система управления контентом с открытым
исходным кодом, написанная на PHP и поддерживающая такие базы данных, как
MySQL/MariaDB и PostgreSQL. В этом разделе вы установите зависимости для
TYPO3, в том числе стек LAMP (Linux, Apache, MySQL/MariaDB и PHP), Composer для
управления зависимостями PHP и GraphicsMagick для обработки изображений.
Прежде чем начать, обновите индекс пакетов Ubuntu с
помощью приведенной ниже команды.
sudo
apt update

Теперь установите зависимости пакета для TYPO3 CMS с
помощью следующей команды 'apt install'. С помощью этой команды вы
установите такие зависимости, как стек LAMP (Linux, Apache, MySQL/MariaDB и
PHP), Composer в качестве менеджера пакетов PHP, Git и GraphicsMagick для
автоматической обработки изображений.
sudo
apt install apache2 mariadb-server composer graphicsmagick php php-common
php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl
php-gmagick php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml
php-soap
Введите Y, чтобы продолжить установку.

После завершения установки проверьте состояние служб
Apache и MariaDB, а затем версии PHP, Composer и GraphicsMagick.
Проверьте состояние службы Apache с помощью
приведенной ниже команды. Вы должны увидеть, что служба Apache работает в
режиме «включено» и «активна (работает) ».
sudo systemctl is-enabled apache2
sudo systemctl status apache2

Затем проверьте состояние службы MariaDB с помощью
следующей команды. Результат должен быть таким же, как в случае с Apache:
вы увидите, что сервер MariaDB 'включен' и 'активен (работает)'.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Теперь выполните приведенную ниже команду, чтобы
проверить версии PHP и Composer. В Ubuntu 24.04 по умолчанию установлена
версия PHP 8.3, а Composer — 2.7.1.
php
-v
sudo -u www-data composer --version

Наконец, проверьте версию GraphicsMagick с помощью
приведенной ниже команды. Вы увидите, что в вашей системе Ubuntu
установлена версия GraphicsMagick 1.3.
gm version

Настройка PHP
Чтобы установить TYPO3, необходимо изменить файл
конфигурации PHP по умолчанию 'php.ini'. Вам нужно отредактировать файл
'php.ini' как для Apache, так и для PHP CLI, а затем изменить некоторые
настройки по умолчанию для установки TYPO3.
Отредактируйте файл 'php.ini' для Apache и PHP
CLI с помощью следующей команды в редакторе nano.
sudo nano /etc/php/8.3/apache2/php.ini
sudo nano /etc/php/8.3/cli/php.ini
Измените конфигурацию по умолчанию следующим
образом. Не забудьте настроить параметры 'memory_limit' и 'date.timezone'
в соответствии с конфигурацией вашего сервера.
date.timezone
= Europe/Amsterdam
memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500
post_max_size = 50M
upload_max_filesize = 50M
Сохраните файл и выйдите.
Теперь выполните приведенную ниже команду, чтобы
перезапустить службу Apache и применить изменения в PHP.
sudo
systemctl restart apache2
После этого выполните следующую команду, чтобы создать
новый 'info.php' файл в каталоге '/var/www/html'.
echo "<?php phpinfo(); ?>" >
/var/www/html/info.php
Наконец, перейдите по адресу http://192.168.5.30/info.php с помощью вашего любимого веб-браузера. Вы
увидите подробную информацию о настройках PHP. Убедитесь, что все, что вы
настроили в 'php.ini', применяется.
Перейдите в раздел 'Core', чтобы увидеть 'memory_limit',
'post_max_size', 'max_execution_time' и другие параметры вашей
установки PHP.

Настройка сервера MariaDB
Теперь, когда вы настроили PHP, вам нужно защитить
сервер MariaDB, а затем создать новую базу данных и пользователя для
TYPO3. В этом разделе вы защитите MariaDB с помощью утилиты 'mariadb-secure-installation'
и создадите новую базу данных и пользователя в командной строке.
Защитите свою установку сервера MariaDB, выполнив
команду 'mariadb-secure-installation' ниже.
sudo
mariadb-secure-installation
Теперь вам будет предложено настроить сервер
MariaDB. Введите Y, чтобы принять настройки по умолчанию, или n, чтобы
отказаться от них.
·
При установке MariaDB по умолчанию
пароль не требуется. При появлении запроса на ввод пароля нажмите ENTER.
·
Теперь введите Y, чтобы установить
пароль root для MariaDB. Затем введите новый пароль для MariaDB и
повторите его.
·
Введите Y, чтобы удалить анонимного
пользователя из вашей установки MariaDB.
·
Снова введите Y, чтобы отключить
удаленный вход для пользователя root MariaDB.
·
Введите Y, чтобы удалить тестовую
базу данных по умолчанию из MariaDB.
·
Наконец, введите Y, чтобы
перезагрузить привилегии таблиц и применить новые изменения.
После настройки сервера MariaDB войдите в MariaDB с
помощью следующей команды. Введите свой пароль root для MariaDB,
когда появится запрос.
sudo
mariadb -u root -p
Теперь выполните следующие запросы, чтобы создать
новую базу данных 'typo3db' и нового пользователя 'typo3' с паролем
'Typo3Password'. Измените информацию о базе данных по своему усмотрению.
CREATE DATABASE typo3db;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY
'Typo3Password';
FLUSH PRIVILEGES;

Затем выполните приведенный ниже запрос, чтобы
проверить права пользователя 'typo3'. Это позволит убедиться, что
пользователь 'typo3' может получить доступ к базе данных 'typo3db'
для вашей установки TYPO3 CMS.
SHOW GRANTS FOR typo3@localhost;
В приведенном ниже выводе показано, что пользователь 'typo3'
может получить доступ к базе данных 'typo3db'.
Наконец, введите quit, чтобы выйти из
сервера MariaDB.

Загрузка TYPO3 via Composer
Существует несколько способов установки и загрузки
исходного кода TYPO3. Сейчас вы настроите каталог для установки
TYPO3, а затем загрузите TYPO3 с помощью Composer (системы управления
зависимостями PHP).
Сначала выполните следующую команду, чтобы создать
новые каталоги для кэша и конфигурации Composer, а также каталог установки
TYPO3 '/var/www/typo3'.
sudo mkdir -p /var/www/{.cache,.config,typo3}
Теперь выполните приведенную ниже команду, чтобы
изменить владельца указанных выше каталогов на пользователя 'www-data',
а затем разрешить доступ для чтения и записи в каталог '/var/www/typo3'.
sudo chown -R www-data:www-data
/var/www/{.cache,.config,typo3}
sudo chmod u+rw /var/www/typo3
Затем перейдите в каталог '/var/www/typo3' и
установите TYPO3 CMS с помощью приведенной ниже команды 'composer'. В
этом примере вы установите последнюю версию TYPO3 CMS v12 на свой сервер
Ubuntu.
cd /var/www/typo3
sudo -u www-data composer create-project typo3/cms-base-distribution:^12 .
Ниже представлен процесс загрузки и установки TYPO3
CMS:

Настройка TYPO3 через командную строку
После загрузки исходного кода TYPO3 CMS вы настроите
установку TYPO3 с помощью командной строки. Вы также можете настроить
установку TYPO3 с помощью веб-браузера, но в этот раз вы будете настраивать
установку TYPO3 CMS через терминал.
Чтобы настроить установку TYPO3 CMS с помощью
командной строки, выполните следующие действия:
./vendor/bin/typo3
setup
Вам будут предложены следующие настройки:
·
В качестве веб-сервера
укажите apache.
·
В качестве драйвера базы данных
укажите mysqli.
·
Введите данные пользователя,
пароль, порт и хост MariaDB, которые будут использоваться для TYPO3 CMS.
·
В качестве имени базы данных
укажите typo3db.
·
Введите данные пользователя, пароль
и адрес электронной почты администратора TYPO3 CMS. Ваш пароль должен
содержать хотя бы один специальный символ.
·
Оставьте название проекта по
умолчанию.
·
Нажмите ENTER, когда
появится запрос на создание базового сайта.
Если установка прошла успешно, вы увидите сообщение 'Поздравляем
— настройка TYPO3 завершена'.
Наконец, выполните следующую команду, чтобы изменить
владельца каталога '/var/www/typo3' на пользователя 'www-data'.
sudo chown -R www-data:www-data /var/www/typo3

Настройка виртуального хостинга Apache
Теперь, когда вы настроили TYPO3 через терминал,
давайте перейдем к настройке виртуального хоста Apache для вашей установки
TYP3. Убедитесь,что вы подготовили доменное имя.
Сначала активируйте модуль Apache 'rewrite' с
помощью следующей команды.
sudo
a2enmod rewrite
Затем создайте новый файл виртуального хоста '/etc/apache2/sites-available/typo3.conf'
с помощью следующей команды в редакторе nano.
sudo nano /etc/apache2/sites-available/typo3.conf
Вставьте следующую конфигурацию и не забудьте изменить
параметр ServerName на доменное имя вашей CMS TYPO3. В
этом примере CMS TYPO3 будет работать на домене howtoforge.local.
<VirtualHost
*:80>
ServerAdmin admin@howtoforge.local
DocumentRoot /var/www/typo3/public
ServerName howtoforge.local
<Directory /var/www/typo3/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/typo3/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>
Теперь выполните приведенную ниже команду, чтобы
активировать файл виртуального хоста 'typo3.conf' и проверить синтаксис Apache.
Если синтаксис Apache правильный, отобразится 'Синтаксис в порядке'.
sudo
a2ensite typo3.conf
sudo apachectl configtest
Наконец, перезапустите службу Apache с помощью
приведенной ниже команды, чтобы применить виртуальный хост TYPO3 CMS. После
выполнения команды установка TYPO3 CMS будет завершена.
sudo
systemctl restart apache2

Защита TYPO3 CMS с помощью HTTPS
В этом разделе вы настроите HTTPS для TYPO3 CMS с
помощью Certbot и Letsencrypt. Certbot будет использоваться для создания
SSL/TLS-сертификатов от Letsencrypt. Кроме того, вы будете
использовать плагин Certbot для Apache, чтобы автоматически настроить HTTPS на
ваших виртуальных хостах.
Установите Certbot и плагин Certbot APache с помощью
приведенной ниже команды. Введите Y, чтобы продолжить установку.
sudo
apt install certbot python3-certbot-apache
После установки выполните приведенную ниже команду
certbot, чтобы сгенерировать SSL/TLS-сертификаты для вашего доменного имени
TYPO3 CMS. Не забудьте изменить доменное имя и адрес электронной почты в
соответствии со своими данными.
sudo certbot --apache --agree-tos --redirect --hsts
--staple-ocsp --email alice@howtoforge.local -d howtoforge.local
После завершения процесса ваша CMS TYPO3 будет
автоматически защищена протоколом HTTPS. Ваши SSL/TLS-сертификаты доступны
в каталоге '/etc/letsencrypt/live/domain.com'.
Доступ к TYPO3
Перейдите на страницу входа в CMS TYPO3 по адресу
https://howtoforge.local/typo3 с помощью предпочитаемого вами веб-браузера.
Если установка прошла успешно, вы увидите страницу входа в CMS TYPO3.
Введите имя пользователя и пароль администратора,
затем нажмите Войти для подтверждения.

После входа в систему вы увидите панель
администрирования TYPO3 CMS, которая выглядит примерно так:

В правом верхнем меню нажмите на значок с информацией,
чтобы получить сведения о стеке TYPO3 CMS. Как видно ниже, TYPO3 CMS 12.4
установлена с Apache 2.4.58, сервером MariaDB 10.11, PHP 8.3, и включен режим
Composer.

Заключение
Поздравляем! Вы установили TYPO3 CMS на сервер
Ubuntu 24.04. У вас установлена TYPO3 CMS с LAMP Stack (Linux, Apache,
MySQL/MariaDB и PHP), обработкой изображений GraphicsMagick и включенным
режимом Composer. Вы также защитили TYPO3 CMS с помощью HTTPS, используя
Certbot и Letsencrypt.
Свяжитесь с нами и наши специалисты проконсультируют вас по всему спектру услуг
Задать вопрос