OwnCloud integration on SME Server. Not maintained anymore
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.

86 lines
4.1 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;
ALTER TABLE appconfig DROP INDEX appid;
UPDATE IGNORE group_user SET uid='admin' where uid='owncloud';
DELETE FROM users where uid='owncloud';
EOF
END
}