molecules/remaster/mcs/mcs-functions.sh
2010-10-22 17:24:48 +02:00

72 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
_is_live() {
cdroot=$(cat /proc/cmdline | grep cdroot)
if [ -n "${cdroot}" ]; then
return 0
else
return 1
fi
}
_setup_fds_live() {
# setup 389-ds
tmp_config_file="$(mktemp)"
echo "[General]
FullMachineName=localhost.localdomain
SuiteSpotUserID=dirsrv
SuiteSpotGroup=dirsrv
ConfigDirectoryAdminPwd=mcsmanager
[slapd]
ServerPort=389
ServerIdentifier=sabayon
Suffix=dc=babel,dc=it
RootDN=cn=Directory Manager
RootDNPwd=mcsmanager
[admin]
Port=9830
SysUser=dirsrv
ServerIpAddress=127.0.0.1
ServerAdminID=admin
ServerAdminPwd=mcsmanager
" > "${tmp_config_file}"
# FIXME: calling the script directly, from init, won't work, WTF!
su - -c "/usr/sbin/setup-ds-admin.pl -f ${tmp_config_file} --silent" || return 1
# init MCS ldap data
( /usr/sbin/mcs-ldapinit.pl -d localhost.localdomain -b "dc=babel,dc=it" \
-s sa -p mcsmanager -a node1 -B "db1,db2" -f /tmp/base.ldif ) || return 1
/usr/bin/ldapmodify -a -D "cn=directory manager" -h localhost -w mcsmanager \
-f /tmp/base.ldif || return 1
echo "389 Directory Server configured."
return 0
}
FDS_SETUP_FILE="/etc/.389-sabayon-configured"
_setup_fds_installed() {
if [ -e "${FDS_SETUP_FILE}" ]; then
return
fi
# First, setup 389
_setup_fds_live
# then make it autostart at the next boot
rc-update add 389-ds default
rc-update add 389-admin default
# do the whole thing once
touch "${FDS_SETUP_FILE}"
}
setup_fds() {
# setup 389
if _is_live; then
_setup_fds_live
else
_setup_fds_installed
fi
}