smeserver-owncloud/root/etc/e-smith/templates/etc/e-smith/sql/init/ownclouddb

85 lines
2.4 KiB
Plaintext

{
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 2>&1 > /dev/null
# Now Configure owncloud to use LDAP
/usr/bin/mysql <<EOF
USE $db;
REPLACE INTO appconfig (appid, configkey, configvalue) VALUES
('user_ldap', 'ldap_base', '$ldapBase'),
('user_ldap', 'ldap_base_groups', 'ou=Groups,$ldapBase'),
('user_ldap', 'ldap_base_users', 'ou=Users,$ldapBase');
INSERT IGNORE INTO appconfig (appid, configkey, configvalue) VALUES
('user_ldap', 'enabled', 'yes'),
('user_ldap', 'ldap_cache_ttl', '1'),
('user_ldap', 'ldap_display_name', 'uid'),
('user_ldap', 'ldap_email_attr', 'mail'),
('user_ldap', 'ldap_group_display_name', 'cn'),
('user_ldap', 'ldap_group_filter', 'objectClass=mailboxRelatedObject'),
('user_ldap', 'ldap_group_member_assoc_attribute', 'memberUid'),
('user_ldap', 'ldap_host', '127.0.0.1'),
('user_ldap', 'ldap_login_filter', 'uid=%uid'),
('user_ldap', 'ldap_userlist_filter', 'objectClass=sambaSamAccount'),
('user_ldap', 'ldap_uuid_attribute', 'entryuuid'),
('user_ldap', 'types', 'authentication');
UPDATE IGNORE group_user group_user SET uid='admin' where uid='owncloud';
DELETE FROM users where uid='owncloud';
EOF
END
}