mailinabox/setup/owncloud.sh

85 lines
2.8 KiB
Bash
Raw Normal View History

# 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 \
php5 php5-dev php5-gd php5-fpm memcached php5-memcache unzip
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...
rm -f /tmp/owncloud.zip
wget -qO /tmp/owncloud.zip https://download.owncloud.org/community/owncloud-7.0.1.zip
unzip /tmp/owncloud.zip -d /usr/local/lib
rm -f /tmp/owncloud.zip
fi
# Create a configuration file.
2014-08-12 10:01:18 +00:00
TIMEZONE=`cat /etc/timezone`
if [ ! -f "/usr/local/lib/owncloud/config/config.php" ]; then
cat - > /usr/local/lib/owncloud/config/config.php <<EOF;
2014-08-11 15:53:01 +00:00
<?php
2014-08-12 10:01:18 +00:00
\$CONFIG = array (
2014-08-11 23:15:17 +00:00
'datadirectory' => '$STORAGE_ROOT/owncloud',
array (
0 =>
array (
'class' => 'OC_User_IMAP',
'arguments' =>
array (
0 => '{localhost:993/imap/ssl/novalidate-cert}',
),
),
),
"memcached_servers" => array (
array('localhost', 11211),
),
'mail_smtpmode' => 'smtp',
2014-08-12 10:04:27 +00:00
'mail_smtpsecure' => 'tls',
2014-08-12 10:01:18 +00:00
'mail_from_address' => 'no-reply',
'mail_domain' => '$PRIMARY_HOSTNAME',
'mail_smtpauthtype' => 'LOGIN',
'mail_smtpauth' => true,
'mail_smtphost' => 'localhost',
'mail_smtpport' => '587',
'mail_smtpname' => 'no-reply@$PRIMARY_HOSTNAME',
'mail_smtppassword' => '$SECRET_PASSWORD',
2014-08-12 10:01:18 +00:00
'logtimezone' => '$TIMEZONE',
2014-08-11 23:15:17 +00:00
);
?>
2014-08-11 15:53:01 +00:00
EOF
fi
2014-08-12 08:10:53 +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?
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
unzip /tmp/owncloud_mail.zip -d /usr/local/lib/owncloud/apps
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-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 07:24:49 +00:00
(crontab -u www-user -l; echo "*/15 * * * * php -f /usr/local/lib/owncloud/cron.php" ) | crontab -u www-user -
2014-08-11 15:59:04 +00:00
php5enmod imap
2014-08-11 23:15:17 +00:00
restart_service php5-fpm