GOsa
GOsa is a GPL'ed PHP based administration tool for managing accounts and systems in LDAP databases. It administers users and groups, mail distribution lists, thin clients, applications, phones and faxes.
Get GOsa from: http://oss.gonicus.de/pub/gosa/
Project homepage: http://www.gosa-project.org/
GOsa pre-requisites:
- apache2-mod_php5
- php5
- (php5-bz2)
- php5-gd
- php5-gettext
- php5-iconv
- php5-imap
- php5-ldap
- php5-mbstring
- php5-mcrypt
- (php5-mhash)
- php5-mysql
- php5-openssl
- php5-pcntl
- php5-pear
- (php5-pear-auth-sasl)
- (php5-pear-log)
- php5-posix
- php5-sockets
- php5-zip
- php5-zlib
- ImageMagick (>=5.4)
- optional: fping
- perl-Crypt-SmbHash
Download GOsa-source gosa-X.Y.Z.tar.bz2 to /usr/src/packages/SOURCES
Modify gosa.spec-file (apopt name from X.Y.Z. to the actual GOsa-release):
# Some sort of "detection" of suse %{?suse_version:%define suse 1} %{!?suse_version:%define suse 0} # Define Packagename, e.g.: # rpmbuild --rebuild --define 'sourcename gosa' gosa.srpm %{!?sourcename:%define sourcename %{name}-%{version}} # # Distribution # Summary: Web Based LDAP Administration Program Name: gosa Version: X.Y.Z Release: 1 License: GPL Source: ftp://oss.GONICUS.de/pub/gosa/%{sourcename}.tar.bz2 URL: http://www.gosa-project.org Group: System/Administration Vendor: GONICUS GmbH Packager: Christoph Haas <christoph.haas@uk-bw.de> Buildarch: noarch %if %{suse} Distribution: (open)SUSE %{osversion} Requires: apache2,apache2-mod_php5,php5,php5-gd,php5-ldap,php5-mcrypt,php5-mysql,php5-imap,php5-iconv,php5-mbstring,php5-gettext,php5-posix,ImageMagick,perl-Crypt-SmbHash %else Requires: httpd,php,php-ldap,php-imap,php-snmp,php-mysql,php-mbstring,perl-Crypt-SmbHash >= 0.02,ImageMagick %endif BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildArch: noarch %define confdir /etc/%{name} %if %{suse} %{echo:Building SuSE rpm} %define apacheuser wwwrun %define apachegroup root %define webconf /etc/apache2/conf.d/ %define webdir /srv/www/htdocs/gosa %define docdir /usr/share/doc/packages/gosa %else %{echo:Building other rpm} %define apacheuser apache %define apachegroup apache %define webconf /etc/httpd/conf.d/ %define webdir /usr/share/gosa %define docdir /usr/share/doc/gosa-%{version} %endif %description GOsa is a combination of system-administrator and end-user web interface, designed to handle LDAP based setups. Provided is access to posix, shadow, samba, proxy, fax, and kerberos accounts. It is able to manage the postfix/cyrus server combination and can write user adapted sieve scripts. %package schema Group: System/Administration Summary: Schema Definitions for the GOsa package %if %{suse} Requires: openldap2 >= 2.2.6 %else Requires: openldap-servers >= 2.2.0 %endif Obsoletes: gosa-ldap %description schema Contains the Schema definition files for the GOsa admin package. %package help-en Group: System/Administration Summary: English online manual for GOsa package Requires: gosa >= %{version} %description help-en English online manual page for GOsa package %package help-de Group: System/Administration Summary: German localized online manual for GOsa package Requires: gosa >= %{version} %description help-de German localized online manual page for GOsa package %package help-fr Group: System/Administration Summary: French localized online manual for GOsa package Requires: gosa >= %{version} %description help-fr French localized online manual page for GOsa package %package help-nl Group: System/Administration Summary: Dutch localized online manual for GOsa package Requires: gosa >= %{version} %description help-nl Dutch localized online manual page for GOsa package %prep %setup -q -n %{sourcename} find . -depth -name CVS -type d | xargs rm -rf %build %install # Create buildroot mkdir -p %{buildroot}%{webdir} # Copy DIRS="doc ihtml plugins html include locale" for i in $DIRS; do \ cp -ua $i %{buildroot}%{webdir}/$i ; \ done # Create files for temporary stuff for i in compile config cache; do \ mkdir -p %{buildroot}/var/spool/gosa/$i ; \ done # Cleanup manual dirs for i in admin devel; do \ rm -rf %{buildroot}%{webdir}/doc/guide/$i ; \ done # Remove (some) unneeded files for i in gen_locale.sh gen_online_help.sh gen_function_list.php update.sh; do \ rm -rf %{buildroot}%{webdir}/$i ; \ done # Cleanup lyx warnings find %{buildroot}%{webdir} -name WARNINGS |xargs rm # Cleanup guide rm -rf %{buildroot}%{webdir}/doc/guide/user/*/lyx-source # Copy default config mkdir -p %{buildroot}%{confdir} mkdir -p %{buildroot}%{webconf} cat > %{buildroot}%{webconf}/gosa_include.conf <<EOF # Just to be sure <Directory "%{webdir}/html"> Options None AllowOverride None Order allow,deny Allow from all </Directory> # Set alias to gosa Alias /gosa %{webdir}/html EOF mkdir -p %{buildroot}/etc/openldap/schema/gosa mv contrib/openldap/*.schema %{buildroot}/etc/openldap/schema/gosa sed 's§"CONFIG_TEMPLATE_DIR", "../contrib/"§"CONFIG_TEMPLATE_DIR", "%{docdir}/"§g' %{buildroot}%{webdir}/include/functions.inc > %{buildroot}%{webdir}/include/functions.inc.new mv -f %{buildroot}%{webdir}/include/functions.inc.new %{buildroot}%{webdir}/include/functions.inc mv -f doc manual mkdir -p %{buildroot}/etc/gosa/vacation mv -f %{buildroot}%{webdir}/plugins/personal/mail/sieve-*.txt %{buildroot}/etc/gosa mkdir -p %{buildroot}/usr/share/doc/gosa-%{version} rm -rf %{buildroot}%{webdir}/contrib #rm -rf %{buildroot}%{webdir}/doc #rmdir contrib/openldap bzip2 -9 contrib/opensides/goSamba.pl %clean rm -rf %{buildroot} %post # Add shells file to /etc/gosa /bin/cp /etc/shells /etc/gosa %pre # Cleanup compile dir on updates, always exit cleanly even on errors [ -d /var/spool/gosa ] && rm -rf /var/spool/gosa/* ; exit 0 %postun # Remove temporary files, just to be sure [ -d /var/spool/gosa ] && rm -rf /var/spool/gosa/ ; exit 0 %files %defattr(-,%{apacheuser},%{apachegroup}) %doc %attr(-,root,root) AUTHORS TODO README README.safemode Changelog COPYING INSTALL FAQ %doc %attr(-,root,root) contrib/altlinux contrib/fix_config.sh contrib/gosa.conf contrib/mysql contrib/opensides %doc %attr(-,root,root) contrib/patches contrib/scripts contrib/vacation_example.txt contrib/demo.ldif contrib/openldap %config(noreplace) %attr(0600,%{apacheuser},%{apachegroup}) %{webconf}/gosa_include.conf %config(noreplace) %attr(0700,%{apacheuser},%{apachegroup}) /etc/gosa %attr(0700, %{apacheuser}, %{apachegroup}) /var/spool/gosa %attr(0744, %{apacheuser}, %{apachegroup}) %{webdir} %files schema %defattr(-,root,root) %doc COPYING AUTHORS README contrib/demo.ldif contrib/openldap /etc/openldap/schema/gosa %files help-en %defattr(-,root,root) %{webdir}/doc/guide/user/en %files help-de %defattr(-,root,root) %{webdir}/doc/guide/user/de %files help-fr %defattr(-,root,root) %{webdir}/doc/guide/user/fr %files help-nl %defattr(-,root,root) %{webdir}/doc/guide/user/nl %changelog * Tue Jul 17 2007 Christoph Haas <christoph.haas@uk-bw.de> - included patches changing birthday-attribute in GOsa and GOsa-ldap-schemas for working with eGroupWare 1.4 (rfc... dateOfBirth -> birthDate) * Sat Jan 06 2007 Christoph Haas <christoph.haas@uk-bw.de> - introduced %{webdir} variable for putting GOsa in /usr/share/gosa for non-SUSE, and /srv/www/htdocs/gosa for SUSE - SUSE dependencies again to php5 * Wed Dec 20 2006 Lars Scheiter <lars.scheiter@GONICUS.de> 2.5.7 - New upstream - %pre and %postun always end successfully now, even on errors * Fri Nov 17 2006 Lars Scheiter <lars.scheiter@GONICUS.de> 2.5.6 - New upstream - Cleanup temporary dir after package removal - Cleanup temporary dir before update * Thu Sep 28 2006 Lars Scheiter <lars.scheiter@GONICUS.de> 2.5.4 - New upstream version - Downgraded SuSE dependencies to php4 * Wed Jun 21 2006 Lars Scheiter <lars.scheiter@GONICUS.de> 2.5.1 - New upstream version * Tue May 30 2006 Lars Scheiter <lars.scheiter@GONICUS.de> 2.5 - Updated RedHat dependencies - New upstream version - Spelling errors fixed ;) - Seperation of online manual * Mon Dec 19 2005 Lars Scheiter <lars.scheiter@GONICUS.de> 2.4-2 - Updated SuSE dependencies to php5 * Mon Nov 21 2005 Lars Scheiter <lars.scheiter@GONICUS.de> 2.4 - New upstream version - Removed %doc for postgresql and openexchange * Wed Jun 01 2005 Lars Scheiter <lars.scheiter@GONICUS.de> 2.4beta1 - New upstream version - Added gosa.conf to contrib dir - Rearranged documentation stuff - Updated dependencies - compress some files * Mon Feb 21 2005 Lars Scheiter <lars.scheiter@GONICUS.de> 2.3 - Update version to 2.3 (upstream) * Mon Dec 13 2004 Lars Scheiter <lars.scheiter@GONICUS.de> 2.2-2 - Optionally allow different sourcenames * Mon Nov 22 2004 Lars Scheiter <lars.scheiter@GONICUS.de> 2.2 - Update to 2.2 (upstream) - reintroduction of suse detection - small fixes - Corrected URL - Synchronize schema package name with debian * Mon May 19 2004 Levente Farkas <lfarkas@lfarkas.org> 2.1.1 - update to 2.1.1 * Mon Apr 19 2004 Levente Farkas <lfarkas@lfarkas.org> 2.1 - update to 2.1 * Fri Apr 16 2004 Levente Farkas <lfarkas@lfarkas.org> 2.1 - minor fixes - update to 2.1rc2 * Tue Jan 24 2004 Henning P. Schmiedehausen <hps@intermeta.de> 2.1-2t - bumped to 2.1beta2 - first INTERMETA internal build * Mon Oct 20 2003 Lars Scheiter <lars.scheiter@GONICUS.de> - Update to new upstream release (2.0rc1) * Fri Oct 17 2003 Lars Scheiter <lars.scheiter@GONICUS.de> - First build of GOsa as an RPM, should work on SuSE and RedHat
Build RPM-files with:
rpmbuild -bb /usr/src/packages/SPECS/gosa.spec
GOsa from 2.5.11 on requires PHP >0 5.2.0 or 4.3.10 if gosa.conf is created by the GOsa setup wizard. If gosa.conf is created by hand, it runs with other versions also.
- fping is located in /usr/sbin instead of in /usr/bin in (open)SUSE
- arp is located in /sbin instead of in /usr/sbin in (open)SUSE
← index