Ajcody-Zimlet-Notes

Revision as of 21:50, 14 November 2008 by Ajcody (talk | contribs)

Template:NotOfficial

Zimlets

Actual Zimlet Notes Homepage

Please see Ajcody-Zimlet-Notes

Location Of Zimlets

Zimlets should be already located on the zimbra server in one of these directories:

/opt/zimbra/zimlets/
/opt/zimbra/zimlets-admin-extra/
/opt/zimbra/zimlets-extra/
/opt/zimbra/zimlets-experimental/
/opt/zimbra/zimlets-network/

How To List Currently Installed Zimlets

Do the following:

zmzimletctl listZimlets

You can also see them in the admin console.

Configuration > Zimlets

Configuration > Admin Extensions

How To Deploy Zimlets

To deploy a zimlet, simply cd to the directory where the zimlet is located and issue this command:

/opt/zimbra/bin/zmzimletctl deploy <zimlet_name>

Something like:

zmzimletctl deploy /opt/zimbra/zimlets-extra/com_zimbra_ycurrency.zip

You can also deploy them via the admin console.

Configuration > Zimlets

Configuration > Admin Extensions

How To Undeploy / Uninstall Zimlets

See how the zimlet is named:

zmzimletctl listZimlets

Now run the following with the naming convention used from the above output:

zmzimletctl undeploy com_zimbra_ycurrency

You can also undeploy them via the admin console.

Configuration > Zimlets

Configuration > Admin Extensions

Samba & Posix Zimlet

Main Samba & Posix How-To Reference

Please see:

http://wiki.zimbra.com/index.php?title=UNIX_and_Windows_Account_management_in_Admin_UI

Can't Manage Users After Removing Samba & Posix Zimlet

This is after you have removed the samba & posix zimlets and now can't see or manage old accounts in the admin ui. You might need to remove the samba/posix references in each user account. You'll need the nis.schema and samba.schema configured for ldap for this to work.

Untested comment, 3 things needed for this.

1. deployed samba/posix zimlet

2. add/have the samba/nis schema

3. add/have the extra oc's

zmprov mcf +zimbraAccountExtraObjectClass posixAccount 
zmprov mcf +zimbraAccountExtraObjectClass sambaSamAccount

If you do this on one of the old accounts:

zmprov ga user@domain.com

And you see:

objectClass: posixAccount
objectClass: sambaSamAccount

These steps might need to be done.

Create a file called mod.ldif . Modify the dn line - dn: uid=posix1,ou=people,dc=testdomain,dc=com - for your server and user.

# posix1, people, testdomain.com
dn: uid=posix1,ou=people,dc=testdomain,dc=com
changetype: modify
delete: objectClass
objectClass: posixAccount
-
delete: objectClass
objectClass: sambaSamAccount
-
delete: uidNumber
-
delete: gidNumber
-
delete: loginShell
-
delete: sambaAcctFlags
-
delete: sambaSID
-
delete: homeDirectory
-
delete: sambaNTPassword

# posix2, people, testdomain.com
dn: uid=posix2,ou=people,dc=testdomain,dc=com
changetype: modify
delete: objectClass
objectClass: posixAccount
-
delete: objectClass
objectClass: sambaSamAccount
-
delete: uidNumber
-
delete: gidNumber
-
delete: loginShell
-
delete: sambaSID
-
delete: homeDirectory
-
delete: sambaNTPassword

Then run a command similar to this, modify it for your environment:

ldapmodify -D uid=zimbra,cn=admins,cn=zimbra -w PassWord -H ldap://ldapmaster.hostname.com:389 -x -f /tmp/mod.ldif
Problems With The Above Steps?

Please see :

http://wiki.zimbra.com/index.php?title=King0770-Notes#LDAP_-_Export_.26_Reimport

It should be possible to modify the dump and the re-import. This has not been tested yet, though.

Steps done in one test. Please note, you'll still need to visually review the ldap file to see what lines need to be remove, this can't be scripted out.

-as zimbra-
zimbra$ libexec/zmslapcat /tmp/ldap
zimbra$ egrep -iv 'sambaSamAccount|posixAccount|uidNumber|gidNumber|loginShell|sambaAcctFlags|sambaSID|homeDirectory|sambaNTPassword' ldap.bak > ldap.bak2
zimbra$ egrep -i 'samba|posix' ldap.bak2
zimbra$ vi ldap.bak2
zimbra$ egrep -i 'loginshell|HOMEDIRECTORY|MEMBERUID' ldap.bak2
zimbra$ vi ldap.bak2
zimbra$ zmcontrol stop
zimbra$ ps -aux | grep slapd

6) su - root
7) mv /opt/zimbra/openldap-data /opt/zimbra/openldap-data.OLD
8) mkdir -p /opt/zimbra/openldap-data/logs
9) chown -R zimbra:zimbra /opt/zimbra/openldap-data/
10) su - zimbra

zimbra$ cd /opt/zimbra/openldap-data.OLD
zimbra$ cp DB_CONFIG ../openldap-data/
zimbra$ cd
zimbra$ /opt/zimbra/openldap/sbin/slapadd -f /opt/zimbra/conf/slapd.conf -l /tmp/ldap/ldap.bak2 
The first database does not allow slapadd; using the first available one (2)
is_entry_objectclass("cn=IT,ou=groups,dc=XXXXX,dc=com", "2.16.840.1.113730.3.2.6") no objectClass attribute
slapadd: dn="cn=IT,ou=groups,dc=XXXXX,dc=com" (line=11179): no objectClass attribute
zimbra$ zmcontrol start

### Output ###
assigned-72-29-183-240:~ zimbra$ libexec/zmslapcat /tmp/ldap2/
UNKNOWN attributeDescription "LOGINSHELL" inserted.
UNKNOWN attributeDescription "HOMEDIRECTORY" inserted.
UNKNOWN attributeDescription "SAMBAACCTFLAGS" inserted.
UNKNOWN attributeDescription "SAMBASID" inserted.
UNKNOWN attributeDescription "SAMBADOMAINNAME" inserted.
UNKNOWN attributeDescription "SAMBANTPASSWORD" inserted.
UNKNOWN attributeDescription "SAMBAALGORITHMICRIDBASE" inserted.
UNKNOWN attributeDescription "SAMBANEXTUSERRID" inserted.
UNKNOWN attributeDescription "SAMBAMINPWDLENGTH" inserted.
UNKNOWN attributeDescription "SAMBALOGONTOCHGPWD" inserted.
UNKNOWN attributeDescription "SAMBAMAXPWDAGE" inserted.
UNKNOWN attributeDescription "SAMBAMINPWDAGE" inserted.
UNKNOWN attributeDescription "SAMBALOCKOUTDURATION" inserted.
UNKNOWN attributeDescription "SAMBALOCKOUTOBSERVATIONWINDOW" inserted.
UNKNOWN attributeDescription "SAMBALOCKOUTTHRESHOLD" inserted.
UNKNOWN attributeDescription "SAMBAFORCELOGOFF" inserted.
UNKNOWN attributeDescription "SAMBAREFUSEMACHINEPWDCHANGE" inserted.
UNKNOWN attributeDescription "SAMBAPWDHISTORYLENGTH" inserted.
UNKNOWN attributeDescription "SAMBAGROUPTYPE" inserted.
UNKNOWN attributeDescription "MEMBERUID" inserted.
UNKNOWN attributeDescription "SAMBAPASSWORDHISTORY" inserted.
UNKNOWN attributeDescription "SAMBAPWDLASTSET" inserted.
Jump to: navigation, search