Skip to content

Latest commit

 

History

History
227 lines (163 loc) · 8.67 KB

1.2.x_errata.md

File metadata and controls

227 lines (163 loc) · 8.67 KB

i-MSCP 1.2.x -- Errata

Update to version 1.2.3

Supported distributions

Support for both Debian Squeeze ( 6.x ) and Ubuntu Lucid Lynx ( 10.04 ) has been removed. If you want to update to this new version, you must first update your distribution to either:

  • Debian Wheezy ( 7.x ) or Debian Jessie (8.x) if you're using Debian
  • Ubuntu Precise Pangolin ( 12.04 ) if you're using Ubuntu

Pre-update tasks

Plugins

Major changes were made in the plugin API, which break compatibility with old plugins versions. Therefore, before updating to this new version, you must delete all plugins.

Once the update is done, you must reinstall each plugin by downloading the latest version available from our plugin store. Be aware that some plugins are not yet ready for use with this new version, such as the Mailman and OwnDDNS plugins which require further works.

Plugins which are known to work with this new version clearly states that they are compatible with i-MSCP version >= 1.2.3.

Event listeners

Be aware that the transitional iMSCP::HooksManager package, which was an alias of the iMSCP::EventManager package since i-MSCP version 1.1.14, has been removed. Thus, if you're using that package name in one of your listeners, you must change it to iMSCP::EventManager, which is the real package name.

PHP version in use

If you're using, either Debian Wheezy or Ubuntu Precise with a PHP version that is not provided by official repositories, you must be aware that the php-apc package has been added in the list of package to install. Because that package is no longer provided for PHP versions >= 5.4, you must remove the package from the packages file before upgrading, else, packages installation will fail.

You can find the packages file inside the i-MSCP archive, under the docs/ directory.

Services

You must stop all i-MSCP services manually before updating, else, some of them will be unable to restart at the end of process.

You can stop the i-MSCP services as follow:

# service imscp_panel stop
# service imscp_daemon stop
# service imscp_network stop

Note: The imscp_panel service is only available if you're upgrading from a version released under the i-MSCP serie 1.2.x

/root/.my.cnf file

The /root/.my.cnf file is no longer used by i-MSCP. Because this is a local file, the i-MSCP installer will not remove it during update. Thus, if you have a database connection problem with the i-MSCP backup scripts after update, just remove the mysqldump section from this file.

Info for plugin's developers

Plugin API changes

New plugin.plugin_config_prev database field

A new plugin.plugin_config_prev database field as been added, which allows to store the previous plugin configuration. This field is automatically filled by the plugin manager and you should never update it manually.

From the frontend, you can access the previous plugin configuration parameters using one of the following methods:

iMSCP_Plugin::getConfigPrev() Allows to retrieve all previous configuration parameters
iMSCP_Plugin::getConfigPrevParam() Allows to retrieve a single previous configuration parameter

From the backend, you can access the previous plugin configuration parameter using the config_prev property of the plugin.

Be aware that usage of parameters from previous configuration is only relevant in the disable(), update(), change() and uninstall() methods, whatever the context ( from the frontEnd or the backend ). Indeed, once the change() method has been run successfully, the plugin_config_prev field is filled with the last configuration applied on the plugin ( the configuration coming from the plugin_config field )

More generally, the parameters coming from the previous configuration allow to do some deconfiguration / uninstallation tasks.

New plugin properties ( backend )

From now, the plugin manager automatically decodes the plugin info, config and config_prev fields and sets them as plugin properties. Thus, it is not longer required to fetch these fields manually nor decode them.

To be more clear, the following news properties are set on plugin instances:

info Property which contains decoded plugin info field
config Property which contains decoded plugin config field
config_prev Property which contains decoded plugin config_prev field
New require_api info field

The new plugin API version introduces a new plugin info field ( require_api ), which allows you to define the i-MSCP plugin API version that is required by your plugin in the info.php file. Thus, by declaring this field ( mandatory ), it is no longer needed to implement API version compatibility check in the main plugin class. All is now done automatically by the plugin manager, based on the value of the require_api field.

Backend changes

New CustomDNS module

This new version comes with a new CustomDNS module which allows to process custom DNS records without involving a rebuilt of files which belong to HTTP server implementations ( vhost file, php files... ). This also allows to process the custom DNS records more faster than before because from now they are managed by a dedicated module.

In past, each time you wanted add or delete a custom DNS record, it was mandatory to rebuilt the full configuration of the domain ( vhost file, php file .. ). This involved a lot of tasks done for nothing and this was not without pose any problems such as the useless reload of Apache ( eg. when using a plugin such as OwnDDNS which needs to update the DNS zone files very often ).

From now, if you want add your own DNS records, you must simply add them into the domain_dns table with the correct status ( eg. toadd ) and trigger a backend request ( only needed if you add the record through the FrontEnd ).

Note: All this also apply to the listeners files.

Update to version 1.2.1

Package's restricted SQL users

The minimum length for usernames and passwords is now 6 characters long. Due to this change, it is possible that during the update you need to update them.

Webmails

Multiple webmails are now supported. You can install either no webmail, one webmail or many webmails at same time. You can reconfigure list of webmails to install by running the following command:

# perl imscp-autoinstall -dsr webmails

At this moment Roundcube and RainLoop webmails are available.

Update to version 1.2.0

Pre-update tasks

Prior to any update attempt, it is greatly recommended to deactivate all plugins through the plugin interface. Once the update is done, you must re-activate the plugins one at a time. If something goes wrong with a plugin, you can post in the plugins support section, and our development team will fix the issue as soon as possible.

i-MSCP frontEnd access

i-MSCP 1.2.0 introduces support for the Nginx Web server which is currently used only by the i-MSCP frontEnd. From now, the i-MSCP frontEnd is run through a dedicated httpd instance, and is reachable through the following http(s) ports:

8080 ( http )
4443 ( https )

You can set different ports by editing the /etc/imscp/imscp.conf file, and by re-running the i-MSCP installer. Be aware that the common http(s) ports ( 80 and 443 ) are reserved, and therefore, must not be used. If you want keep access to the panel though these ports, you can install the following plugin which will act as a proxy:

Having the i-MSCP frontEnd running with a dedicated httpd instance means that even if your Apache instance is down, the panel will stay reachable. You can manage the i-MSCP frontEnd service with the following commands:

# service imscp_panel <action>
# service nginx <action>

Hook files / Listener files

Hooks files are now known as listener files. A listener file is a Perl script which contains one or many event listeners registered on the events manager and triggered by the same. The old /etc/imscp/hooks.d directory has been renamed to /etc/imscp/listeners.d directory for consistency reasons.

Installer command line options

Many options were either added, removed or simply renamed. You can get the full list of available command line options by running the following command:

# perl imscp-autoinstall -?