MySQL oder Postgres
zcat /usr/share/doc/egroupware-core/ldap/rfc2307bis.schema.gz > /etc/ldap/schema/rfc2307bis.schema
/etc/ldap/slapd.conf
: 1)
#include /etc/ldap/schema/nis.schema include /etc/ldap/schema/rfc2307bis.schema include /etc/ldap/schema/inetorgperson.schema
/etc/ldap/schema/rfc2307bis.schema
:
Hier müssen die Attribute uidNumber
und gidNumber
entfernt werden
Für das Adressbuch werden noch folgende weitere Schemata empfohlen:
./addressbook/doc/mozillaabpersonalpha.schema
./addressbook/doc/evolutionperson.schema
include /etc/ldap/schema/mozillaabpersonalpha.schema include /etc/ldap/schema/evolutionperson.schema
Für Samba wird das Samba-Schema benötigt:
include /etc/ldap/schema/samba.schema
slaptest
/etc/openldap/slapd.conf
:
include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/inetorgperson.schema
OrganizationalUnits „people“ und „groups“ für Benutzer und Gruppen im LDAP-Baum anlegen: 2)
DOMAIN="dc=linuxhotel,dc=de" ldapadd -x -W <<LDIF
dn: cn=egroupware,$DOMAIN objectClass: simpleSecurityObject objectClass: organizationalRole cn: egroupware userPassword: villa description: egroupware access dn: ou=people,$DOMAIN objectClass: top objectClass: organizationalUnit ou: people dn: uid=admin,ou=people,$DOMAIN objectClass: top objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uidNumber: 10000 gidNumber: 10000 loginShell: /bin/bash uid: admin homeDirectory: /home/admin sn: admin cn: Administrator userPassword: villa dn: ou=groups,$DOMAIN objectClass: top objectClass: organizationalUnit ou: groups dn: cn=Default,ou=groups,$DOMAIN objectClass: top objectClass: posixGroup objectClass: groupOfNames gidNumber: 10001 cn: Default memberUid: admin member: uid=admin,ou=people,$DOMAIN dn: cn=Admins,ou=groups,$DOMAIN objectClass: top objectClass: posixGroup objectClass: groupOfNames gidNumber: 10000 cn: Admins memberUid: admin member: uid=admin,ou=people,$DOMAIN dn: ou=contacts,$DOMAIN objectClass: top objectClass: organizationalUnit ou: contacts dn: ou=shared,ou=contacts,$DOMAIN objectClass: top objectClass: organizationalUnit ou: shared dn: ou=personal,ou=contacts,$DOMAIN objectClass: top objectClass: organizationalUnit ou: personal
mysql
/etc/init.d/mysql start mysql -u root -p CREATE DATABASE egroupware; GRANT ALL ON egroupware.* TO egroupware@localhost IDENTIFIED BY 'Passwort'; quit;
postgresql
su - postgres createuser --no-adduser --no-createdb -P egroupware createdb --encoding=utf-8 --owner egroupware egroupware
Als root:
/etc/postgresql/*/*/pg_hba.conf
: ( Debian 4.0 )
host egroupware egroupware 127.0.0.1 255.255.255.255 md5
/etc/postgresql/*/*/postgresql.conf
: ( Debian 4.0 )
tcpip_socket = true
/etc/init.d/postgresql-* restart
zypper addrepo http://download.opensuse.org/repositories/server:/eGroupWare/openSUSE_10.3/ eGroupWare-10.3 zypper install eGroupWare php5-mysql php5-ldap php5-pear-auth_sasl
eGroupWare ist in Debain Etch nicht enthalten, aber es gibt ein passendes backports.org-Paket. Dieses Paket enthält allerdings noch Version 1.2.x. In Version 1.3.007 wurde die LDAP Unterstützung erheblich verbessert. Damit sind die aktuellen Debian-Pakete in sarge , etch-backports und lenny für mich zur Zeit (9.5.2008) uninteressant. In sid , ist eine Version 1.4.x … mal sehen wann die in den backports ankommt.
Bleibt das Original von der egroupware Sourceforge Seite
aptitute install apache2 libapache2-mod-php5 php5-gd php5-pgsql php5-imap php5-auth-pam php-log php-pear php5-ldap php5-mcrypt php5-mhash mkdir -p /var/www/egroupware/html cd /var/www/egroupware tar xjf /tmp/eGroupWare-1.4.004-2.tar.bz2 tar xjf /tmp/eGroupWare-egw-pear-1.4.004-2.tar.bz2 mv egroupware/ html
Diese Version benutzt ein eigenes LDAP-Schema für Benutzer und Kontakt-Daten. Habe ich daher nicht getestet.
/etc/apt/sources.list
deb http://www.backports.org/debian etch-backports main contrib non-free
wget -O - http://backports.org/debian/archive.key | apt-key add - apt-get update aptitude install egroupware
(funktioniert unter etch nicht, debhelper version 7 erforderlich)
/etc/apt/sources.list
:
deb-src http://ftp.de.debian.org/debian sid main
aptitude update aptitude install fakeroot apt-get build-dep egroupware
Als Nutzer:
apt-get source egroupware-egw-pear cd egroupware-egw-pear-1.4.*/ dpkg-buildpackage -rfakeroot -uc -b
cd ..
apt-get source egroupware cd egroupware-1.4.*.dfsg/ dpkg-buildpackage -rfakeroot -uc -b
Als root:
dpkg -i /home/nutzer/egroupware*.deb
/etc/init.d/apache2 restart
/setup/check_install.php
ausführen und angezeigte Konfigurationen vornehmen
Beim Ausfüllen der Webformulare beachten: ein bestehender LDAP-Nutzer (hier: nutzer17) sollte zum eGroupWare admin gemacht werden. Mit dem Admin ist hier nicht der „Setup-/Konfigurationsadmin“ und auch nicht der „Benutzer Headerverwaltung“ gemeint.
firefox http://notebook17.linuxhotel.de/egroupware/setup/index.php
header.inc.php
: ( Auszug )
$GLOBALS['egw_info']['server']['header_admin_user'] = 'admin'; $GLOBALS['egw_info']['server']['header_admin_password'] = 'admin-passwort-hash'; $GLOBALS['egw_info']['server']['setup_acl'] = ''; /* eGroupWare domain-specific db settings */ $GLOBALS['egw_domain']['naturnah.de'] = array( 'db_host' => 'localhost', 'db_port' => '5432', 'db_name' => 'egroupware', 'db_user' => 'egroupware', 'db_pass' => 'datenbank-passwort', // Look at the README file 'db_type' => 'pgsql', // This will limit who is allowed to make configuration modifications 'config_user' => 'admin', 'config_passwd' => 'admin-passwort-hash';; );
chown root:www-data header.inc.php chmod 640 header.inc.php
psql -c 'SELECT * from egw_config;' -d egroupware
( Auszug )
config_app | config_name | config_value phpgwapi | site_title | Linuxhotel Lab phpgwapi | email_address_format | account phpgwapi | ldap_contact_context | dc=lab,dc=linuxhotel,dc=de phpgwapi | login_logo_url | http://www.linuxhotel.de phpgwapi | login_logo_title | Linuxhotel Lab Groupware phpgwapi | login_logo_file | linuxhotel-logo-150.png phpgwapi | ldap_contact_host | localhost phpgwapi | mail_server | localhost phpgwapi | mail_server_type | imap bookmarks | mail_footer | \n\n--\nThis was sent from eGroupWare\nhttp://www.egroupware.org\n phpgwapi | system_charset | utf-8 phpgwapi | temp_dir | /tmp phpgwapi | files_dir | /var/lib/egroupware/lab.linuxhotel.de/files phpgwapi | backup_dir | /var/lib/egroupware/lab.linuxhotel.de/backup phpgwapi | webserver_url | https://egroupware.lab.linuxhotel.de phpgwapi | hostname | egroupware.lab.linuxhotel.de phpgwapi | smtp_port | 25 phpgwapi | auth_type | ldap phpgwapi | account_repository | ldap phpgwapi | account_min_id | 10000 phpgwapi | account_max_id | 20000 phpgwapi | auto_create_acct | lowercase phpgwapi | auto_create_expire | 604800 phpgwapi | ldap_host | localhost phpgwapi | ldap_context | ou=people,dc=lab,dc=linuxhotel,dc=de phpgwapi | ldap_group_context | ou=groups,dc=lab,dc=linuxhotel,dc=de phpgwapi | ldap_root_dn | cn=egroupware,dc=lab,dc=linuxhotel,dc=de phpgwapi | ldap_root_pw | ig4Fahso phpgwapi | ldap_encryption_type | md5 phpgwapi | ldap_extra_attributes | True phpgwapi | ldap_account_home | /home phpgwapi | ldap_account_shell | /bin/bash manual | manual_remote_egw_url | http://manual.egroupware.org/egroupware manual | manual_update_url | http://manual.egroupware.org/egroupware/wiki/index.php?page=Manual&action=xml phpgwapi | contact_repository | sql-ldap phpgwapi | mail_login_type | vmailmgr phpgwapi | mail_suffix | lab.linuxhotel.de phpgwapi | smtp_server | localhost phpgwapi | smpt_port | 25
Admin-Benutzer admin anlegen. Existiert zwar schon im LDAP, aber hat noch keine Anwendungen.
LDAP-Passwort ansehen: ( als Benutzer postgres )
psql -d egroupware -c "select config_value from egw_config where config_name = 'ldap_root_pw' and config_app = 'phpgwapi';"
LDAP-Passwort setzen: ( als Benutzer postgres )
psql -d egroupware -c "update egw_config set config_value = 'passwort' where config_name = 'ldap_root_pw' and config_app = 'phpgwapi';"
ldapadd -x -W
ohne Angabe des Admin-Kontos funktioniert nur, wenn vorher eine Konfigurationsdatei .ldaprc
oder ldap.conf
angelegt wurde