Статья предназначена для тех кто любит классическую установку ручками (у любителей Composer'а всё итак хорошо).

Умные люди скажут - ничего сложного и мануалов на пространстве всемирной паутины очень много, но мы с вами будем вести речь о том, что это не работает или руки человека с Высшим образованием и самоучки с неполным высшим растут не оттуда. Используя firstvds как хостинг и систему виртуализации kvm , а так же os Ubuntu 18.04 (с предустановленным LAMP'ом на борту) которой было достаточно для версии typo3 10.4.26 и версии php 7.2 нашлось решение. Ниже представляю решение, а предыстория конечно-же после.

Работает на данный момент

Устанавливаем необходимые пакеты №1

lsb_release -cd ; hostname ; hostname -I ; whoami ; getconf LONG_BIT ; apt install -y mc build-essential software-properties-common curl gdebi net-tools wget curl sqlite3 dirmngr nano lsb-release apt-transport-https leafpad git sudo unzip socat bash-completion checkinstall imagemagick openssl

Устанавливаем необходимые пакеты №2

apt-get update ; apt install -y php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-fpm php7.2-cgi php7.2-bcmath php7.2-curl php7.2-gd php7.2-intl php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-sqlite3 php7.2-xml php7.2-zip php7.2-snmp php7.2-json php7.2-imap php7.2-common php7.2-tidy php7.2-pgsql php7.2-ldap php7.2-soap php7.2-snmp php7.2-xsl  php7.2-recode php-imagick php-pear php-memcache php-apcu

Далее включаем для apache2 все необходимые моды:

a2enmod dir env headers mime rewrite setenvif 

Открываем php.ini любым редактором (для меня это mcedit) сам файл находится здесь: /etc/php/7.2/apache2/php.ini и исправляем в нём 2 параметра, а именно

  • max_execution_time = 360

  • max_input_vars = 1500

Далее переходим в каталог с веб содержимым, скачиваем наш заветный typo3, извлекаем его из tarball'а, для удобства перемещаем его в каталог typo3, создаём файл первой установки и выдаём права на папку и вложенные в неё подкаталоги

cd /var/www/html
wget --content-disposition https://get.typo3.org/10
tar xzf typo3_src-10.4.26.tar.gz
mv typo3*/ typo3/
touch /var/www/html/typo3/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/ ; chmod -R 755 /var/www/html/

Затем VirtualHosts для apache2 (всё yourdomain естественно заменяем на доменное имя вашего сайта ):

cat >> /etc/apache2/sites-available/yourdomain.conf

<VirtualHost *:80>

     ServerAdmin admin@yourdomain.com
     DocumentRoot /var/www/html/typo3
     ServerName www.yourdomain.com

     <Directory /var/www/html/typo3/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
     CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined

</VirtualHost>

Ну и естественно применить всё это дело при помощи

a2ensite yourdomain ; a2dissite 000-default.conf  ; apache2ctl configtest ;

Если configtest не проходит, то где-то напортачили в конфиге сайта который мы создавали выше.

Далее переходите по адресу: yourdomain.com и в gui проходите несколько шагов по безоговорочной установке cms на ваш сервер, а именно - настройка коннекта к бд и создание админского пользователя.

Теперь предыстория:

1) Как умные люди использовали composer, но увы, эта машина при дальнейшей эксплуатации дала сбой (для любящих композер можно пользоваться и им, но не все плагины можно установить при помощи данного инструмента)

2) Как не умные люди пробовали пойти по пути наименьшего сопротивления и открыли https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Installation/LegacyInstallation.html далее увидели страшную надпись

This method of installation is now considered out of date, users are strongly encouraged to use the Composer based Installing TYPO3

Что в переводе с греческого означает: Этот метод установки устарел и рекомендуют установку с помощью Composer.

На помощь пришла статья.

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

The install tool session expired. Please reload the backend and try again.

Решений в гугле не нашли, выдуманные решения так-же не помогали, но гайд который изложен выше помог и всё установилось без танцев с бубном. Кроме того возникал ряд других проблем но в основном их описание было найдены на том ресурсе куда шлют все it-эксперты =). Желаю всем удачи и не ТУПИТЕ с TYPO3.

Комментарии (5)


  1. borisdenis
    09.04.2022 22:35

    И? О чем собственно статья? Где описание рабочего способа установки? Или это для того, чтоб очередной пользователь наткнувшись на такую же ошибку нагуглил эту статью и опять не нашел в ней решения?


    1. romario515 Автор
      11.04.2022 03:20

      Могу описать на русском языке установку последней версии typo3 при помощи composer, она устанавливается без танцев с бубном, но пожалуй уточню, что cms, при установке её с помощью пакетного менеджера composer вы будете иметь трудности в установке пакетов т.к. вам так же необходимо использовать менеджер пакетов, а существуют некоторые плагины которые не поддерживают такой метод установки. Так же ошибка : -The install tool session expired. Please reload the backend and try again. не появляется если вы воспользовались пм composer и соблюдали все рекомендации самого движка после открытия веб интерфейса установки.


  1. BasilioCat
    10.04.2022 17:09
    +2

    Апач? Установка кучи пакетов не в докер? PHP 7.2, у которой окончательный EOL настал 30.11.2020? Ubuntu 18? Какой сейчас год?


    1. romario515 Автор
      11.04.2022 03:32

      Чего же такого плохого вы увидели в веб-сервере apache? Или теперь nginx и IIS превосходят его по всем параметрам? Справедливости ради возьмем alt linux, который на платформе 9 имеет последнюю версию php 7.3 при установке без танцев с бубном, у которой eol December 6, 2021 скорее всего они что-то знают. В статье преследовалась цель описать список пакетов, который необходим для установки typo3 ручками. А чтобы настроить полноценно докер сколько нужно времени потратить?


      1. SerafimArts
        11.04.2022 10:46
        +1

        Чего же такого плохого вы увидели в веб-сервере apache? Или теперь nginx и IIS превосходят его по всем параметрам?

        Вообще-то да =)


        nginx работает через эвентлуп, его задача просто взять и перенаправить запрос в fpm, который в свою очередь направит его на уже готовый воркер. За счёт этой легковесной модели энжиникс вообще почти ничего не кушает и может выдавать кучу RPS.


        Апач же (по умолчанию) работает по принципу выделения полноценного треда на каждый запрос. Этот процесс не намного, но дольше. По потреблению памяти так же больше выходит. Плюс подобная схема очень чувствительна к блокировкам. И если с каким-нибудь sleep всё довольно очевидно (в одном месте заюзаешь и лочатся вообще все соседние треды), то вот о том, что getenv/putenv блокирующие операции на уровне процесса — не многие знают. Один раз заюзаешь, а потом все запросы спотыкаются об общий мьютекс на время выполнения этой операции. Плюс сама модель TS — это костыль, где каждая функция, вида chdir не меняет никак cwd, а просто эмулирует это поведение в рамках текущего треда.


        Так что да, считаю что связка nginx + fpm лучше.