Upgrade serveru Debian 10 na Debian 11 Linux u ISPconfig instalace. ISPConfig je široce používaný open source řídicí panel hostingu pro Linux, licencovaný pod licencí BSD a vyvinutý společností ISPConfig UG. Projekt ISPConfig zahájil na podzim roku 2005 Till Brehm z německé společnosti projektfarm GmbH.
ISPConfig umožňuje správcům spravovat webové stránky, e-mailové adresy, databáze MySQL a MariaDB, účty FTP, účty Shell a záznamy DNS prostřednictvím webového rozhraní. Software má 4 úrovně přihlášení: administrátor, prodejce, klient a uživatel e-mailu. ISPConfig podporuje operační systémy CentOS, Debian, Fedora, OpenSUSE a Ubuntu založené na Linuxu. ISPConfig lze používat s distribucemi Linuxu: CentOS, Debian, Ubuntu.
Obsah
Debian 11 sources.list
1. Ručně nebo pomocí sed upravíme zdroje balíčků
sed -i 's/buster\/updates/bullseye-security/g' /etc/apt/sources.list sed -i 's/buster/bullseye/g' /etc/apt/sources.list sed -i 's/buster\/updates/bullseye-security/g' /etc/apt/sources.list.d/*.list sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*.list
2. Provedeme upgrade operačního systému
apt-get update -y apt-get full-upgrade -y reboot
PHP 7.4
3. Používáte Sury PHP repo? Pak pravděpodobně používáte i php7.4 (tento krok můžete přeskočit). Pokud používáte původni Debian 10 verzi php7.3, nainstalujte php7.4. To je minimální verze používána pro Debian 11
apt -y install php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-fpm php7.4-opcache php7.4-json php7.4-readline php7.4-xml curl
MySQL upgrade
4. Provedeme aktualizaci MySQL databáze. Debian 11 BullsEye v čase upgrade používá verzi 10.5.15, původní Debian 10 nižší verzi MySQL 10.3.34
mysql_upgrade --host=localhost -uuživatel -pheslo
Pokud již proběhla částečná aktualizace a mysql_upgrade skončí s hláškou, že databaáze je již nainstalována stačí přídat přepínač –force
mysql_upgrade --host=localhost -uuživatel -pheslo --force
Výpis z logu terminálu MySQL aktualizace..
Major version upgrade detected from 10.3.34-MariaDB to 10.5.15-MariaDB. Check required! Phase 1/7: Checking and upgrading mysql database Phase 2/7: Installing used storage engines... Skipped Phase 3/7: Fixing views Phase 4/7: Running 'mysql_fix_privilege_tables' Phase 5/7: Fixing table and database names Phase 6/7: Checking and upgrading tables Processing databases ... Phase 7/7: Running 'FLUSH PRIVILEGES'
MariaDB lze aktualizovat přímo na verzi MariaDB 10.7.
ISPconfig PHP
5. Změna konfigurace ISPconfig nastavení PHP (default dle vašeho výběru – minimum je v7.4) v cestě Systém -> Konfigurace Serveru -> server.mojedoman.cz -> WWW -> PHP
Apache php.ini path: /etc/php/7.4/apache2/php.ini CGI php.ini path: /etc/php/7.4/cgi/php.ini PHP-FPM init script: php7.4-fpm PHP-FPM php.ini path: /etc/php/7.4/fpm/php.ini PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d PHP-FPM socket directory: /var/lib/php7.4-fpm

Chybu (Failed to make backup of database …)
cat /var/log/ispconfig/cron.log
mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'c111db'': Cannot load from mysql.proc. The table is probably corrupted (1728) ERROR - Failed to make backup of database c111db, because mysqldump failed
nebo i v logu
cat /var/log/ispconfig.log
30.03.2022-00:07 - ERROR - Failed to make backup of database c111db, because mysqldump failed 30.03.2022-00:07 - ERROR - Failed to make backup of database c112db, because mysqldump failed 30.03.2022-00:07 - ERROR - Failed to make backup of database c113db, because mysqldump failed 30.03.2022-00:07 - ERROR - Failed to make backup of database c114db, because mysqldump failed 30.03.2022-00:07 - ERROR - Failed to make backup of database c115db, because mysqldump failed 30.03.2022-00:07 - ERROR - Failed to make backup of database c116db, because mysqldump failed
lze odstranit poaktualizační aktualizací samotné databáze viz. krok MySQL upgrade.
ispconfig_update.sh
Přegenerování instalace ISPconfig (i v případě aktuální verze je nutné). Provedeme pomocí příkazu
ispconfig_update.sh --force
Perl vlogger
Po aktualizaci na Debian 11, po zadání příkazu apt-get autoremove může dojít u odinstalace starších balíčků k odstranění vlogger. Zjistíte to zak, že statistika návštěvnosti (třeba Awstats) bude po dalším dni, to jest pozítří, ukazovat 0 návštěv. Pokud statistiku používáte, skontrolujte přítomnost vlogger. Kontrola log rotate aplikace, kterou ISPconfig používá, pomocí příkazu dpkg
dpkg -s vlogger Package: vlogger Status: install ok installed Priority: optional Section: web Installed-Size: 40 Maintainer: RISKO Gergely <risko@debian.org> Architecture: all Version: 1.3-4.1 Depends: perl:any, libtimedate-perl Suggests: libdbi-perl Description: virtual web logfile rotater/parser Vlogger is a little piece of code borned to handle dealing with large amounts of virtualhost logs. It's bad news that apache can't do this on its own. Vlogger takes piped input from apache, splits it off to separate files based on the first field. It uses a file handle cache so it can't run out of file descriptors. It will also start a new logfile every night at midnight, and maintain a symlink to the most recent file. For security, it can drop privileges and do a chroot to the logs directory.
Automatická záloha
Příčinou nefunkční ISPconfig automatické zálohy webu a databáze (nastavené pomocí panelu u domény) je neaktualizovaná MySQL databáze viz krok MySQL upgrade.
phpMyAdmin
V případě, že používáte vlastní instalaci phpMyAdmin (na extra doméně zabezpečenou pomocí platného SSL certifikátu) a PHP Sury repo (kvůly akuální verzi PHP 8.1) výchozí verzi PHP 7.3 z Debian 10 máte pořád nastavenou v ISPconfig.. Je nutné (u domény kde běží phpMyAdmin) změnit volbu PHP na verzi PHP 7.4. V opačnem případě bude v operačním systému Debian 11 podrženo několik balíčků PHP 7.3.

Aktualizace phpMyAdmin
Najdete v v textu Aktualizace phpMyAdmin snapshot verze s podporou PHP8.x.

Apache Handler
Ručně vyeditovat Sethandler v každém .vhost souboru domény a změnit 7.3 na 7.4. Pokud používáte Sury PHP balíček lze provést i přepnutím PHP verze tam a zpátky
SetHandler "proxy:unix:/var/lib/php7.4-fpm/web14.sock|fcgi://localhost"
Toto nastavení se samo pouhou aktualizací nezmění.
Apache HTTP/2
Pokud máte na serveru aktivní podporu pro HTTP/2 po změně PHP na verzi 7.4 bude nutné konfiguraci HTTP/2 provést znovu.
systemctl stop apache2.service a2dismod php7.3 a2dismod php8.1 # pokud používáte sury multi php balíček a2dismod mpm_prefork a2enmod mpm_event systemctl start apache2.service
Mediawiki atp
Pokud na aktualizovaném serveru běží redakční systémy které používají PHP7.3 a po aktualizací potřebují php7.4 (jelikož na php8.1 nefungují); kupříkladu Joomla, Mediawiki, phpBB; přechod na minimální verzi PHP 7.4 nemusí proběhnout hladce. Operační systém si ponechá nejdůležitější PHP 7.3 balíčky i v případě, že původní starší verzi PHP deaktivujete. Odstranit starší verzi PHP lze pouze pomocí
apt-get autoremove php-7.3*
Načež můžou jmenované redakční systémy přestat fungovat. Pokud používáte doinstalovanou nejnovější verzi PHP 8.1 pomocí Sury PHP balíčku, řešení je jednoduché. Pomocí konfigurace verze PHP v ISPconfig, v nastavení u každé domény stačí přepnout verzi PHP z výchozí na na 8.1; počkat až se změna přegeneruje a pak zpátky na původní nastavení. Tímto se automaticky načte a zapíše správna konfigurace.
Nativní ISPconfig PHP 8
Nebude dostupná dřív než 22. 04 2022, na kdy je plánováno vydání verze Ubuntu 22.04
MariaDB 10.7
Aktualizace verze 10.5 na MariaDB 10.6.7 není na produkčním operačním systému možná bez úplné odinastalace balíčku z již aktualizovaného Debian 11. Pokud i přesto o tom avažujete, doporučujeme provést upgrade databáze s upgrade na Debian 11 přímo na verzi MariaDB 10.7. Tak, že před aktualizací na Debian 11 s editací repo balíčků přidáte i repo na poslední verzi mariaDB.
Užitečné
Domovská stránka Debian Linux.
Domovská stránka phpMyAdmin.
Domovská stránka ISPconfig.