auto manager install
This commit is contained in:
46
index.sh
46
index.sh
@@ -2,10 +2,23 @@
|
||||
|
||||
set -e
|
||||
|
||||
org_name="Theta42"
|
||||
domain="theta42.com"
|
||||
password=$1
|
||||
ldap_base="dc=theta42,dc=com"
|
||||
# Pull in the mustache template library for bash
|
||||
source lib/mo
|
||||
|
||||
if [ ! -f ./ldap.vars ]; then
|
||||
echo "ldap.vars file not found!"
|
||||
echo "Please copy ldap.vars_template to ldap.vars and edit it."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
source ldap.vars
|
||||
|
||||
export user_uid=`echo -n "${user_first_name:0:1}$user_last_name" | tr '[:upper:]' '[:lower:]'`
|
||||
export password_md5=`echo -n "$password" | openssl dgst -md5 -binary | openssl enc -base64`
|
||||
export ldpad_client_password_md5=`echo -n "$ldpad_client_password" | openssl dgst -md5 -binary | openssl enc -base64`
|
||||
export user_password_md5=`echo -n "$user_password" | openssl dgst -md5 -binary | openssl enc -base64`
|
||||
|
||||
|
||||
echo "slapd slapd/internal/adminpw string $password" | debconf-set-selections
|
||||
echo "slapd slapd/password1 string $password" | debconf-set-selections
|
||||
@@ -27,6 +40,10 @@ echo '' > /etc/ldap/ldap.conf
|
||||
echo "BASE $ldap_base" >> /etc/ldap/ldap.conf
|
||||
echo "URI ldap://localhost" >> /etc/ldap/ldap.conf
|
||||
|
||||
temp_populate_ldif=$(mkdir)
|
||||
populate_ldif_template="$(cat files/populate.ldif.template)"
|
||||
echo "$populate_ldif_template" | mo > "$temp_populate_ldif"
|
||||
|
||||
ldapadd -Y EXTERNAL -H ldapi:/// -f files/sshkey.ldif
|
||||
ldapadd -Y EXTERNAL -H ldapi:/// -f files/sudo.ldif
|
||||
ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f files/add_index.ldif
|
||||
@@ -34,3 +51,24 @@ ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f files/logging.ldif
|
||||
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f files/memberof_config.ldif
|
||||
ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f files/refint1.ldif
|
||||
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f files/refint2.ldif
|
||||
ldapadd -x -D "cn=admin,$ldap_base" -w "$password" -H ldap:// -f "$temp_populate_ldif"
|
||||
|
||||
|
||||
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
|
||||
apt update
|
||||
apt-get install -y nodejs git
|
||||
|
||||
mkdir /var/www
|
||||
cd /var/www
|
||||
|
||||
git clone https://github.com/theta42/sso-manager-node.git
|
||||
|
||||
cd sso-manager-node/nodejs
|
||||
npm install
|
||||
|
||||
sso_conf_template="$(cat files/sso-manager.conf.template)"
|
||||
echo "$sso_conf_template" | mo > "conf/secrets.js"
|
||||
|
||||
wget -q https://raw.githubusercontent.com/theta42/sso-manager-node/master/ops/systemd/sso-manager.service -O /etc/systemd/system/sso-manger.service
|
||||
systemctl start sso-manger.service
|
||||
systemctl enable sso-manger.service
|
||||
|
||||
Reference in New Issue
Block a user