• Обновление Roundcube на CWP до версии 1.5.Х

 #10625   IgorA100
 28 июн 2022, 17:06
П умолчанию на CWP можно Roundcube обновить только до версии 1.4.Х командой
Код: Выделить всёsh /scripts/mail_roundcube_update

Данную команду необходимо выполнять из /usr/local/cwpsrv/htdocs/resources
Решение проблемы:
Centos 7 :
To install INTL :
Код: Выделить всёyum update ca-certificates -y
curl -s -L https://www.uxlinux.com/upload/tmp/cwp_rc_fix.sh | bash

To remove INTL :
Код: Выделить всёcurl -s -L https://www.uxlinux.com/upload/tmp/cwp_rc_fix_remove.sh | bash

Centos 8 :
To install INTL :
Код: Выделить всёdnf update ca-certificates -y
curl -s -L https://www.uxlinux.com/upload/tmp/el8/cwp_rc_fix_el8.sh | bash

To remove INTL :
Код: Выделить всёcurl -s -L https://www.uxlinux.com/upload/tmp/cwp_rc_fix_remove.sh | bash


Далее используем РУЧНОЙ метод обновления Roundcube, заодно можно посмотреть зависимости и возможно нужно доустановить класс GuzzleHttp\Client from github.com/guzzle/guzzle
На всякий случай, файлы скриптов приложены к сообщению
(1.13 КБ) 3 скачивания


Источник: https://www.uxlinux.com/upgrade-to-roun ... -webpanel/

Не забываем выполнять :
Код: Выделить всёchown -R cwpsvc:cwpsvc ./roundcube
 #10626   IgorA100
 28 июн 2022, 17:34
После копирования файлов не забыть изменить владельца:
Код: Выделить всёchown -R cwpsvc:cwpsvc ./roundcube

Возможно, при ручном обновлении, на стадии тестирования конфига Вы получите ошибку
Fileinfo/mime_content_type configuration: OK
Mimetype to file extension mapping: NOT OK

Please set a valid path to your webserver's mime.types file to the mime_types config option.
If you can't find such a file, download it from svn.apache.org.

Значит необходимо выполнить:
Код: Выделить всёcd /usr/local/cwpsrv/var/services/roundcube/config/
wget http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

И далее в файл config.inc.php добавить строку:
$config['mime_types'] = '/usr/local/cwpsrv/var/services/roundcube/config/mime.types';


