65 lines
3.3 KiB
Bash
65 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
###=============================================================###
|
|
## Rainloop installer ##
|
|
###=============================================================###
|
|
# Creates a system wide available rainloop instance #
|
|
# to enable this on a domain create a symlink to the webroot #
|
|
# Don't forget disable access to the data folder in nginx #
|
|
###=============================================================###
|
|
|
|
##-----------##
|
|
# Install #
|
|
##-----------##
|
|
mkdir -p /opt/rainloop
|
|
wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip -O /tmp/rlcl.zip
|
|
unzip -q /tmp/rlcl.zip -d /opt/rainloop
|
|
php /opt/rainloop/index.php > /dev/null 2>&1
|
|
rm -f /opt/rainloop/data/_data_/_default_/domains/*
|
|
|
|
##-------------------------##
|
|
# Fetching config files #
|
|
##-------------------------##
|
|
mkdir -p /opt/rainloop/data/_data_/_default_/domains/
|
|
mkdir -p /opt/rainloop/data/_data_/_default_/configs/
|
|
wget -q -t7 https://git.ictmaatwerk.com/VPS-scripts/Ubuntu-Mail/raw/branch/"$branch"/config/rainloop/domains-default.ini -O /opt/rainloop/data/_data_/_default_/domains/default.ini
|
|
wget -q -t7 https://git.ictmaatwerk.com/VPS-scripts/Ubuntu-Mail/raw/branch/"$branch"/config/rainloop/application.ini -O /opt/rainloop/data/_data_/_default_/configs/application.ini
|
|
|
|
##-----------------------##
|
|
# Setting permissions #
|
|
##-----------------------##
|
|
chown -R www-data:www-data /opt/rainloop
|
|
find /opt/rainloop/ -type d -exec chmod 755 {} \;
|
|
find /opt/rainloop/ -type f -exec chmod 644 {} \;
|
|
|
|
##----------------------------------------------##
|
|
# Storing version signature for auto-updates #
|
|
##----------------------------------------------##
|
|
signature=$(curl -s "https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip.asc")
|
|
echo "$signature" > /var/log/rainloop-installed.asc
|
|
|
|
##-----------------------##
|
|
# Creating Contact DB #
|
|
##-----------------------##
|
|
db_name="rainloop_contacts"
|
|
db_user="rainloop_contacts"
|
|
db_pass=$(date +%s|sha256sum|base64|head -c 32)
|
|
mysql -u root -p"$password" -e "CREATE DATABASE "$db_name" DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;"
|
|
mysql -u root -p"$password" -e "CREATE USER '"$db_user"'@'localhost' IDENTIFIED BY '"$db_pass"';"
|
|
mysql -u root -p"$password" -e "GRANT ALL ON "$db_name".* TO '"$db_user"'@'localhost';"
|
|
mysql -u root -p"$password" -e "FLUSH PRIVILEGES;"
|
|
sed -i 's/MYSQLPASS/'$db_pass'/g' /opt/rainloop/data/_data_/_default_/configs/application.ini
|
|
sed -i 's/MYSQLUSER/'$db_user'/g' /opt/rainloop/data/_data_/_default_/configs/application.ini
|
|
sed -i 's/MYSQLNAME/'$db_name'/g' /opt/rainloop/data/_data_/_default_/configs/application.ini
|
|
|
|
##----------------------------------##
|
|
# Enabling/disabling admin panel #
|
|
##----------------------------------##
|
|
echo "sed -i 's/allow_admin_panel = Off/allow_admin_panel = On/g' /opt/rainloop/data/_data_/_default_/configs/application.ini" > ~/Enable-RLadmin.sh
|
|
echo "sed -i 's/allow_admin_panel = On/allow_admin_panel = Off/g' /opt/rainloop/data/_data_/_default_/configs/application.ini" > ~/Disable-RLadmin.sh
|
|
|
|
##---------------------------##
|
|
# Downloading Update tool #
|
|
##---------------------------##
|
|
wget -q -t7 https://git.ictmaatwerk.com/VPS-scripts/Ubuntu-Mail/raw/branch/"$branch"/config/rainloop/update-tools.sh -O /opt/update-rainloop.sh
|
|
chmod +x /opt/update-rainloop.sh |