====== Installation eGroupWare ======
===== Vorraussetzungen =====
* [[ldap | LDAP Server ]]
* [[cyrus-imapd | IMAP Server ]] ( [[cyrus-imapd-ssl | mit TLS/SSL ]] )
* [[postfix-ldap | SMTP Server ]] ( mit TLS/SSL )
* [[apache | Apache Webserver ]] ( [[apache-ssl | mit TLS/SSL ]] )
MySQL oder Postgres
==== OpenLDAP ====
=== Debian 4.0 ===
zcat /usr/share/doc/egroupware-core/ldap/rfc2307bis.schema.gz > /etc/ldap/schema/rfc2307bis.schema
''/etc/ldap/slapd.conf'' : ((Die Nutzung des rfc2307bis.schema ist optional, genaueres unter doc/egroupware-core/ldap/README ))
#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-ldap|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: (( Die Kursschreibweise ''ldapadd -x -W'' ohne Angabe des Admin-Kontos funktioniert nur, wenn vorher eine [[ldap|Konfigurationsdatei]] ''.ldaprc'' oder ''ldap.conf'' angelegt wurde ))
DOMAIN="dc=linuxhotel,dc=de"
ldapadd -x -W <
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 [[ http://www.egroupware.org/index.php?page_name=wiki&lang=de&wikipage=AddresbookAccountsConcept | LDAP Unterstützung erheblich ]] verbessert. Damit sind die aktuellen [[http://packages.debian.org/egroupware | Debian-Pakete ]] in
[[http://packages.debian.org/sarge/egroupware | sarge ]],
[[http://packages.debian.org/etch-backports/egroupware | etch-backports ]] und
[[http://packages.debian.org/lenny/egroupware | lenny ]]
für //mich// zur Zeit (9.5.2008) uninteressant. In
[[http://packages.debian.org/sid/egroupware | sid ]],
ist eine Version 1.4.x ... mal sehen wann die in den backports ankommt.
Bleibt das Original von der [[ http://sourceforge.net/projects/egroupware/ | 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';"
===== Dokus & Links =====
* /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?