From a4d67be0a4b9bdbb9739a9445b821211bb935dd8 Mon Sep 17 00:00:00 2001 From: titoko titoko Date: Sun, 24 Nov 2013 11:35:48 +0100 Subject: [PATCH] Add install script + nginx.conf + manifest.json --- conf/nginx.conf | 3 +++ manifest.json | 33 +++++++++++++++++++++++++++++++++ scripts/install | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 conf/nginx.conf create mode 100644 scripts/install diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 0000000..479ec72 --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,3 @@ +location PATHTOCHANGE { +alias ALIASTOCHANGE +} diff --git a/manifest.json b/manifest.json index e69de29..98c14bb 100644 --- a/manifest.json +++ b/manifest.json @@ -0,0 +1,33 @@ +{ + "name": "Tiny-Tiny-RSS", + "id": "ttrss", + "description": { + "en": "A PHP and Ajax feed reader", + "fr": "Lecteur de flux PHP et Ajax" + }, + "developer": { + "name": "titoko", + "email": "titoko@titoko.fr", + "url": "http://dev.yunohost.org" + }, + "multi_instance": "true", + "arguments": { + "install" : [ + { + "name": "domain", + "ask": { + "en": "Choose a domain for Tiny-Tiny-RSS" + }, + "example": "domain.org" + }, + { + "name": "path", + "ask": { + "en": "Choose a path for Tiny-Tiny-RSS" + }, + "example": "/ttrss", + "default": "/ttrss" + } + ] + } +} diff --git a/scripts/install b/scripts/install new file mode 100644 index 0000000..0e0a94e --- /dev/null +++ b/scripts/install @@ -0,0 +1,48 @@ +#!/bin/bash + +# Retrieve arguments +domain=$1 +path=$2 + +# Check domain/path availability +sudo yunohost app checkurl $domain$path -a ttrss +if [[ ! $? -eq 0 ]]; then +exit 1 +fi + +# Generate random DES key & password +deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') +db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') + +# Use 'ttrss' as database name and user +db_user=ttrss + +# Initialize database and store mysql password for upgrade +sudo yunohost app initdb $db_user -p $db_pwd +sudo yunohost app setting ttrss mysqlpwd -v $db_pwd + +# Copy files to the right place + final_path=/var/www/ttrss + sudo mkdir -p $final_path + sudo cp -a ../sources/* $final_path + sudo cp ../conf/config.php $final_path/ + +# Change variables in ttrss configuration +sed -i "s/yunouser/$DB_USER/g" $final_path/config.php +sed -i "s/yunopass/$DB_PWD/g" $final_path/config.php +sed -i "s/yunobase/$DB_NAME/g" $final_path/config.php +sed -i "s,yunopath,https://${APP_DOMAIN}${APP_PATH},g" $final_path/config.php +echo "*/30 * * * * www-data cd $final_path && /usr/bin/php $final_path/update.php -feeds >/dev/null 2>&1" > /etc/cron.d/ttrss + + +# Set permissions to ttrss directory +sudo chown -R www-data: $final_path + +# Modify Nginx configuration file and copy it to Nginx conf directory +sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf +sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf +sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/ttrss.conf + +# Reload Nginx and regenerate SSOwat conf +sudo service nginx reload +sudo yunohost app ssowatconf