72 lines
1.5 KiB
Bash
Executable File
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
|
|
}
|