====== 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?