mirror of
https://github.com/YunoHost-Apps/rainloop_ynh.git
synced 2024-09-03 20:16:18 +02:00
New features
- Admin password (for user 'admin') - Rainloop installed in /var/www/rainloop/app for SSO to work (temporary fix) - Autoconfig langage (thanks maniackcrudelis) - Autosetup all existing domains - No hook yet (not implemented for domains)
This commit is contained in:
parent
3755b973b4
commit
6d8d8c9c2b
8 changed files with 75 additions and 55 deletions
|
@ -7,8 +7,8 @@ Rainloop is a lightweight webmail.
|
|||
|
||||
To configure it, go to http://DOMAIN.TLD/rainloop/app/?admin
|
||||
|
||||
- The default login is : user chosen during install
|
||||
- The default password is : 12345
|
||||
- The default login is : admin
|
||||
- The default password is : Password chosen during install
|
||||
|
||||
Each user can add a remote carddav server from their own parameters interface.
|
||||
If you use baikal, the CardDav address is :
|
||||
|
@ -24,8 +24,8 @@ Rainloop est un webmail simple et léger.
|
|||
|
||||
Pour le configurer après l'installation, veuillez vous rendre sur http://DOMAIN.TLD/rainloop/app/?admin
|
||||
|
||||
- Le nom d'utilisateur admin par défaut est : utilisateur choisi lors de l'installation
|
||||
- Le mot de passe admin par défaut est : 12345
|
||||
- Le nom d'utilisateur admin par défaut est : admin
|
||||
- Le mot de passe admin par défaut est : Mot de passe choisi lors de l'installation
|
||||
|
||||
Chaque utilisateur peut ajouter un carnet d'adresse distant CardDav via leur propre paramètres.
|
||||
Si vous utilisez Baikal, l'adresse à renseigner est du type :
|
||||
|
|
9
conf/config.php
Normal file
9
conf/config.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
$_ENV['RAINLOOP_INCLUDE_AS_API'] = true;
|
||||
include '/var/www/rainloop/app/index.php';
|
||||
|
||||
$oConfig = \RainLoop\Api::Config();
|
||||
$oConfig->SetPassword('ADMINPASSWORD');
|
||||
echo $oConfig->Save() ? 'Admin password updated' : 'Admin password not updated';
|
||||
|
||||
?>
|
|
@ -17,10 +17,10 @@ allow_themes = On
|
|||
allow_user_background = Off
|
||||
|
||||
; Language used by default
|
||||
language = "en"
|
||||
language = "LANGTOCHANGE"
|
||||
|
||||
; Admin Panel interface language
|
||||
language_admin = "en"
|
||||
language_admin = "LANGTOCHANGE"
|
||||
|
||||
; Allow language selection on settings screen
|
||||
allow_languages_on_settings = On
|
||||
|
@ -147,7 +147,7 @@ view_editor_type = "Html"
|
|||
; layout: 0 - no preview, 1 - side preview, 2 - bottom preview
|
||||
view_layout = 1
|
||||
view_use_checkboxes = On
|
||||
autologout = 30
|
||||
autologout = Off
|
||||
show_images = Off
|
||||
contacts_autosave = On
|
||||
mail_use_threads = Off
|
||||
|
|
|
@ -5,6 +5,10 @@ location PATHTOCHANGE {
|
|||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
}
|
||||
|
||||
location ^~ PATHTOCHANGEapp/data {
|
||||
deny all;
|
||||
}
|
||||
|
||||
client_max_body_size 10G;
|
||||
index index.php;
|
||||
try_files $uri $uri/ index.php;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
// Enable RainLoop Api and include index file
|
||||
$_ENV['RAINLOOP_INCLUDE_AS_API'] = true;
|
||||
include '/var/www/rainloop/index.php';
|
||||
include '/var/www/rainloop/app/index.php';
|
||||
|
||||
// Retrieve email and password
|
||||
if (isset($_SERVER['HTTP_EMAIL']) && isset($_SERVER['PHP_AUTH_PW'])) {
|
||||
|
@ -11,8 +11,8 @@ if (isset($_SERVER['HTTP_EMAIL']) && isset($_SERVER['PHP_AUTH_PW'])) {
|
|||
$ssoHash = \RainLoop\Api::GetUserSsoHash($email, $password);
|
||||
|
||||
// redirect to webmail sso url
|
||||
\header('Location: https://domain.tldPATHTOCHANGE/index.php?sso&hash='.$ssoHash);
|
||||
\header('Location: https://domain.tldPATHTOCHANGE/app/index.php?sso&hash='.$ssoHash);
|
||||
}
|
||||
else {
|
||||
\header('Location: https://domain.tldPATHTOCHANGE/index.php');
|
||||
\header('Location: https://domain.tldPATHTOCHANGE/app/index.php');
|
||||
}
|
||||
|
|
|
@ -42,13 +42,12 @@
|
|||
"default": "No"
|
||||
},
|
||||
{
|
||||
"name": "admin",
|
||||
"type": "user",
|
||||
"name": "password",
|
||||
"type": "password",
|
||||
"ask": {
|
||||
"en": "Choose the Rainloop administrator (must be an existing YunoHost user)",
|
||||
"fr": "Choisissez l'administrateur Rainloop (doit être un utilisateur YunoHost déjà existant)"
|
||||
},
|
||||
"example": "homer"
|
||||
"en": "Choose a strong password for the 'admin' user",
|
||||
"fr": "Choisissez un mot de passe fort pour l'administrateur 'admin'"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ app=rainloop
|
|||
domain=$1
|
||||
path=$2
|
||||
is_public=$3
|
||||
user=$4
|
||||
password=$4
|
||||
|
||||
# Check user parameter
|
||||
sudo yunohost user list --json | grep -qi "\"username\": \"$user\"" \
|
||||
|
@ -26,8 +26,6 @@ else
|
|||
path=${path%/}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check domain/path availability
|
||||
sudo yunohost app checkurl $domain$path -a rainloop
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
|
@ -48,40 +46,51 @@ sudo yunohost app setting rainloop mysqlpwd -v $db_pwd
|
|||
|
||||
# Copy files to the right place
|
||||
final_path=/var/www/$app
|
||||
rainloop_path=${final_path}/app
|
||||
|
||||
sudo rm -rf $final_path
|
||||
sudo mkdir -p $final_path
|
||||
sudo mkdir -p $rainloop_path
|
||||
|
||||
# Use of latest community edition
|
||||
sudo wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -O $final_path/rainloop.zip
|
||||
sudo unzip $final_path/rainloop.zip -d $final_path/
|
||||
sudo rm $final_path/rainloop.zip
|
||||
sudo wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -O $rainloop_path/rainloop.zip
|
||||
sudo unzip $rainloop_path/rainloop.zip -d $rainloop_path/
|
||||
sudo rm $rainloop_path/rainloop.zip
|
||||
|
||||
# Autoconfig
|
||||
sudo mkdir -p $final_path/data/_data_/_default_/configs/
|
||||
sudo mkdir -p $rainloop_path/data/_data_/_default_/configs/
|
||||
sed -i "s@domain.tld@$domain@g" ../conf/data/configs/application.ini
|
||||
sed -i "s@ADMINUSER@$user@g" ../conf/data/configs/application.ini
|
||||
sed -i "s@ADMINPASSWORD@12345@g" ../conf/data/configs/application.ini
|
||||
sed -i "s@MYSQLUSER@db_user@g" ../conf/data/configs/application.ini
|
||||
sed -i "s@MYSQLPASSWORD@$db_pwd@g" ../conf/data/configs/application.ini
|
||||
sudo cp ../conf/data/configs/application.ini $final_path/data/_data_/_default_/configs/application.ini
|
||||
if [ $(echo $LANG | cut -c1-2) == "fr" ]
|
||||
then
|
||||
lang=fr
|
||||
else
|
||||
lang=en
|
||||
fi
|
||||
sed -i "s@LANGTOCHANGE@$lang@g" ../conf/data/configs/application.ini
|
||||
sudo cp ../conf/data/configs/application.ini $rainloop_path/data/_data_/_default_/configs/application.ini
|
||||
|
||||
# Add default domain config
|
||||
sudo mkdir -p $final_path/data/_data_/_default_/domains/
|
||||
# Set admin password
|
||||
sed -i "s@ADMINPASSWORD@$password@g" ../conf/data/config.php
|
||||
sudo php ../conf/data/config.php
|
||||
|
||||
# Add default domain configs by looping through all the domains already added
|
||||
sudo mkdir -p $rainloop_path/data/_data_/_default_/domains/
|
||||
sudo yunohost domain list | sed -e '1d' | while read -r line ; do
|
||||
domain=${line//- }
|
||||
sed -i "s@domain.tld@$domain@g" ../conf/data/domains/domain.tld.ini
|
||||
sudo cp ../conf/data/domains/domain.tld.ini $final_path/data/_data_/_default_/domains/$domain.ini
|
||||
sudo cp ../conf/data/domains/disabled $final_path/data/_data_/_default_/domains/disabled
|
||||
sudo cp ../conf/data/domains/domain.tld.ini $rainloop_path/data/_data_/_default_/domains/$domain.ini
|
||||
sed -i "s@$domain@domain.tld@g" ../conf/data/domains/domain.tld.ini
|
||||
done
|
||||
sudo cp ../conf/data/domains/disabled $rainloop_path/data/_data_/_default_/domains/disabled
|
||||
|
||||
# Hooks for domains are not implemented yet, so new domains will not be added automatically
|
||||
|
||||
# SSO
|
||||
sed -i "s@domain.tld@$domain@g" ../conf/sso.php
|
||||
sed -i "s@PATHTOCHANGE@$path@g" ../conf/sso.php
|
||||
sudo cp ../conf/sso.php $final_path/sso.php
|
||||
|
||||
# Temporary workaround until someone finds a way to setup NGINX properly...
|
||||
sudo mkdir -p $final_path/app
|
||||
sudo mv $final_path/index.php $final_path/app/index.php
|
||||
sudo mv $final_path/data $final_path/app/data
|
||||
sudo mv $final_path/rainloop $final_path/app/rainloop
|
||||
sudo sed -i "s@index.php@app/index.php@g" $final_path/sso.php
|
||||
sudo mv $final_path/sso.php $final_path/index.php
|
||||
sudo cp ../conf/sso.php $final_path/index.php
|
||||
|
||||
# Set permissions to rainloop directory
|
||||
# sudo mkdir -p $final_path/logs
|
||||
|
|
|
@ -16,14 +16,18 @@ sudo yunohost app initdb $db_user -p $db_pwd
|
|||
|
||||
# Copy files to the right place
|
||||
final_path=/var/www/$app
|
||||
#sudo rm -rf $final_path/*
|
||||
# Use of latest community edition
|
||||
sudo wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -O $final_path/rainloop.zip
|
||||
sudo unzip -ou $final_path/rainloop.zip -d $final_path/
|
||||
sudo rm $final_path/rainloop.zip
|
||||
rainloop_path=${final_path}/app
|
||||
|
||||
sudo rm -rf $final_path
|
||||
sudo mkdir -p $final_path
|
||||
sudo mkdir -p $rainloop_path
|
||||
|
||||
# Use of latest community edition
|
||||
sudo wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -O $rainloop_path/rainloop.zip
|
||||
sudo unzip $rainloop_path/rainloop.zip -d $rainloop_path/
|
||||
sudo rm $rainloop_path/rainloop.zip
|
||||
|
||||
|
||||
# Set permissions to rainloop directory
|
||||
sudo chown -R www-data:www-data /var/www/$app
|
||||
|
||||
# Modify Nginx configuration file and copy it to Nginx conf directory
|
||||
sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
|
||||
|
@ -40,15 +44,10 @@ sudo chmod 644 $finalphpconf
|
|||
# SSO
|
||||
sed -i "s@domain.tld@$domain@g" ../conf/sso.php
|
||||
sed -i "s@PATHTOCHANGE@$path@g" ../conf/sso.php
|
||||
sudo cp ../conf/sso.php $final_path/sso.php
|
||||
sudo cp ../conf/sso.php $final_path/index.php
|
||||
|
||||
# Temporary workaround until someone finds a way to setup NGINX properly...
|
||||
sudo mkdir -p $final_path/app
|
||||
sudo mv $final_path/index.php $final_path/app/index.php
|
||||
sudo mv $final_path/data $final_path/app/data
|
||||
sudo mv $final_path/rainloop $final_path/app/rainloop
|
||||
sudo sed -i "s@index.php@app/index.php@g" $final_path/sso.php
|
||||
sudo mv $final_path/sso.php $final_path/index.php
|
||||
# Set permissions to rainloop directory
|
||||
sudo chown -R www-data:www-data $final_path
|
||||
|
||||
# Make app public if necessary
|
||||
sudo yunohost app setting $app is_public -v "$is_public"
|
||||
|
|
Loading…
Reference in a new issue