This repository has been archived on 2022-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
appliances-old/privacyidea/Makefile

71 lines
3.2 KiB
Makefile

preinstall:
# switch to hardened, build hardened toolchain, rebuild everything
mkdir -p $(CHROOT)/etc/portage/profile
echo "-hardened" >> $(CHROOT)/etc/portage/profile/use.mask
$(inroot) $(EMERGE) $(USEPKG) --oneshot gcc
$(inroot) $(EMERGE) $(USEPKG) --oneshot binutils virtual/libc
-$(gcc_config)
## $(inroot) $(EMERGE) --depclean --with-bdeps=n
$(inroot) $(EMERGE) $(USEPKG) --emptytree @world
$(inroot) bash -c 'yes YES | etc-update --automode -9'
# Unitas-Portage-Overlay einbinden
$(inroot) $(EMERGE) -n $(USEPKG) app-portage/layman
sed -i 's/check_official : Yes/check_official : No/' $(CHROOT)/etc/layman/layman.cfg
wget -P $(CHROOT)/etc/layman/overlays http://dev.unitas-network.de/raw/Gentoo/Unitas.git/master/unitas-overlays.xml
$(inroot) layman -l | grep -q unitas || $(inroot) layman -La unitas
postinstall: timesyncd.conf installgrub.sh grub.shell firstboot.start
# Konfigurationen anpassen
cp timesyncd.conf $(CHROOT)/etc/systemd/timesyncd.conf
cp installgrub.sh $(CHROOT)/installgrub.sh
cp grub.shell $(CHROOT)/grub.shell
cp firstboot.start $(CHROOT)/etc/local.d/firstboot.start
touch $(CHROOT)/firstboot
sed -i 's/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' $(CHROOT)/etc/sudoers
$(inroot) useradd -m -G users,wheel -s /bin/bash admin
$(inroot) passwd -d admin; $(inroot) passwd -e admin
$(inroot) systemctl enable screen@adm.service
# Beispiel feste IP-Adresse
cp 00-eth0.network $(CHROOT)/00-eth0.network.example
# MariaDB-Konfiguration
cp mariadb/my.cnf $(CHROOT)/etc/mysql/my.cnf
cp mariadb/my.cnf.root $(CHROOT)/root/.my.cnf
chmod 0600 $(CHROOT)/root/.my.cnf
rm -rf $(CHROOT)/var/lib/mysql/*
$(inroot) bash -c 'yes gentoo | emerge --config dev-db/mariadb'
# Apache-/PHP-Konfiguration
sed -i 's:APACHE2_OPTS=\":APACHE2_OPTS=\"-D WSGI :' $(CHROOT)/etc/conf.d/apache2
cp apache/00_default_ssl_vhost.conf $(CHROOT)/etc/apache2/vhosts.d/
$(inroot) systemctl enable apache2
# privacyIDEA Konfiguration (eigene Voreinstellungen)
cp privacyidea/enckey $(CHROOT)/etc/privacyidea/
cp privacyidea/pi.cfg $(CHROOT)/etc/privacyidea/
cp privacyidea/private.pem $(CHROOT)/etc/privacyidea/
cp privacyidea/public.pem $(CHROOT)/etc/privacyidea/
cp privacyidea/openssl.cnf $(CHROOT)/etc/privacyidea/CA/
$(inroot) chown -R privacyidea:root /etc/privacyidea
chmod 600 $(CHROOT)/etc/privacyidea/enckey
chmod 600 $(CHROOT)/etc/privacyidea/private.pem
touch $(CHROOT)/var/log/privacyidea/privacyidea.log
$(inroot) chown privacyidea:root /var/log/privacyidea/privacyidea.log
# FreeRADIUS-Konfiguration
sed -i 's:filename = .*:filename = /usr/lib/privacyidea/authmodules/FreeRADIUS/privacyidea_radius.pm:' $(CHROOT)/etc/raddb/mods-available/perl
ln -s ../mods-available/perl $(CHROOT)/etc/raddb/mods-enabled/perl
cp freeradius/privacyidea $(CHROOT)/etc/raddb/sites-available/
$(inroot) chown root:radius /etc/raddb/sites-available/privacyidea
chmod 640 $(CHROOT)/etc/raddb/sites-available/privacyidea
rm $(CHROOT)/etc/raddb/mods-enabled/eap
rm $(CHROOT)/etc/raddb/sites-enabled/*
ln -s ../sites-available/privacyidea $(CHROOT)/etc/raddb/sites-enabled/privacyidea
mv $(CHROOT)/etc/raddb/dictionary $(CHROOT)/etc/raddb/dictionary.orig
cp $(CHROOT)/etc/privacyidea/dictionary $(CHROOT)/etc/raddb/
$(inroot) systemctl enable freeradius
clean: