ispconfig-3.0.5.4p5 to 3.2.11p2 after ubuntu 14 LTS to 16 LTS I tried to find all the errors, but not sure if I'm exhaustive Thank you for your help i already try php -q update.php and ispconfig_update.sh --force Code: Configuring Postfix Configuring Dovecot Configuring Spamassassin Configuring Amavisd Configuring Getmail Configuring BIND [INFO] haveged not detected - DNSSEC can fail Configuring Pureftpd Configuring nginx Configuring Apps vhost Configuring Jailkit Configuring AppArmor Configuring Ubuntu Firewall Configuring Database Updating ISPConfig PHP Warning: symlink(): No such file or directory in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 2957 Do you want to create SSL certs for your server? (y,n) [y]: n Reconfigure Crontab? (yes,no) [yes]: Updating Crontab Restarting services ... Update finished. backend web ------- Unknown column 'client.contact_firstname' in 'field list' syslog ------------ May 20 07:20:21 za4 dovecot: imap-login: Error: SSL: Stacked error: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol May 20 13:56:46 za4 dovecot: imap-login: Error: SSL: Stacked error: error:1408A10B:SSL routines:ssl3_get_client_hello:wrong version number May 21 03:45:02 za4 dovecot: auth-worker(30332): Error: sql(*****@*****): User query failed: Unknown column 'maildir_format' in 'field list' May 21 03:45:02 za4 dovecot: auth-worker(30332): Error: sql(*****@*****): User query failed: Unknown column 'maildir_format' in 'field list' mardi 21 mai 2024, 03:44:01 (UTC+0200) PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; system has a deprecated constructor in /usr/local/ispconfig/server/lib/classes/system.inc.php on line 31 mardi 21 mai 2024, 03:44:01 (UTC+0200) PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; system has a deprecated constructor in /usr/local/ispconfig/server/lib/classes/system.inc.php on line 31 mardi 21 mai 2024, 03:45:02 (UTC+0200) finished server.php. mardi 21 mai 2024, 03:50:30 (UTC+0200) PHP Fatal error: Uncaught mysqli_sql_exception: Unknown column 'php_fpm_chroot' in 'field list' in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php:302 mardi 21 mai 2024, 03:50:30 (UTC+0200) Stack trace: mardi 21 mai 2024, 03:50:30 (UTC+0200) #0 /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php(302): mysqli_query(Object(mysqli), 'SELECT domain_i...') mardi 21 mai 2024, 03:50:30 (UTC+0200) #1 /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php(339): db->_query('SELECT domain_i...', 1, 25) mardi 21 mai 2024, 03:50:30 (UTC+0200) #2 /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php(395): db->query('SELECT domain_i...', 1, 25) mardi 21 mai 2024, 03:50:30 (UTC+0200) #3 /usr/local/ispconfig/server/lib/classes/cron.d/600-jailkit_maintenance.inc.php(69): db->queryAllRecords('SELECT domain_i...', 1, 25) mardi 21 mai 2024, 03:50:30 (UTC+0200) #4 /usr/local/ispconfig/server/lib/classes/cronjob.inc.php(90): cronjob_jailkit_maintenance->onRunJob() mardi 21 mai 2024, 03:50:30 (UTC+0200) #5 /usr/local/ispconfig/server/cron.php(116): cronjob->run() mardi 21 mai 2024, 03:50:30 (UTC+0200) #6 {main} mardi 21 mai 2024, 03:50:30 (UTC+0200) thrown in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 302 mardi 21 mai 2024, 03:51:01 (UTC+0200) finished server.php. May 21 04:19:46 za4 postfix/proxymap[21531]: warning: mysql query failed: Unknown column 'forward_in_lda' in 'where clause' May 21 04:19:46 za4 postfix/proxymap[21531]: warning: mysql query failed: Unknown column 'sender_cc' in 'field list' May 21 04:19:46 za4 postfix/cleanup[21530]: warning: proxy:mysql:/etc/postfix/mysql-virtual_outgoing_bcc.cf lookup error for "*****@*****"
could be a bug in the update process from a very old version, not sure if there is a list like for gitlab where you see to what version one shall upgrade before continueing. One could try adding the missing fields ( and check for more which did not show yet ) using a "new" setup and compare them. It _can_ work but no guarantee unless there is some mechanism for that?
I had to modify the SQL structure, then I imported the new structure into a new database, then export the data and only the data, then import this data into the new database with the REPLACE function Code: diff /root/ispconfig3_install/install/sql/ispconfig3.sql /root/ispconfig3_install/install/sql/ispconfig3.lolo.sql 149c149 < `contact_firstname` varchar( 64 ) NOT NULL DEFAULT '', --- > `contact_firstname` varchar(64) NOT NULL DEFAULT '', 376a377,380 > `default_mailserver` int(11) NOT NULL DEFAULT '1', > `default_webserver` int(11) NOT NULL DEFAULT '1', > `default_dnsserver` int(11) NOT NULL DEFAULT '1', > `default_dbserver` int(11) NOT NULL DEFAULT '1', 2029,2030c2033,2035 < `active` enum('n','y') NOT NULL default 'y', < `traffic_quota_lock` enum('n','y') NOT NULL default 'n', --- > `active` enum('n','y') NOT NULL DEFAULT 'y', > `traffic_quota_lock` enum('n','y') NOT NULL DEFAULT 'n', > `fastcgi_php_version` varchar(255) DEFAULT NULL, I still have these errors to resolve since the update, I no longer receive emails with local sender ? Code: May 23 03:34:14 za4 amavis[32733]: (32733-15) (!)connect to 127.0.0.1:* failed, attempt #1: Can't connect to socket 127.0.0.1:* using module IO::Socket::IP: Connection refused May 23 03:34:14 za4 amavis[32733]: (32733-15) (!)HJIh8NDZ_fcH FWD from <iwatch@localhost> -> <root@localhost>, 451 4.5.0 From MTA() during fwd-connect (All attempts (1) failed connecting to smtp:127.0.0.1:*): id=32733-15 May 23 03:34:14 za4 amavis[32733]: (32733-15) Blocked MTA-BLOCKED {TempFailedOutbound}, ORIGINATING LOCAL [127.0.0.1] <iwatch@localhost> -> <root@localhost>, Message-ID: <20240521234821.287541C0386@********>, mail_id: HJIh8NDZ_fcH, Hits: -0.898, size: 604, 358 ms
what if you run mysql -h127.0.0.1 -uroot -p you can basically enter any password. The interesting thing would be, does it connect, give you authentication error or a connection refused aswell? Deending on if you have resolve names on or off 127.0.0.1 is treated differently from localhost string is your database server listening ip set to a fixed IP ( or commented out )? I've also seen systems where localhost is not matching 127.0.0.1 ( anymore ) for uhm reasons I guess, check your cat /etc/hosts as you were able to update the database structure I assume your mysql service is running? systemctl status mariadb netstat -tulpen | grep 3306 Also try duplicating or modifying the dbispconfig user to be able to login from localhost AND 127.0.0.1 https://www.howtoforge.com/perfect-server-debian-12-buster-apache-bind-dovecot-ispconfig-3-2/ step 4 also step 7 where, unfortunally a default file is edited ( /etc/mysql/mariadb.conf.d/50-server.cnf ) this could have been overwritten by accident during an upgrade ( could ) well, howto if newer than your server, file might be different but I think it works for illustration
Code: root@za4:~# mysql -h127.0.0.1 -utest -p Enter password: ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES) root@za4:~# with wrong password the mysql server is active but in tcp6 only, I wonder why? Code: root@za4:~# netstat -tulpen | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 107 18181 1298/mysqld root@za4:~# cat /etc/hosts 127.0.0.1 localhost xxx xxxxxxxxx... step4 : there was a bad config on hostname, it is corrected, but The problem is still not resolved I don't have MariaDB installed, But why putting MariaDB is better?
cd /etc/mysql grep -HiRnF 'bind-address' * check if there are duplicated entries you can replace it with bind-address = 127.0.0.1 or if you have a firewall / want remote usage bind-address = 0.0.0.0,:: this would enable v4 and v6 bind-address = * may work, too. if not, go with the above mentioned and restart mariadb
Code: root@za4:~# egrep dbispconfig /etc/ -R | grep amavis /etc/amavis/50-user~: ( ['DBI:mysql:database=dbispconfig;host=127.0.0.1;port=3306', 'ispconfig', 'xxxxx'] ); /etc/amavis/conf.d/50-user: ( ['DBI:mysql:database=dbispconfig;host=127.0.0.1;port=3306', 'ispconfig', 'xxxxx' maybe if I replace 127.0.0.1 with localhost?
Code: root@za4:/etc/mysql# grep -HiRnF 'bind-address' * my.cnf:59:#bind-address = 127.0.0.1 my.cnf.migrated:59:#bind-address = 127.0.0.1 my.cnf.migrated.bak:59:#bind-address = 127.0.0.1 mysql.conf.d/mysqld.cnf:43:bind-address = 127.0.0.1 root@za4:/etc/mysql# ll total 56K drwxr-xr-x 4 root root 4,0K déc. 19 04:48 ./ drwxr-xr-x 138 root root 12K mai 24 15:49 ../ drwxr-xr-x 2 root root 4,0K déc. 19 04:29 conf.d/ -rw------- 1 root root 317 déc. 19 04:48 debian.cnf -rwxr-xr-x 1 root root 120 janv. 28 2021 debian-start* lrwxrwxrwx 1 root root 24 déc. 19 04:29 my.cnf -> /etc/alternatives/my.cnf -rw-r--r-- 1 root root 839 janv. 21 2017 my.cnf.fallback -rw-r--r-- 1 root root 4,3K déc. 19 04:48 my.cnf.migrated -rw-r--r-- 1 root root 4,1K déc. 19 04:29 my.cnf.migrated.bak -rw-r--r-- 1 root root 682 févr. 3 2017 mysql.cnf drwxr-xr-x 2 root root 4,0K déc. 19 04:48 mysql.conf.d/ root@za4:/etc/mysql# ll /etc/alternatives/ déc. 19 04:29 my.cnf -> /etc/mysql/my.cnf.migrated not mariadb
if you have a ipv6 mapping for localhost, will do, yes. but check postfix config also. And update the template files and keep in mind when updating and and and =) Usually it is better to work with, not against the framework. one of the bind settings should work for mysql, too https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_bind_address usually all should work, but there may have been some versions which did not understand all the syntax
still possible there is just the dbispconfig@localhost and not @ 127.0.0.1 one that's why the hint with resolve names if you did not modify the my.cnf to listen on 127.0.0.1 and it does listen on :: only, that'd be strange though, sure the config got there before a restart? edit: ah, might also be the case your version is "one of them" and it is listening on ipv4 mapped ipv6 addresses
Code: root@za4:~# netstat -tap | grep mysql tcp 0 0 localhost:46646 localhost:mysql ESTABLISHED 10482/amavisd-new ( tcp 0 0 localhost:46638 localhost:mysql ESTABLISHED 10478/amavisd-new ( tcp6 0 0 [::]:mysql [::]:* LISTEN 1298/mysqld tcp6 0 0 localhost:mysql localhost:46646 ESTABLISHED 1298/mysqld tcp6 0 0 localhost:mysql localhost:46638 ESTABLISHED 1298/mysqld still seems to work in v4 and v6
yes, it is listening on ipv4, but it is getting mapped. Though imho it should not listen on :: if you enter 127.0.0.1 strange behaviour and not finding a matching description in the docs. but if you specify 127.0.0.1,::1 ?
this is controlled by net.ipv6.bindv6only on sysctl. Though as your distro probably has been tested using the defaults... and not tested as much when set to 1, up to you and keep in mind, an application can specifically request, thus overwrite using IPV6_V6ONLY socket option https://man7.org/linux/man-pages/man7/ipv6.7.html therefore, probably better to add the ::1 to the bind for localhost binding