You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
4.2 KiB
87 lines
4.2 KiB
{
|
|
use esmith::util;
|
|
my $ldapBase = esmith::util::ldapBase ($DomainName);
|
|
my $db = $owncloud{'DbName'} || 'owncloud';
|
|
my $user = $owncloud{'DbUser'} || 'owncloud';
|
|
my $pass = $owncloud{'DbPassword'} || 'owncloud';
|
|
|
|
|
|
$OUT .= <<"END";
|
|
#! /bin/sh
|
|
if [ ! -d /var/lib/mysql/$db ]; then
|
|
# Create the database
|
|
/usr/bin/mysql -e 'create database $db'
|
|
fi
|
|
|
|
# Update the owncloud mysql user and password
|
|
/usr/bin/mysql <<EOF
|
|
USE mysql;
|
|
|
|
REPLACE INTO user (
|
|
host,
|
|
user,
|
|
password)
|
|
VALUES (
|
|
'localhost',
|
|
'$user',
|
|
PASSWORD ('$pass'));
|
|
|
|
|
|
REPLACE INTO db (
|
|
host,
|
|
db,
|
|
user,
|
|
select_priv, insert_priv, update_priv, delete_priv,
|
|
create_priv, alter_priv, index_priv, drop_priv, create_tmp_table_priv,
|
|
grant_priv, lock_tables_priv, references_priv)
|
|
VALUES (
|
|
'localhost',
|
|
'$db',
|
|
'$user',
|
|
'Y', 'Y', 'Y', 'Y',
|
|
'Y', 'Y', 'Y', 'Y', 'Y',
|
|
'N', 'Y', 'Y');
|
|
|
|
FLUSH PRIVILEGES;
|
|
|
|
EOF
|
|
|
|
# Call owncloud URL, it will trigger the install the first time
|
|
wget -O /dev/null --no-check-certificate https://$SystemName.$DomainName/owncloud > /dev/null 2>&1
|
|
|
|
# Now Configure owncloud to use LDAP
|
|
/usr/bin/mysql <<EOF
|
|
|
|
USE $db;
|
|
|
|
ALTER IGNORE TABLE appconfig ADD UNIQUE KEY (appid,configKey);
|
|
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_base','$ldapBase') ON DUPLICATE KEY UPDATE configValue='$ldapBase';
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_base_users','ou=Users,$ldapBase') ON DUPLICATE KEY UPDATE configValue='ou=Users,$ldapBase';
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_base_groups','ou=Groups,$ldapBase') ON DUPLICATE KEY UPDATE configValue='ou=Groups,$ldapBase';
|
|
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','enabled','yes') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_cache_ttl','1') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_email_attr','mail') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_group_display_name','cn') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_user_display_name','cn') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_group_filter','objectClass=mailboxRelatedObject') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_group_member_assoc_attribute','memberUid') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_host','127.0.0.1') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_tls','0') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_login_filter','uid=%uid') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','user_ldaplist_filter','objectClass=sambaSamAccount') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_uuid_attribute','entryuuid') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','types','authentication') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
INSERT INTO appconfig (appid,configKey,configValue) VALUES ('user_ldap','ldap_configuration_active','1') ON DUPLICATE KEY UPDATE configValue=configValue;
|
|
|
|
ALTER TABLE appconfig DROP INDEX appid;
|
|
|
|
UPDATE IGNORE group_user SET uid='admin' where uid='owncloud';
|
|
|
|
DELETE FROM users where uid='owncloud';
|
|
|
|
EOF
|
|
END
|
|
}
|
|
|
|
|