/alcasar.sh |
---|
64,7 → 64,7 |
# ****** Paths - chemin des commandes ******* |
SED="/bin/sed -i" |
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ****** |
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils pm-fallback-policy" |
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils clamav pm-fallback-policy" |
# ****************** End of global parameters ********************* |
header_install () |
195,7 → 195,7 |
# Download of ALCASAR specifics RPM in cache (and test) |
echo "Récupération des paquetages complémentaires. Veuillez patienter ..." |
echo "Download of complementary packages. Please wait ..." |
urpmi --auto $PACKAGES --quiet --test --retry 2 |
urpmi --wget --auto $PACKAGES --quiet --test --retry 2 |
if [ "$?" != "0" ] |
then |
echo |
210,7 → 210,7 |
# update with cached RPM |
urpmi --auto $PACKAGES |
# On supprime les paquetages, les services et les utilisateurs inutiles |
for rm_rpm in shorewall dhcp-server c-icap-server cyrus-sasl distcache-server avahi mandi radeontool bind clamav |
for rm_rpm in shorewall dhcp-server c-icap-server cyrus-sasl distcache-server avahi mandi radeontool bind |
do |
/usr/sbin/urpme --auto $rm_rpm --auto-orphans 2>/dev/null |
done |
927,11 → 927,8 |
fi |
groupadd -f havp |
useradd -M -g havp havp |
# création de la zone de travail temporaire (50Mo) en mémoire |
mkdir -p /var/tmp/havp /var/log/havp |
chown -R havp /var/tmp/havp /var/log/havp /var/run/havp |
# echo "# Entry for havp tmp files scan partition" >> /etc/fstab |
# echo "tmpfs /var/tmp/havp tmpfs mand,noatime,size=50m,nosuid,noexec 0 0" >> /etc/fstab |
$SED "/$HAVP_BIN -c $HAVP_CONFIG/i chown -R havp:havp \/var\/tmp\/havp" /etc/init.d/havp |
# configuration d'HAVP |
[ -e /etc/havp/havp.config.default ] || cp /etc/havp/havp.config /etc/havp/havp.config.default |
945,12 → 942,12 |
# remplacement du fichier d'initialisation |
[ -e /etc/init.d/havp.default ] || cp /etc/init.d/havp /etc/init.d/havp.default |
cp -f $DIR_CONF/havp-init /etc/init.d/havp |
# ajout de la fonction 'status' (utile pour la gestion du process) |
# $SED "/^HAVP_BIN=/i. /etc/init.d/functions" /etc/init.d/havp |
# $SED "s?^[\t ]*echo \"Checking for.*?status havp?g" /etc/init.d/havp |
# on remplace la page d'interception (template) |
cp -f $DIR_CONF/virus-fr.html /etc/havp/templates/fr/virus.html |
cp -f $DIR_CONF/virus-en.html /etc/havp/templates/en/virus.html |
# automatisation de la mise à jour de la base antivirale (toutes les 2 heures) |
$SED "s?^Checks.*?Checks 12?g" /etc/freshclam.conf |
$SED "s?^NotifyClamd.*?# NotifyClamd /etc/clamd.conf?g" /etc/freshclam.conf |
} |
################################################################################## |
/conf/rpms/coova-chilli-1.2.6.spec |
---|
0,0 → 1,121 |
%define _disable_ld_no_undefined 1 |
Summary: Coova-Chilli is a LAN Access Point Controller |
Name: coova-chilli |
Version: 1.2.6 |
Release: %mkrel 0 |
URL: http://coova.org/wiki/index.php/CoovaChilli |
Source0: http://ap.coova.org/chilli/%{name}-%{version}.tar.gz |
License: GPLv2 |
Group: System/Servers |
Packager: Rexy for ALCASAR project |
Requires(pre): rpm-helper |
Requires(postun): rpm-helper |
BuildRequires: autoconf |
BuildRequires: libtool |
BuildRequires: curl-devel |
BuildRequires: pcap-devel |
BuildRequires: python |
BuildRequires: python-devel |
%if %{!?_without_ssl:1}0 |
BuildRequires: openssl-devel |
%endif |
Provides: coova-chilli = %{version}-%{release} |
Obsoletes: chillispot |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
%description |
Coova-Chilli is a fork of the ChilliSpot project - an open source captive |
portal or wireless LAN access point controller. It supports web based login |
(Universal Access Method, or UAM), standard for public HotSpots, and it |
supports Wireless Protected Access (WPA), the standard for secure roamable |
networks. Authentication, Authorization and Accounting (AAA) is handled by |
your favorite radius server. Read more at http://coova.org/. |
%prep |
%setup -q -n %{name}-%{version} |
%build |
%configure \ |
--disable-static \ |
--enable-shared \ |
--enable-largelimits \ |
--enable-miniportal \ |
--enable-chilliredir \ |
--enable-chilliproxy \ |
--enable-chilliscript \ |
--with-poll \ |
%if %{!?_without_ssl:1}0 |
--with-openssl \ |
--enable-chilliradsec \ |
%endif |
make |
%install |
make install DESTDIR=$RPM_BUILD_ROOT |
rm -rf $RPM_BUILD_ROOT/usr/include/* |
rm -rf $RPM_BUILD_ROOT/usr/lib/*.la |
rm -rf $RPM_BUILD_ROOT/usr/lib/*.a |
%clean |
rm -rf $RPM_BUILD_ROOT |
make clean |
%post |
%_post_service chilli |
%preun |
%_preun_service chilli |
%files |
%defattr(-,root,root) |
%{_sbindir}/* |
%{_libdir}/*.so* |
%{_libdir}/python/CoovaChilliLib.py |
%{_sysconfdir}/init.d/chilli |
%doc AUTHORS COPYING ChangeLog INSTALL README doc/dictionary.chillispot doc/hotspotlogin.cgi |
%config %{_sysconfdir}/chilli.conf |
%config %{_sysconfdir}/chilli/gui-config-default.ini |
%config(noreplace) %{_sysconfdir}/chilli/defaults |
%dir %{_sysconfdir}/chilli |
%dir %{_sysconfdir}/chilli/www |
%attr(755,root,root)%{_sysconfdir}/chilli/www/config.sh |
%attr(4750,root,chilli)%{_sbindir}/chilli_script |
%{_sysconfdir}/chilli/www/* |
%{_sysconfdir}/chilli/wwwsh |
%{_sysconfdir}/chilli/functions |
%{_sysconfdir}/chilli/*.sh |
%{_mandir}/man1/*.1* |
%{_mandir}/man5/*.5* |
%{_mandir}/man8/*.8* |
%changelog |
* Sat Feb 12 2011 Rexy for Alcasar project |
+ revision: 433 |
+ add _disable_ld_no_undefined 1 |
- 1.2.6 release |
* Sat Nov 20 2010 Rexy for Alcasar project |
+ revision: 394 |
- 1.2.5 release |
* Sat Jan 2 2010 <david@coova.com> |
- 1.2.0 release |
* Thu Sep 30 2007 <david@coova.com> |
- 1.0.8 release |
* Thu Aug 20 2007 <david@coova.com> |
- 1.0-coova.7 release |
* Thu Jun 7 2007 <david@coova.com> |
- 1.0-coova.6 release |
* Wed May 16 2007 <david@coova.com> |
- 1.0-coova.5 release |
* Wed Feb 07 2007 <david@coova.com> |
- 1.0-coova.4 release |
* Wed Nov 15 2006 <david@coova.com> |
- 1.0-coova.3 release |
* Thu Mar 25 2004 <support@chillispot.org> |
- Initial release. |
/conf/rpms/rpm-build-howto |
---|
1,19 → 1,35 |
Création des RPM spécifiques pour Alcasar |
**** Coova-chilli ***** |
**** préparation de la structure de création de RPM *** |
- installer le paquetage rpm-build |
- récupérer le "RPM Source" de la dernière version 'packagée' par mandriva de coova-chilli (dans le répertoire SRPMS du dépôt 'contrib' de la cooker ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/contrib/release/) |
- en tant que root, lancer "urpmi" du paquetage récupéré. Cela permet d'installer les dépendances en terme de biliothèques de développment (*-devel.rpm) |
- en tant qu'utilisateur, lancer rpm -i du paquetage récupéré afin d'installer la structure de création du RPM dans ~/rpmbuild |
- pour tester cette structure, se positionner dans le répertoire ~/rpmbuild/SPEC/ et lancer la génération du RPM (rpmbuild -ba coova-chilli.spec) |
- si tout est ok, les RPMs sont créés dans le répertoire ~/rpmbuild/RPMS. Supprimer ces RPM |
- récupérer le 'tarball' de la dernière version de coova-chilli. Le décompresser dans un répertoire et tester la compilation traditionnelle (./configure + make) |
- copier ce tarball dans ~/rpmbuil/SOURCES/ |
- adaptation du fichier .spec (version, packager, commentaires, etc.) + |
- suppression de '--with-openssl \' à la ligne 104 |
- affectation des fichiers "header" dans le RPM coova-devel à la ligne 171 |
- adaptation du patch Mandriva : |
- l'ancien patch n'est plus nécessaire |
- cependant, un nouveau est nécessaire pour supprimer l'option de compilation "-Werror" qui spécifie au compilateur de traiter les warning comme des erreurs |
- si tout est ok, les RPMs sont créés dans le répertoire ~/rpmbuild/RPMS. Supprimer ces RPM |
**** Coova-chilli ***** |
- récupérer le 'tarball' de la dernière version de coova-chilli. |
- Le décompresser dans un répertoire et tester la compilation traditionnelle (./configure + make) |
- tester l'install en tant que root (make install). Tout est dans /usr/local/sbin|etc|share|... désisntaller par "make uninstall" |
- copier le tarball dans ~/rpmbuil/SOURCES/ |
### pour versions antérieures à 1.2.5 de coova #### |
- récupérer le .spec de la version 1.2.5 et l'adaptater (version, packager, commentaires, etc.) + commenter |
- la ligne 104 ('--with-openssl \') : on a pas besoin du support openssl (la compil avec openssl ne fonctionne pas. On supprime openssl car dans ALCASAR, on passe par apache pour le chiffrement) |
- la ligne 171 (affectation des fichiers "header" dans le RPM coova-devel) |
- Le patch d'origine de mandriva (1.0.12-linkage_fix.diff) n'est plus nécessaire. Cependant un nouveau doit être appliqué : |
- le but est de supprimer l'option de compilation "-Werror" de la ligne "AM CFLAGS" du fichier src/makefile.am (directive spécifiant au compilateur de traiter les warning comme des erreurs). |
- copier le makefile.am d'origine en makefile.am.patch et modifier la ligne AM CFLAGS (vers la ligne 15) |
- créer le fichier patch unifié en lançant "diff -u makefile.am makefile.am.patch > mon_patch.diff |
- copié ce fichier sous rpmbuild/SOURCE avec le nom spécifié dans le .spec |
- se positionner dans rpmbuild/SPEC et lancer la génération du RPM (rpmbuild -ba coova-chilli.spec) |
### fin pour version antérieur à 1.2.5 de coova ### |
### pour version 1.2.6 de coova #### |
- copier .spec redhat du répertoire "distro" de l'archive décompressée dans ~rpmbuild/SPEC et l'adaptater (version, packager, commentaires, etc.) |
- ajouter en première ligne "%define _disable_ld_no_undefined 1" |
- se positionner dans rpmbuild/SPEC et lancer la génération du RPM en supprimant le support ssl (rpmbuild -ba coova-chilli.spec --without ssl) |
### fin pour version 1.2.6 de coova #### |
**** HAVP **** |
- récupérer le tarball de la dernière version d'HAVP. Le décompresser dans un répertoire et tester la compilation traditionnelle (./configure + make) |
- copier ce tarball dans ~/rpmbuil/SOURCES/ |
/conf/havp-init |
---|
70,7 → 70,7 |
case "$1" in |
start) |
if [ x"$USE_LOOPBACK" = x"true" ] && ! [ "`mount | grep ^$havp_loopback`" ]; then |
if ! [ "`mount | grep ^$havp_loopback`" ]; then |
echo -n "Mounting $havp_loopback under $havp_mountpoint ..." |
mount -t tmpfs -o mand,noatime,size=50m,nosuid,noexec $havp_loopback $havp_mountpoint |
chown -R havp:havp $havp_mountpoint |
/scripts/alcasar-urpmi.sh |
---|
41,10 → 41,10 |
MIRRORLIST="http://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/official/$VERSION/$ARCH" |
############################ |
urpmi.removemedia -a |
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST main /media/main/release |
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST main_updates /media/main/updates |
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST contrib /media/contrib/release |
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST contrib_updates /media/contrib/updates |
urpmi.addmedia --wget --probe-synthesis --mirrorlist $MIRRORLIST main /media/main/release |
urpmi.addmedia --wget --update --probe-synthesis --mirrorlist $MIRRORLIST main_updates /media/main/updates |
urpmi.addmedia --wget --probe-synthesis --mirrorlist $MIRRORLIST contrib /media/contrib/release |
urpmi.addmedia --wget --update --probe-synthesis --mirrorlist $MIRRORLIST contrib_updates /media/contrib/updates |
nb_repository=`cat /etc/urpmi/urpmi.cfg|grep mirrorlist|wc -l` |
if [ "$nb_repository" != "4" ] |
then |
/scripts/sbin/alcasar-uninstall.sh |
---|
108,7 → 108,7 |
then |
$SED "/havp/d" /etc/fstab && echo -n "1, " |
[ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "2, " |
userdel -r havp && echo -n "3" |
userdel -r havp 2>/dev/null && echo -n "3" |
else echo -n "non installé" |
fi |
sleep 1 |