2014-08-11 14:24:29 +00:00
|
|
|
# Owncloud
|
|
|
|
##########################
|
|
|
|
|
|
|
|
source setup/functions.sh # load our functions
|
|
|
|
source /etc/mailinabox.conf # load global vars
|
|
|
|
|
|
|
|
apt_install \
|
|
|
|
dbconfig-common \
|
2014-08-11 15:59:04 +00:00
|
|
|
php5-cli php5-sqlite php5-gd php5-imap php5-curl php-pear php-apc curl libapr1 libtool libcurl4-openssl-dev php-xml-parser \
|
2014-08-12 10:33:42 +00:00
|
|
|
php5 php5-dev php5-gd php5-fpm memcached php5-memcache unzip sqlite
|
2014-08-11 14:24:29 +00:00
|
|
|
|
|
|
|
apt-get purge -qq -y owncloud*
|
|
|
|
|
|
|
|
# Install ownCloud from source if it is not already present
|
|
|
|
# TODO: Check version?
|
|
|
|
if [ ! -d /usr/local/lib/owncloud ]; then
|
2014-08-11 22:10:52 +00:00
|
|
|
echo Installing ownCloud...
|
2014-08-11 14:24:29 +00:00
|
|
|
rm -f /tmp/owncloud.zip
|
|
|
|
wget -qO /tmp/owncloud.zip https://download.owncloud.org/community/owncloud-7.0.1.zip
|
2014-08-12 12:03:36 +00:00
|
|
|
unzip -q /tmp/owncloud.zip -d /usr/local/lib
|
2014-08-11 14:24:29 +00:00
|
|
|
rm -f /tmp/owncloud.zip
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Create a configuration file.
|
2014-08-12 10:01:18 +00:00
|
|
|
TIMEZONE=`cat /etc/timezone`
|
2014-08-12 13:25:38 +00:00
|
|
|
instanceid=oc$(echo $PRIMARY_HOSTNAME | sha1sum | fold -w 10 | head -n 1)
|
|
|
|
passwordsalt=$(dd if=/dev/random bs=40 count=1 2>/dev/null | sha1sum | fold -w 30 | head -n 1)
|
|
|
|
cat - > /usr/local/lib/owncloud/config/config.php <<EOF;
|
2014-08-11 15:53:01 +00:00
|
|
|
<?php
|
2014-08-11 21:01:18 +00:00
|
|
|
|
2014-08-12 10:01:18 +00:00
|
|
|
\$CONFIG = array (
|
2014-08-12 13:25:38 +00:00
|
|
|
'___installed' => true,
|
|
|
|
|
|
|
|
'version' => '7.0.1.1',
|
|
|
|
|
2014-08-11 23:15:17 +00:00
|
|
|
'datadirectory' => '$STORAGE_ROOT/owncloud',
|
2014-08-12 13:25:38 +00:00
|
|
|
'dbtype' => 'sqlite3',
|
|
|
|
|
|
|
|
'instanceid' => '$instanceid',
|
|
|
|
'passwordsalt' => '$passwordsalt',
|
|
|
|
'trusted_domains' =>
|
|
|
|
array (
|
|
|
|
0 => '$PRIMARY_HOSTNAME',
|
|
|
|
),
|
|
|
|
|
|
|
|
'overwritewebroot' => '/cloud',
|
2014-08-12 10:33:42 +00:00
|
|
|
'user_backends' => array(
|
|
|
|
array(
|
|
|
|
'class'=>'OC_User_IMAP',
|
|
|
|
'arguments'=>array('{localhost:993/imap/ssl/novalidate-cert}')
|
|
|
|
)
|
2014-08-11 23:15:17 +00:00
|
|
|
),
|
|
|
|
"memcached_servers" => array (
|
|
|
|
array('localhost', 11211),
|
|
|
|
),
|
2014-08-12 11:18:45 +00:00
|
|
|
'mail_smtpmode' => 'sendmail',
|
|
|
|
'mail_smtpsecure' => '',
|
2014-08-12 08:09:44 +00:00
|
|
|
'mail_smtpauthtype' => 'LOGIN',
|
2014-08-12 11:18:45 +00:00
|
|
|
'mail_smtpauth' => false,
|
|
|
|
'mail_smtphost' => '',
|
|
|
|
'mail_smtpport' => '',
|
|
|
|
'mail_smtpname' => '',
|
|
|
|
'mail_smtppassword' => '',
|
|
|
|
'mail_from_address' => 'owncloud',
|
|
|
|
'mail_domain' => '$PRIMARY_HOSTNAME',
|
2014-08-12 10:01:18 +00:00
|
|
|
'logtimezone' => '$TIMEZONE',
|
2014-08-11 23:15:17 +00:00
|
|
|
);
|
2014-08-11 21:01:18 +00:00
|
|
|
?>
|
2014-08-11 15:53:01 +00:00
|
|
|
EOF
|
2014-08-12 08:10:53 +00:00
|
|
|
|
2014-08-11 14:24:29 +00:00
|
|
|
# Set permissions
|
|
|
|
mkdir -p $STORAGE_ROOT/owncloud
|
|
|
|
chown -R www-data.www-data $STORAGE_ROOT/owncloud /usr/local/lib/owncloud
|
|
|
|
|
|
|
|
# Download and install the mail app
|
2014-08-12 09:02:13 +00:00
|
|
|
# TODO: enable mail app in ownCloud config, not exposed afaik?
|
2014-08-11 14:24:29 +00:00
|
|
|
if [ ! -d /usr/local/lib/owncloud/apps/mail ]; then
|
|
|
|
rm -f /tmp/owncloud_mail.zip
|
2014-08-11 22:49:26 +00:00
|
|
|
wget -qO /tmp/owncloud_mail.zip https://github.com/owncloud/mail/archive/master.zip
|
2014-08-12 13:25:38 +00:00
|
|
|
unzip -q /tmp/owncloud_mail.zip -d /usr/local/lib/owncloud/apps
|
2014-08-11 14:24:29 +00:00
|
|
|
mv /usr/local/lib/owncloud/apps/mail-master /usr/local/lib/owncloud/apps/mail
|
|
|
|
rm -f /tmp/owncloud.zip
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Currently the mail app dosnt ship with the dependencies, so we need to install them
|
2014-08-11 22:44:54 +00:00
|
|
|
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/lib/owncloud/apps/mail
|
|
|
|
php /usr/local/lib/owncloud/apps/mail/composer.phar install --working-dir=/usr/local/lib/owncloud/apps/mail
|
2014-08-12 00:04:38 +00:00
|
|
|
chmod -R 777 /usr/local/lib/owncloud/apps/mail/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer
|
2014-08-11 14:24:29 +00:00
|
|
|
|
2014-08-12 07:24:49 +00:00
|
|
|
# Use Crontab instead of AJAX/webcron in ownCloud
|
2014-08-12 08:10:53 +00:00
|
|
|
# TODO: somehow change the cron option in ownClouds config, not exposed afaik?
|
2014-08-12 12:03:36 +00:00
|
|
|
(crontab -u www-data -l; echo "*/15 * * * * php -f /usr/local/lib/owncloud/cron.php" ) | crontab -u www-data -
|
2014-08-12 07:24:49 +00:00
|
|
|
|
2014-08-12 13:25:38 +00:00
|
|
|
# Enable apps.
|
|
|
|
hide_output php /usr/local/lib/owncloud/console.php app:enable user_external
|
|
|
|
hide_output php /usr/local/lib/owncloud/console.php app:enable mail
|
|
|
|
|
2014-08-11 15:59:04 +00:00
|
|
|
php5enmod imap
|
2014-08-12 11:18:45 +00:00
|
|
|
restart_service php5-fpm
|