mirror of
https://github.com/YunoHost-Apps/pelican_ynh.git
synced 2024-09-03 19:46:35 +02:00
77 lines
2.2 KiB
Bash
77 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
#=================================================
|
|
# GENERIC START
|
|
#=================================================
|
|
# IMPORT GENERIC HELPERS
|
|
#=================================================
|
|
|
|
source _common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
#=================================================
|
|
# MANAGE SCRIPT FAILURE
|
|
#=================================================
|
|
|
|
# Exit on command errors and treat unset variables as an error
|
|
set -eu
|
|
|
|
#=================================================
|
|
# GET MULTI-INSTANCES SPECIFIC VARIABLES
|
|
#=================================================
|
|
|
|
app=$YNH_APP_INSTANCE_NAME
|
|
|
|
#=================================================
|
|
# RETRIEVE ARGUMENTS FROM THE MANIFEST
|
|
#=================================================
|
|
|
|
domain=$YNH_APP_ARG_DOMAIN
|
|
path=$YNH_APP_ARG_PATH
|
|
is_public=$YNH_APP_ARG_IS_PUBLIC
|
|
|
|
|
|
# Check domain/path availability
|
|
sudo yunohost app checkurl "${domain}${path}" -a "$app" \
|
|
|| exit 1
|
|
|
|
# Check destination directory
|
|
DESTDIR="/var/www/${app}"
|
|
[[ -d "$DESTDIR" ]] && ynh_die \
|
|
"The destination directory '${DESTDIR}' already exists.\
|
|
You should safely delete it before installing this app."
|
|
|
|
#=================================================
|
|
# STORE SETTINGS FROM MANIFEST
|
|
#=================================================
|
|
|
|
ynh_app_setting_set $app is_public $is_public
|
|
|
|
# Set SSOwat rules
|
|
[[ $is_public -eq 1 ]] \
|
|
&& ynh_app_setting_set "$app" unprotected_uris "/"
|
|
|
|
#=================================================
|
|
# INSTALL PELICAN
|
|
#=================================================
|
|
|
|
sudo apt-get install python-pip
|
|
pip install pelican markdown
|
|
|
|
# Copy and set nginx configuration
|
|
nginx_conf="/etc/nginx/conf.d/${domain}.d/${app}.conf"
|
|
sed -i "s@{PATH}@${path}@g" ../conf/nginx.conf
|
|
sed -i "s@{LOCATION}@${path:-/}@g" ../conf/nginx.conf
|
|
sed -i "s@{DESTDIR}@${DESTDIR}@g" ../conf/nginx.conf
|
|
sed -i "s@{POOLNAME}@${app}@g" ../conf/nginx.conf
|
|
sudo cp ../conf/nginx.conf "$nginx_conf"
|
|
|
|
# Copy and set php-fpm configuration
|
|
phpfpm_conf="/etc/php5/fpm/pool.d/${app}.conf"
|
|
sed -i "s@{POOLNAME}@${app}@g" ../conf/php-fpm.conf
|
|
sed -i "s@{DESTDIR}@${DESTDIR}@g" ../conf/php-fpm.conf
|
|
sudo cp ../conf/php-fpm.conf "$phpfpm_conf"
|
|
|
|
# Reload services
|
|
sudo systemctl reload php5-fpm
|
|
sudo systemctl reload nginx
|