• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

No Sites after Plesk Update 8.4 to 8.6

R

rededelta3

Guest
after the Plesk update NONE Domains not running....

ALL Domains show "Site Builder" login page...

If i want delete / Create /change a Domain or i only want to look in the dns setting i got:

ERROR: PleskMainDBException
MySQL query failed: Unknown column 'serial' in 'field list'

0: /usr/local/psa/admin/plib/common_func.php3:250
db_query(string 'select `id`,`name`,`displayName`,`email`,`status`,`type`, `ttl`,`ttl_unit`,`refresh`,`refresh_unit`,`retry`, `retry_unit`,`expire`,`expire_unit`,`minimum`,`min imum_unit`,`serial`,`serial_format` from dns_zone where `id`=26')

etc...

Any help????
 
Error

ERROR: PleskFatalException

Failed domain creation: Unable to update domain data: MySQL query failed: Unknown column 'serial' in 'field list'

--------------------------------------------------------------------------------

0: /usr/local/psa/admin/htdocs/domains/create_domain.php:162
 
Same...

I also had this, but after rebooting the server, it went away.
Still having other Plesk issues after going from 8.4 to 8.6 though - like Horde webmail system no longer appearing by default on webmail.domain.com, AutoInstaller always busy, etc... am still looking into those issues on other threads for now...
 
No sites seen after reboot

I am seeing the same problem. A server reboot did not change matters. I can see a list of domains, but when any one of them is selected, Plesk gives:
Code:
ERROR: PleskMainDBException  	

MySQL query failed: Unknown column 'serial' in 'field list'

0: /usr/local/psa/admin/plib/common_func.php3:250
    db_query(string 'select `id`,`name`,`displayName`,`email`,`status`,`type`,`ttl`,`ttl_unit`,`refresh`,`refresh_unit`,`retry`,`retry_unit`,`expire`,`expire_unit`,`minimum`,`minimum_unit`,`serial`,`serial_format` from dns_zone where `id`=4')
1: /usr/local/psa/admin/plib/class.Table.php:180
    Table->select()
2: /usr/local/psa/admin/plib/dns/DNSZone.php:56
    DNSZone->DNSZone(string '4')
3: /usr/local/psa/admin/plib/common_func.php3:2930
    objectMaker(string 'DNSZone', string '4')
4: /usr/local/psa/admin/plib/dns/DNSManager.php:37
    DNSManager::getDNSZone(string '4')
5: /usr/local/psa/admin/plib/class.Domain.php:682
    Domain->getDNSZone()
6: /usr/local/psa/admin/plib/class.PhDomain.php:785
    PhDomain->getWwwPrefix()
7: /usr/local/psa/admin/plib/class.DomainControlForm.php:240
    DomainControlForm->assign(object of type BsDomain)
8: /usr/local/psa/admin/htdocs/domains/dom_ctrl.php3:149

Checking the Plesk version gives a strange result:
# rpm -q psa
psa-8.3.0-cos4.build83071218.20
psa-8.6.0-cos4.build86080722.02


I went directly from 8.3 to 8.6. /usr/local/psa/version contains 8.6.0 CentOS 4.2 86080722.02

It did not make any difference whether the DNS zone serial number format option was set to the old format or the serial number option.

Any ideas from those of you more knowledgeable about Plesk than me?
 
Did you get an email from Plesk saying AutoInstaller failed, etc? I did, and found some tips in there as to what to do - one line mentioned to manually run some command from the command-line, which I did. The problem went away after that, and a combination of a reboot afterwards.
 
Problem solved

Further searching brought up this useful post. The problem lies in the Plesk installer not modifying its own SQL tables. These needed to be edited manually. For those not versed in mysql, here is an annotated sequence to follow. Entries in blue are what you should enter:

# mysql -u admin -p `cat /etc/psa/.psa.shadow` -D psa
(Log in to mysql using Plesk's stored password).

mysql> use psa
(Select Plesk's database)

mysql> describe dns_zone;
(Check if there are rows titled serial and serial_format. If not, this should fix matters.)

mysql> ALTER TABLE `dns_zone` add `serial` VARCHAR( 12 ) CHARACTER SET ascii COLLATE ascii_bin NOT NULL DEFAULT '0';
mysql> ALTER TABLE `dns_zone` add `serial_format` ENUM( 'UNIXTIMESTAMP', 'YYYYMMDDNN' ) NOT NULL DEFAULT 'UNIXTIMESTAMP';
(Add the appropriate rows to the dns_zone table.)

describe dns_zone;
Should look something like:
Code:
+---------------+------------------------------------+------+-----+---------------+----------------+
| Field         | Type                               | Null | Key | Default       | Extra          |
+---------------+------------------------------------+------+-----+---------------+----------------+
| id            | int(10) unsigned                   | NO   | PRI | NULL          | auto_increment |
| name          | varchar(255)                       | NO   |     |               |                |
| displayName   | varchar(255)                       | NO   |     |               |                |
| status        | int(10) unsigned                   | NO   |     | 0             |                |
| email         | varchar(255)                       | YES  |     | NULL          |                |
| type          | enum('slave','master')             | NO   |     | master        |                |
| ttl           | int(10) unsigned                   | NO   |     | 86400         |                |
| ttl_unit      | int(10) unsigned                   | NO   |     | 1             |                |
| refresh       | int(10) unsigned                   | NO   |     | 10800         |                |
| refresh_unit  | int(10) unsigned                   | NO   |     | 1             |                |
| retry         | int(10) unsigned                   | NO   |     | 3600          |                |
| retry_unit    | int(10) unsigned                   | NO   |     | 1             |                |
| expire        | int(10) unsigned                   | NO   |     | 604800        |                |
| expire_unit   | int(10) unsigned                   | NO   |     | 1             |                |
| minimum       | int(10) unsigned                   | NO   |     | 10800         |                |
| minimum_unit  | int(10) unsigned                   | NO   |     | 1             |                |
| serial        | varchar(12)                        | NO   |     | 0             |                |
| serial_format | enum('UNIXTIMESTAMP','YYYYMMDDNN') | NO   |     | UNIXTIMESTAMP |                |
+---------------+------------------------------------+------+-----+---------------+----------------+
18 rows in set (0.00 sec)
At this point, Plesk worked for me. Along the way, it kept wiping out /usr/local/psa/admin/conf/httpsd.conf and truncating it to a 1 byte file. Thankfully I made a backup of the original file prior to updating. If Plesk is overall dead, check this file. Oh yeah, for those of you who have not already upgraded to version 8.4 or 8.6, back up your working httpsd.conf first!
 
Back
Top