Topic: Migrating from iRedMail 0.9.8 to 1.6.0
==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 1.6.0 OPENLDAP edition
- Deployed with iRedMail Easy or the downloadable installer? downloadable
- Linux/BSD distribution name and version: Rocky Linux 8.6
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): LDAP
- Web server (Apache or Nginx): nginx
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
The old server with iRedMail 0.9.8 is on CentOS Linux 7.9.2009 and uses LDAP backend. I installed iRedMail 1.6.0 on a new server with freshly installed Rocky Linux 8.6. During installation, I saw an error message:
touch: cannot touch '/opt/netdata/etc/netdata/.opt-out-from-anonymous-statistics': No such file or directory
I thought it could be because 'touch' had been issued before the directory was created and ran the command manually. After the installation, I rebooted the server. After reboot, iredapd and iredadmin services were enabled and ran, but the other mail services installed by iRedMail were disabled. I enabled and started the services and then restored using {SSHA512} LDAP configuration backed up on the old server.
The next step was to apply 'updateLDAPValues_099_to_1.py' script. First I had to correct syntax errors in the script since when I ran
python3 updateLDAPValues_099_to_1.py
I got
SyntaxError: Missing parentheses in call to 'print'
After providing parentheses for print(), I had
# python3 updateLDAPValues_099_to_1.py.
* Connecting to LDAP server: ldap://127.0.0.1:389
* Get all mail accounts...
* Total 16 user(s).
* (1 of 16) Updating user: b'user@mydomain.org'
Traceback (most recent call last):
File "updateLDAPValues_099_to_1.py", line 52, in <module>
conn.modify_s(dn, mod_attrs)
File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 640, in modify_s
return self.modify_ext_s(dn,modlist,None,None)
File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 612, in modify_ext_s
msgid = self.modify_ext(dn,modlist,serverctrls,clientctrls)
File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 609, in modify_ext
return self._ldap_call(self._l.modify_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 324, in _ldap_call
result = func(*args,**kwargs)
TypeError: ('Tuple_to_LDAPMod(): expected a byte string in the list', 'quota-status')
How can I fix that?
----
Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.