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