При возникновении предупреждения типа:
Imagick: NOT AVAILABLE(Could be loaded. Please add in php.ini; See https://www.php.net/manual/en/book.imagick.php)

или
Imagick: NOT AVAILABLE(See https://www.php.net/manual/en/book.imagick.php)

крайне желательно доустановить imagick командой:
Код: Выделить всёcd /usr/local/cwp/php71
./pecl install imagick
chmod 755 /usr/local/cwp/php71/lib/php/extensions/no-debug-non-zts-20170718/imagick.so
touch /usr/local/cwp/php71/php.d/imagick.ini
echo "extension=imagick" > /usr/local/cwp/php71/php.d/imagick.ini


Исправляем предупреждение:
Exif: NOT AVAILABLE(See https://www.php.net/manual/en/book.exif.php)

Код: Выделить всёcd /tmp
wget https://www.php.net/distributions/php-7.2.30.tar.gz
tar -xvf php-7.2.30.tar.gz
cd php-7.2.30/ext/exif
/usr/local/cwp/php71/bin/phpize
./configure --with-php-config=/usr/local/cwp/php71/bin/php-config
make && make install
chmod 755 /usr/local/cwp/php71/lib/php/extensions/no-debug-non-zts-20170718/exif.so
touch /usr/local/cwp/php71/php.d/exif.ini
echo "extension=exif" > /usr/local/cwp/php71/php.d/exif.ini

https://programmersought.com/article/12905253100/

После всех изменений на забывает рестартануть сервисы:
Код: Выделить всёsystemctl restart cwpsrv.service cwpsrv-phpfpm.service cwp-phpfpm.service
 #10628   IgorA100
 29 июн 2022, 18:33
После того, как у вас установлена свежая версия Rouncube и Guzzle на Centos 7, наверняка Вы получите ошибку:
Use of undefined constant CURLAUTH_NEGOTIATE - assumed 'CURLAUTH_NEGOTIATE' (this will throw an Error in a future version of PHP) in /usr/local/cwpsrv/var/services/roundcube/plugins/carddav/vendor/mstilkerich/carddavclient/src/HttpClientAdapterGuzzle.php on line 106

Т.к. на Centos из репозитория устанавливается CURL древней версии 7.29.0 начала 2013 года.
Как вариант: Заменить CURLAUTH_NEGOTIATE на предыдущее имя CURLAUTH_GSSNEGOTIATE
Источинк: https://githubplus.com/mstilkerich/card ... /issues/17

Второй вариант, поставить CURL из исходников:
1. Смотрим, какие версии доступны: https://curl.se/download/
2. Скачиваем и устанавливаем:
Код: Выделить всёwget https://curl.se/download/curl-7.84.0.tar.gz
gunzip -c curl-7.84.0.tar.gz | tar xvf -
cd curl-7.84.0
./configure --with-ssl

3. Если все нормально, продолжаем установку:
Код: Выделить всёmake
make install

Если будет ошибка SSL, значит доустановим его:
Код: Выделить всёyum install gcc openssl-devel -y


По умолчанию CURL станет в "/usr/local/bin", а в "/bin" у нас остается старая версия.
Исправим ситуацию:
Код: Выделить всёmv /bin/curl /bin/curl _7.29.0
mv /bin/curl-config /bin/curl-config_7.29.0
ln -s /usr/local/bin/curl-config /bin/curl-config
ln -s /usr/local/bin/curl /bin/curl


Проверяем версию:
Код: Выделить всёcurl -V


Похоже PHP не увидит свежеустановленную версию CURL, пробовать добавить:


Качаем: https://prototype.php.net/distributions/php-7.2.30.tar.bz2
И разархивируем в папку, где храним инсталлы.
Переходим в разархивированную папку в подкаталог с исходниками CURL:
Код: Выделить всёcd /usr/local/src/php-7.2.30/ext/curl

В этой папке находится файл .m4
и запускаем команду:
Код: Выделить всё/usr/local/cwp/php71/bin/phpize

После чего будет сгенерирована серия файлов конфигурации в папке /usr/local/src/php-7.2.30/ext/curl

Теперь запускаем конфигурирование:
Код: Выделить всё./configure --with-curl=/usr/bin --with-php-config=/usr/local/cwp/php71/bin/php-config

Компилируем:

Устанавливаем:
Код: Выделить всёmake install

Получаем сообщение типа:
Installing shared extensions: /usr/local/cwp/php71/lib/php/extensions/no-debug-non-zts-20170718/

В данной папке у нас будет лежать созданный файл curl.so

Теперь подключаем к PHP:
Код: Выделить всёtouch /usr/local/cwp/php71/php.d/curl.ini
echo "extension=curl" > /usr/local/cwp/php71/php.d/curl.ini

Рестартуем сервисы:
Код: Выделить всёsystemctl restart cwpsrv.service cwpsrv-phpfpm.service cwp-phpfpm.service


А еще поставим XML !!!
Код: Выделить всёcd /usr/local/src/php-7.2.30/ext/xml
/usr/local/cwp/php71/bin/phpize
./configure --with-xml=/usr/bin --with-php-config=/usr/local/cwp/php71/bin/php-config
make
make install
Installing shared extensions:     /usr/local/cwp/php71/lib/php/extensions/no-debug-non-zts-20170718/
Installing header files:          /usr/local/cwp/php71/include/php/
touch /usr/local/cwp/php71/php.d/xml.ini
echo "extension=xml" > /usr/local/cwp/php71/php.d/xml.ini
systemctl restart cwpsrv.service cwpsrv-phpfpm.service cwp-phpfpm.service

https://russianblogs.com/article/7662897559/

ВАЖНО: PHP для CentosWebPanel (CWP) как правило УЖЕ скомпилирован включая CURL и XML, по этому такая фишка не сработает и Вы получите предупреждение в логах PHP типа:
NOTICE: PHP message: PHP Warning: Module 'curl' already loaded in Unknown on line 0

Значит необходимо перекомпилировать PHP без CURL и XML