Autoconfig and fixperms

This commit is contained in:
Victor LABORIE 2018-12-07 14:55:19 +01:00
parent 69889dcac3
commit 350ac97910
4 changed files with 59 additions and 3 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
evoadmin-mail (1.0.1-4) unstable; urgency=low
* Autoconfig and fixperms
-- Victor Laborie <vlaborie@evolix.fr> Fri, 07 Dec 2018 14:54:23 +0100
evoadmin-mail (1.0.1-3) unstable; urgency=medium
* Create evoadmin-mail user in postinst script

2
debian/control vendored
View File

@ -7,6 +7,6 @@ Standards-Version: 4.0.0
Package: evoadmin-mail
Architecture: all
Depends: php, php-cli, php-twig, ${misc:Depends}
Depends: php, php-cli, php-twig, apg, ldapvi, ${misc:Depends}
Description: PHP app for manage LDAP mail accounts
evoadmin-mail is a Web Interface for manage an LDAP directory designed for mail accounts.

51
debian/postinst vendored
View File

@ -2,7 +2,54 @@
set -eu
getent passwd evoadmin-mail >/dev/null
[ "${?}" -eq 0 ] || useradd --system --user-group --no-create-home --home-dir /var/lib/evoadmin-mail --shell /usr/sbin/nologin evoadmin-mail
getent passwd evoadmin-mail >/dev/null || useradd --system --user-group --no-create-home --home-dir /var/lib/evoadmin-mail --shell /usr/sbin/nologin evoadmin-mail
if [ -f /root/.ldapvirc ]; then
hostname=$(hostname -f)
ldap_base=$(grep -Eo "^base: (.*)" /root/.ldapvirc | awk '{ print $2 }')
ldap_admin_dn=$(grep -Eo "^user: (.*)" /root/.ldapvirc | awk '{ print $2 }')
ldap_admin_password=$(grep -Eo "^password: (.*)" /root/.ldapvirc | awk '{ print $2 }')
if [ ! -f /etc/evoadmin-mail/config.ini ]; then
evoadmin_password=$(apg -n 1 -m 16 -M lcN)
cat > /root/evolinux_evoadminmail_admin.ldif <<EOF
dn: uid=evoadmin,${ldap_base}
uid: evoadmin
cn: Evoadmin ADM
uidNumber: 4242
gidNumber: 4242
homeDirectory: /dev/null
isAdmin: TRUE
mailacceptinggeneralid: evoadmin@${hostname}
objectClass: mailAccount
objectClass: organizationalRole
objectClass: posixAccount
userPassword: ${evoadmin_password}
EOF
ldapvi --noninteractive --add --in /root/evolinux_evoadminmail_admin.ldif
cat > /etc/evoadmin-mail/config.ini <<EOF
; The configuration for evoadmin-mail
;
; * Global settings
; * LDAP settings
;
[global]
name = "Evoadmin Mail";
mail = "evoadmin@${hostname}"
log_level = error
[ldap]
host = "127.0.0.1"
port = 389
base = "${ldap_base}"
admin_dn = "${ldap_admin_dn}"
admin_pass = "${ldap_admin_password}"
superadmin[] = "evoadmin"
EOF
fi
chmod 750 /etc/evoadmin-mail /var/lib/evoadmin-mail
chmod 640 /etc/evoadmin-mail/config.ini
chgrp evoadmin-mail /etc/evoadmin-mail /etc/evoadmin-mail/config.ini /var/lib/evoadmin-mail
fi
exit 0

3
debian/rules vendored
View File

@ -2,3 +2,6 @@
%:
dh $@
override_dh_fixperms:
dh_fixperms --exclude /etc/evoadmin-mail /var/lib/evoadmin-mail