Migrate FusionDirectory from 1.0.4 to 1.0.5

Clean FusionDirectory schema directory

Debian

rm /etc/ldap/schema/fusiondirectory/*.ldif

Upgrade of LDAP directory

Install schema packages

Upgrade new schema core first:

Debian

apt-get update
apt-get install fusiondirectory-schema

Then, depending of your installation, install new schema packages for your installed plugins.

For example, if you have Systems, Dhcp and Dns plugin installed, you need to:

Debian

apt-get install fusiondirectory-plugin-systems-schema
apt-get install fusiondirectory-plugin-dhcp-schema
apt-get install fusiondirectory-plugin-dns-schema

Remove old schema from your Ldap Directory

Your installed schema are in /etc/ldap/slapd.d/cn\=config/cn\=schema directory. For the above example, installed schema will be the following:

Debian

ldapsearch -Y EXTERNAL -H ldapi:/// -LLL -b cn=schema,cn=config \| grep "dn: cn={"

SASL/EXTERNAL authentication started SASL username:
gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 dn:
cn={0}core,cn=schema,cn=config dn: cn={1}cosine,cn=schema,cn=config dn:
cn={2}nis,cn=schema,cn=config dn:
cn={3}inetorgperson,cn=schema,cn=config dn:
cn={4}samba,cn=schema,cn=config dn: cn={5}gosystem,cn=schema,cn=config
cn={6}gofon,cn=schema,cn=config dn: cn={7}gofax,cn=schema,cn=config
cn={8}goto,cn=schema,cn=config dn:
cn={9}goserver,cn=schema,cn=config dn:
cn={10}goto-mime,cn=schema,cn=config dn:
cn={11}gosa-samba3,cn=schema,cn=config dn:
cn={12}ldapns,cn=schema,cn=config dn:
cn={13}recovery,cn=schema,cn=config dn: cn={14}dhcp,cn=schema,cn=config
cn={15}dnszone,cn=schema,cn=config

Schema’s from ‘cn={0}…’ to ‘cn={3}’ doesn’t change, so you can leave it.

Now you need to remove all others before install the new one’s. You can start to remove before plugin schemas. Doing this is simple, just delete its relative file in the folder

/etc/ldap/slapd.d/cn=config/cn=schema

and restart slapd. A word of advice, remove schemas starting from the last. For the above example:

Debian

cd /etc/ldap/slapd.d/cn=config/cn=schema
rm cn={15}dnszone.ldif
rm cn={14}dhcp.ldif
/etc/init.d/slapd stop
/etc/init.d/slapd start

If everything goes right, you can remove core schemas:

Debian

rm cn={13}recovery.ldif
rm cn={12}ldapns.ldif
rm cn={11}gosa-samba3.ldif
rm cn={10}goto-mime.ldif
rm cn={9}goserver.ldif
rm cn={8}goto.ldif
rm cn={7}gofax.ldif
rm cn={6}gofon.ldif
rm cn={5}gosystem.ldif
rm cn={4}samba.ldif
/etc/init.d/slapd stop
/etc/init.d/slapd start

Insert new schemas inside your Ldap Directory

First of all insert the new core schemas:

Debian

fusiondirectory-insert-schema

Then you can proceed for all the plugins schemas (here you can find a list of available plugins with old and new relative schemas), for the above example:

Debian

fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/service-fd.schema
fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/systems-fd-conf.schema
fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/mime-fd.schema
fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/systems-fd.schema
fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/dhcp-fd.schema
fusiondirectory-insert-schema -i /etc/ldap/schema/fusiondirectory/dnszone.schema

Upgrade fusiondirectory first

Upgrade FusionDirectory core package and fusiondirectory-plugin-systems (if it’s installed) before other ones to avoid dependencies errors:

Debian

apt-get install fusiondirectory
apt-get install fusiondirectory-plugin-systems
apt-get upgrade

Configuration file is changed

Starting with version 1.0.5, the configuration of FusionDirectory is stored inside the ldap, in configs branch.

To adapt to this change, you need to Re-run setup.

Re-run setup

Before you re-run the setup from the web interface, you must move your old configuration file, doing this :

mv /etc/fusiondirectory/fusiondirectory.conf /etc/fusiondirectory/fusiondirectory.conf.back

Then, in your web browser, you can type :

http://your_server/fusiondirectory/setup.php

and fill the required informations (look here to see more about parameters of configuration).