Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene:egroupware

Installation eGroupWare

Vorraussetzungen

OpenLDAP

Debian 4.0

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

SuSE 10.0

/etc/openldap/slapd.conf :

include         /etc/openldap/schema/rfc2307bis.schema
include         /etc/openldap/schema/inetorgperson.schema

Verzeichnisbaum füllen

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

Pakete

SuSE 10.3
mysql

Konfiguration

/etc/init.d/mysql start
mysql -u root -p
CREATE DATABASE egroupware;
GRANT ALL ON egroupware.* TO egroupware@localhost IDENTIFIED BY 'Passwort';
quit;

Postgres

Pakete

Debian 4.0
postgresql

Konfiguration

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

Pakete

SuSE 10.3

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 

Debian 4.0

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

Original

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

Alte Version 1.2.x

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 

Version 1.4.x aus sid

(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

Konfiguration

/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';"
  • /usr/share/doc/egroupware-core/README.Debian ( Debian )
  • addressbook/doc/README
  • phpgwapi/doc/ldap/README

Fragen

  • Systemzeichensatz: ist utf8 ok? Oder gibts da bei PHP noch Probleme?
1)
Die Nutzung des rfc2307bis.schema ist optional, genaueres unter doc/egroupware-core/ldap/README
2)
Die Kursschreibweise ldapadd -x -W ohne Angabe des Admin-Kontos funktioniert nur, wenn vorher eine Konfigurationsdatei .ldaprc oder ldap.conf angelegt wurde
fortgeschrittene/egroupware.txt · Zuletzt geändert: 2008/05/15 18:30 (Externe Bearbeitung)