Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Установка (http://forum.typo3.ru/forumdisplay.php?f=13)
-   -   Решение проблем при установке/обновлении на TYPO3 6.2 (http://forum.typo3.ru/showthread.php?t=11260)

Андрей Аксенов 09.04.2014 15:45

Решение проблем при установке/обновлении на TYPO3 6.2
 
Решил создать новую тему в нужной ветке форума, а то много вопросов в совсем не подходящих для этого разделах.
Итак, предлагаю здесь обсуждать решение проблем при установке или миграции на версию TYPO3 6.2.

Сразу же расскажу про решение своих проблем. Об этом я отписался на официальном форуме TYPO3, но мало помогло.
Итак, при переходе с 6.1 на 6.2 получаю переадресацию на typo3/sysext/install/Start/Install.php и белый экран...
Замечу, что прежде чем ловить ошибки, нужно правильно настроить окружение для их ловли.
Итак, в typo3conf/LocalConfiguration.php делаем настройки:
PHP код:

'SYS' => array(
...
'devIPmask' => '*',
'displayErrors' => '2',
...
), 

или в версиях 4.x в localconf.php
PHP код:

// Рабочая настройка для обработки ошибок и исключений
$TYPO3_CONF_VARS['SYS']['displayErrors'] = '2';
$TYPO3_CONF_VARS['SYS']['devIPmask'] = '*'

В качестве значения devIPmask лучше бы забить внешний IP адрес вашего компьютера, иначе ошибки будут видны всем (узнать его можно хоть на Яндексе)...

Вообщем мне это не помогло, экран оставался белым. Ясно, что ошибки были, но какие?
Я пошел в лоб и в файле typo3/sysext/install/Start/Install.php для вывода ошибок добавил в самом начале строки:
PHP код:

ini_set('display_errors',1);
error_reporting(E_ALL); 

Возможно хватило бы и добавления в настройках:
$TYPO3_CONF_VARS['SYS']['syslogErrorReporting'] = E_ALL;
но что сделано, то сделано... И это помогло выяснить, что причина в расширении t3quixplorer:
PHP код:

Fatal errorUncaught exception 'TYPO3\Flow\Package\Exception\MissingPackageManifestException' with message 'No composer manifest file found at ".../typo3conf/ext/t3quixplorer//composer.json".' in ... 

После удаления папки с этим расширением и расширения из списка установленных, а также чистки папки typo3temp удалось загрузить привычный Install Tool.
А далее переход на новую версию прошел нормально - пришлось еще удалить пару старых и ненужных расширений.

Андрей Аксенов 09.04.2014 17:35

Еще одна неочевидная ошибка, с которой могут многие столкнуться - указаны неверные права, которые нужно устанавливать для папок. В результате чего могут неверно работать некоторые расширения, не выводиться рисунки и т. п. Это тем более справедливо для тех, кто использует веб сервер nginx - ему нужны права на чтение 0755 или 0664.
По умолчанию в install tool (TYPO3 6.2) в разделе Folder structure выводиться как ошибка (цифорки в красном кружочке, рядом с названием раздела), что-то вроде:
Цитата:

Default File permissions (BE/fileCreateMask)
Recommended: 0660. Currently configured as 0664 (readable by anyone on the server).
и
Цитата:

Default Directory permissions (BE/folderCreateMask)
Recommended: 2770. Currently configured as 2775 (readable by anyone on the server).
Не слушайте! Именно с этими рекомендуемыми параметрами и получаем ошибку доступа к файлам со стороны nginx. Проверить можно в модуле Install Tool > Test setup и далее - тестируем формирование изображений (Convert image formats to jpg и т. п.). Если всё нормально, то ничего трогать не надо, если же изображения не выводятся, то пробуем открыть ссылку на это пустое изображение в браузере (в хроме - щелкаем правой кнопкой мышки по пустому изображению и далее - открыть картинку в новой вкладке). Если видим что-то вроде
Цитата:

403 forbidden nginx
то это как раз то самое... Можно проверить, залезть в папку typo3temp/pics/ на сервере, и посмотреть, нет ли там файлов с названиями вроде installTool-read53452ec7d53d0-jpg.jpg?1397042887. Если есть, и они не нулевого размера, значит изображения наш сервер всё же формирует, но в браузер они не выводятся (ошибка 403 forbidden) - для сервера nginx не хватает разрешений на чтение этих изображений на сервере.
Исправляем:
в typo3conf/LocalConfiguration.php
ищем настройки fileCreateMask и folderCreateMask, исправляем их следующим образом:
PHP код:

return array(
    
'BE' => array(
...
        
'fileCreateMask' => '0664',
        
'folderCreateMask' => '2775',
...
    ),
); 

либо то же самое делаем через Insall Tool (раз уж мы там :). Идем в раздел All configuration, раскрываем $TYPO3_CONF_VARS['BE'], ищем fileCreateMask и folderCreateMask, ставим значения 0664 и 2775, соответственно. Жмем ниже кнопку "Write configuration".

После чего чистим папку typo3temp от старых временных файлов.
Может понадобиться также установить правильные права и для других папок на сервере при схожих симптомах (ошибка 403 forbidden):
Код:

chmod -R 775 folder_name

-=UncleByte=- 09.04.2014 21:24

Про nginx могу сказать только что и он и php-fpm у меня всегда работают как www-data и соответственно все права на файлы-папки стоят 755 и 644 для www-data и все работает нормальным образом. А сообщения про ошибки в Install Tool 6.2 относительно прав на файлы на самом деле врут, согласен.
В общем для установки нормальных прав команды следующие:
Код:

chown -hR www-data:www-data /path/to/site/public_html/
chmod -R ugoa= /path/to/site/public_html/
chmod -R ugoa+rX,u+w /path/to/site/public_html/

Таким образом владелец и группа у файлов и папок будут www-data и права на файлы и папки, соответственно, 644 и 755.

gabdullin 17.04.2014 01:08

Права на файлы и папки
 
Цитата:

Сообщение от -=UncleByte=- (Сообщение 38306)
Про nginx могу сказать только что и он и php-fpm у меня всегда работают как www-data и соответственно все права на файлы-папки стоят 755 и 644 для www-data и все работает нормальным образом. А сообщения про ошибки в Install Tool 6.2 относительно прав на файлы на самом деле врут, согласен.
В общем для установки нормальных прав команды следующие:
Код:

chown -hR www-data:www-data /path/to/site/public_html/
chmod -R ugoa= /path/to/site/public_html/
chmod -R ugoa+rX,u+w /path/to/site/public_html/

Таким образом владелец и группа у файлов и папок будут www-data и права на файлы и папки, соответственно, 644 и 755.

Из соображений безопасности php-fpm у меня запускается от имени пользователя, права на файлы и папки выставляются 640 и 750, а чтобы nginx имел доступ к этим файлам добавляем nginx в группу пользователя примерно так:
Код:

usermod -a -G nginx WebUser3

gabdullin 17.04.2014 01:15

Белый экран
 
Белый экран при обновлении лично у меня вылечился следующим образом:
  1. полностью очищаем папку typo3temp (со всеми папками);
  2. перезапускаем php-fpm (очищаем php-кэшер, в моем случае opcache);
  3. перезапускаем nginx (очищаем кэш веб-сервера);
  4. через InstallTool восстанавливаем структуру папок в typo3temp.
Насколько я понял проблема больше в php-кэше. К сожалению серверные логи на эту тему вежливо молчали.

P.S. Проверил при переходах 4.7.12 -> 6.1.3 -> 6.2.0alfa3 -> ... -> 6.2.0. Убил на поиск решения примерно часов 8, постоянно откатываясь на предыдущую версию, это к вопросу зачем нужны симлинки, кто-то раньше умничал на тему зачем они нужны.
P.P.S На этапе перехода 4.7.12 -> 6.1.3 отказался от TV в пользу Fluid
P.P.P.S. Кто-то раньше спрашивал по php 5.3.3, по крайней мере до 6.2.0beta3 у мена работало на 5.3.3, сейчас 5.3.28

-=UncleByte=- 17.04.2014 02:02

Цитата:

Сообщение от gabdullin (Сообщение 38346)
Из соображений безопасности php-fpm у меня запускается от имени пользователя, права на файлы и папки выставляются 640 и 750, а чтобы nginx имел доступ к этим файлам добавляем nginx в группу пользователя примерно так:
Код:

usermod -a -G nginx WebUser3

Ну так www-data это тоже пользователь и группа пользователей, причем локальных и даже без /home директории. Т.е. максимум что они могут - обмениваться данными между собой и выдавать результат по протоколу http клиентам сервера.

-=UncleByte=- 17.04.2014 02:11

Цитата:

Сообщение от gabdullin (Сообщение 38347)
Белый экран при обновлении лично у меня вылечился следующим образом:
  1. полностью очищаем папку typo3temp (со всеми папками);
  2. перезапускаем php-fpm (очищаем php-кэшер, в моем случае opcache);
  3. перезапускаем nginx (очищаем кэш веб-сервера);
  4. через InstallTool восстанавливаем структуру папок в typo3temp.
Насколько я понял проблема больше в php-кэше. К сожалению серверные логи на эту тему вежливо молчали.

P.S. Проверил при переходах 4.7.12 -> 6.1.3 -> 6.2.0alfa3 -> ... -> 6.2.0. Убил на поиск решения примерно часов 8, постоянно откатываясь на предыдущую версию, это к вопросу зачем нужны симлинки, кто-то раньше умничал на тему зачем они нужны.
P.P.S На этапе перехода 4.7.12 -> 6.1.3 отказался от TV в пользу Fluid
P.P.P.S. Кто-то раньше спрашивал по php 5.3.3, по крайней мере до 6.2.0beta3 у мена работало на 5.3.3, сейчас 5.3.28

У меня был белый экран исключительно из-за TV на старых сайтах. Форк с гитхаба этот вопрос решил.
В принципе вполне реален переход и с 4.5.х на 6.2.х - но надо понимать что не все расширения будут работать сразу же, поэтому первым делом надо обновить их по максимуму.
То, что любая версия typo3 может начать выдавать странное при подключенном кешере типа APC или Xcache я уже давно для себя отметил и на тестовой локальной виртуалке не включаю их вообще. В принципе для тестирования связки nginx + php-fpm 5.4.4 + mariadb 10 вполне хватает и работает оно и без кеширования довольно быстро. На продакшн, скорее всего, имеет смысл ставить рекомендованный командой typo3 APC, но под Debian Wheezy он довольно старый, а ради одного пакета подключать какой-нибудь dotdeb совсем не хочется. Наверное решу этот вопрос как-нибудь при помощи Xcache, он хотя тоже староват, но предсказуем, что радует.

Андрей Аксенов 18.04.2014 11:46

Еще одна часто возникающая (по крайней мере у меня) проблема - невозможность войти в админку. Виной этому принудительный перевод на шифрование RSA. Если вы уверены, что забиваете правильный пароль, но с нескольких раз не можете попасть в админку, то откройте файл с настройками typo3conf\LocalConfiguration.php, где TYPO3 6.2 упорно и принудительно прописывает следующее:
PHP код:

return array(
    
'BE' => array(
        ...
        
'loginSecurityLevel' => 'rsa',
        ... 

И измените на 'loginSecurityLevel' => 'normal'. После этого возможно проблема исчезнет, а может быть придется через Install tool создать дополнительного пользователя-администратора, через которого уже всё вернуть на место.
Кстати, то же самое возможно и для внешних пользователей, тогда исправляем по аналогии в другом месте:
PHP код:

[php]
return array(
    ...
    
'FE' => array(
        ...
        
'loginSecurityLevel' => 'normal',
        ... 

[/php]
Если у кого есть советы по исправлению этого пресловутого rsa, то пишите здесь.

-=UncleByte=- 18.04.2014 14:28

Так вроде же RSA вполне работает еще с 4.5.х? Сначала включить RSA, потом обновить пароли с помощью задачи в scheduler и все работает.

Андрей Аксенов 18.04.2014 15:13

Да, пробовал, потом почему-то всё перестало работать... Спасся только так.

-=UncleByte=- 18.04.2014 15:24

Буду иметь в виду. Спасибо за предупреждение.

Ивано++ 19.04.2014 13:46

А без RSA совсем плохо - если ее отключить совсем?:confused:

gabdullin 19.04.2014 22:16

Цитата:

Сообщение от -=UncleByte=- (Сообщение 38350)
Ну так www-data это тоже пользователь и группа пользователей, причем локальных и даже без /home директории. Т.е. максимум что они могут - обмениваться данными между собой и выдавать результат по протоколу http клиентам сервера.

Ваш вариант тоже вполне рабочий у меня раньше так и было, но конкретно в моем случае существуют несколько пользователей, их надо по максимуму изолировать, слишком уж они одаренные:) До chroot пока не дошло, но чувствую скоро и до этой крайности дойдем.

gabdullin 19.04.2014 22:30

Цитата:

Сообщение от -=UncleByte=- (Сообщение 38351)
У меня был белый экран исключительно из-за TV на старых сайтах. Форк с гитхаба этот вопрос решил.
В принципе вполне реален переход и с 4.5.х на 6.2.х - но надо понимать что не все расширения будут работать сразу же, поэтому первым делом надо обновить их по максимуму.
То, что любая версия typo3 может начать выдавать странное при подключенном кешере типа APC или Xcache я уже давно для себя отметил и на тестовой локальной виртуалке не включаю их вообще. В принципе для тестирования связки nginx + php-fpm 5.4.4 + mariadb 10 вполне хватает и работает оно и без кеширования довольно быстро. На продакшн, скорее всего, имеет смысл ставить рекомендованный командой typo3 APC, но под Debian Wheezy он довольно старый, а ради одного пакета подключать какой-нибудь dotdeb совсем не хочется. Наверное решу этот вопрос как-нибудь при помощи Xcache, он хотя тоже староват, но предсказуем, что радует.

APC благополучно почил в бозе, его наследник APCU почему-то не нашел полного взаимопонимания с моим TYPO3. А вот Opcache штука перспективная, его даже включили в php 5.5. Кстати TYPO3 вполне адекватно сейчас с ним работает, в Instal Tool есть специальная кнопочка для сброса его кэша, при проверке системы Install Tool правильно определяет OpCache. Если необходимо, позже размещу скрины, сейчас сервер в дауне, немцы ему BIOS перешивают и память тестируют.

-=UncleByte=- 19.04.2014 22:36

Цитата:

Сообщение от gabdullin (Сообщение 38371)
Ваш вариант тоже вполне рабочий у меня раньше так и было, но конкретно в моем случае существуют несколько пользователей, их надо по максимуму изолировать, слишком уж они одаренные:) До chroot пока не дошло, но чувствую скоро и до этой крайности дойдем.

У меня все несколько проще: для пользователей админка typo3 с максимально "редакторскими" правами, т.е. никаких излишеств и ssh только для меня. Таким образом сервер достаточно неплохо себя чувствует.

-=UncleByte=- 19.04.2014 22:38

Цитата:

Сообщение от gabdullin (Сообщение 38372)
APC благополучно почил в бозе, его наследник APCU почему-то не нашел полного взаимопонимания с моим TYPO3. А вот Opcache штука перспективная, его даже включили в php 5.5. Кстати TYPO3 вполне адекватно сейчас с ним работает, в Instal Tool есть специальная кнопочка для сброса его кэша, при проверке системы Install Tool правильно определяет OpCache. Если необходимо, позже размещу скрины, сейчас сервер в дауне, немцы ему BIOS перешивают и память тестируют.

А для 5.4.4 он где-то есть? Интересно посмотреть. Хотя у меня есть еще всякие скрипты, например smf, который пришлось вручную "обучать" наличию того же Xcache. Есть, конечно, надежда что новейшие версии будут знать про OpCache, но проверять буду немного позже и на dev-сервере.

gabdullin 19.04.2014 22:43

Цитата:

Сообщение от Андрей Аксенов (Сообщение 38361)
Еще одна часто возникающая (по крайней мере у меня) проблема - невозможность войти в админку. Виной этому принудительный перевод на шифрование RSA. Если вы уверены, что забиваете правильный пароль, но с нескольких раз не можете попасть в админку, то откройте файл с настройками typo3conf\LocalConfiguration.php, где TYPO3 6.2 упорно и принудительно прописывает следующее:
PHP код:

return array(
    
'BE' => array(
        ...
        
'loginSecurityLevel' => 'rsa',
        ... 

И измените на 'loginSecurityLevel' => 'normal'. После этого возможно проблема исчезнет, а может быть придется через Install tool создать дополнительного пользователя-администратора, через которого уже всё вернуть на место.
Кстати, то же самое возможно и для внешних пользователей, тогда исправляем по аналогии в другом месте:
[php]
PHP код:

return array(
    ...
    
'FE' => array(
        ...
        
'loginSecurityLevel' => 'normal',
        ... 

Если у кого есть советы по исправлению этого пресловутого rsa, то пишите здесь.

После того, как Вас запустит в админку, отключите модуль rsaauth, на сервере обновите openssl до актуальной версии и снова активируете rsaauth. После этого у меня проблема исчезла. Но openssl надо обновить обязательно, там вроде какая-то версия библиотеки глюковатая была.
P.S. Правда это уже из области шаманства:)

Андрей Аксенов 19.04.2014 23:53

Цитата:

Сообщение от gabdullin (Сообщение 38375)
После того, как Вас запустит в админку, отключите модуль rsaauth, на сервере обновите openssl до актуальной версии и снова активируете rsaauth. После этого у меня проблема исчезла. Но openssl надо обновить обязательно, там вроде какая-то версия библиотеки глюковатая была.
P.S. Правда это уже из области шаманства:)

согласен, шаманил... вернулся к своему совету.
следил за изменениями в базе данных - там тупо ничего не меняется в строке пароля, поэтому и не заходит. То есть, в 6.1 было normal - строка пароля соответствующая. Обновляюсь до 6.2 - в настройках rsa, но в базе данных всё неизменно... Понятно в чём дело. Но зачем??? Как-то предупреждать нужно.
Ну а что касается совета - я же писал, работало, и вот новый сайт на бете 6.2 работал, но с обновлением - как отрезало. Не могу войти и всё.
А вообще, довольно надуманная тема с паролями, безопасностью. На TYPO3 здесь всё хорошо. Были моменты по ловле вирусов, но вирусами были заражены самописные расширения - руки бы оторвал за такое написание, дорвались до скриптов php и засунули весь сайт через так.
В кратце как-то так.
Да и еще, тут только увидел: "после того как вас запустят в админку" - это кто ж волшебник-то? Написано же - в админку не заходит.

gabdullin 20.04.2014 01:56

Цитата:

Сообщение от Андрей Аксенов (Сообщение 38377)
согласен, шаманил... вернулся к своему совету.
следил за изменениями в базе данных - там тупо ничего не меняется в строке пароля, поэтому и не заходит. То есть, в 6.1 было normal - строка пароля соответствующая. Обновляюсь до 6.2 - в настройках rsa, но в базе данных всё неизменно... Понятно в чём дело. Но зачем??? Как-то предупреждать нужно.
Ну а что касается совета - я же писал, работало, и вот новый сайт на бете 6.2 работал, но с обновлением - как отрезало. Не могу войти и всё.
А вообще, довольно надуманная тема с паролями, безопасностью. На TYPO3 здесь всё хорошо. Были моменты по ловле вирусов, но вирусами были заражены самописные расширения - руки бы оторвал за такое написание, дорвались до скриптов php и засунули весь сайт через так.
В кратце как-то так.
Да и еще, тут только увидел: "после того как вас запустят в админку" - это кто ж волшебник-то? Написано же - в админку не заходит.

Я имел ввиду, что после описанных Вами выше манипуляций меня запускало. Правда на один раз:) После этого снова заводил нового пользователя через Install Tool и т.д.

gabdullin 20.04.2014 02:14

Вложений: 2
Цитата:

Сообщение от -=UncleByte=- (Сообщение 38374)
А для 5.4.4 он где-то есть? Интересно посмотреть. Хотя у меня есть еще всякие скрипты, например smf, который пришлось вручную "обучать" наличию того же Xcache. Есть, конечно, надежда что новейшие версии будут знать про OpCache, но проверять буду немного позже и на dev-сервере.

Если честно, я не знаю откуда это чудо можно взять для Debian. Я уже лет 5 с CentOS. Поскольку у меня php 5.3. пришлось ставить из репозитория.
Код:

# yum info php-pecl-zendopcache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.checkdomain.de
 * epel: mirror.imt-systems.com
 * extras: mirror.checkdomain.de
 * updates: mirror.checkdomain.de
Installed Packages
Name        : php-pecl-zendopcache
Arch        : x86_64
Version    : 7.0.3
Release    : 1.el6
Size        : 150 k
Repo        : installed
From repo  : epel
Summary    : The Zend OPcache
URL        : http://pecl.php.net/package/ZendOpcache
License    : PHP
Description : The Zend OPcache provides faster PHP execution through opcode caching and
            : optimization. It improves PHP performance by storing precompiled script
            : bytecode in the shared memory. This eliminates the stages of reading code from
            : the disk and compiling it on future access. In addition, it applies a few
            : bytecode optimization patterns that make code execution faster.

А новейшие версии отлично про него знают, скриншоты внизу это подтверждают.

Кстати говоря пока делал скриншоты, "вспомнил" ссылку на: http://wiki.typo3.org/Opcode_Cache. Opcache теперь полноценно в списке.

Dimamon 09.06.2014 19:17

Возможна ли установка 6.2. на NIC?
 
Друзья!
Подскажите кто-нибудь устанавливал v6.2 на nic?
Так сложилось, что сижу на этом хостинге давно и во время очередного апгрейда приходилось вручную устанавливать php 5.3 со всякими там расширениями. Психовал хотел на другой хостинг уходить, но потом все устаканилось, NIC сами все поставили и v4.7. работает с автоматической кофигурацией сервера.
Сейчас же ставлю v6.2. для нового сайта (не апгрейд), Ну и после заливки и сим-линков собственно белый экран (данные не получены). Видимо скрипт не успевает за максимально отведенные 180 сек все наладить.
Выходом наверное будет увеличить время в конфигах, для этого сервер переводить в ручной режим и ковыряться. А так не хочется! )
Ну и боюсь, что апгрейд текущих сайтов, а их с добрый десяток, приведет к куче головоломок.
Посоветуйте, стоит ли ковыряться с nic-ом или перейти на другой хостинг, где три раза надо нажать кнопку ОК и все будет работать?

-=UncleByte=- 09.06.2014 19:46

Стоит взять хотя бы их же vps. Хотя, безусловно, есть варианты лучше, тот же Hetzner или Linode.

surfman 17.11.2014 12:53

А обновлять как обычно, залить typo3_src-6.2.6 поверх сайта и запустить мастер апгрейда?

Андрей Аксенов 17.11.2014 12:56

Цитата:

Сообщение от surfman (Сообщение 38937)
А обновлять как обычно, залить typo3_src-6.2.6 поверх сайта и запустить мастер апгрейда?

Да

surfman 17.11.2014 15:15

Вроде обновил. Правда скрипт зациклился на последнем шаге
Цитата:

Update database schema: Modify tables and fields

Change the following fields in tables:

tx_news_domain_model_news: tx_newsforum_threadid
Это я добавлял свое поле к ковости. Скрипт говорит, что обновил ОК, но потом возвращается на этот же шаг.


Часовой пояс GMT +4, время: 19:22.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot