From dae2e10a881cab46728349db1c200fa733f7c213 Mon Sep 17 00:00:00 2001 From: drfred1981 Date: Tue, 22 Jul 2014 21:54:44 +0200 Subject: [PATCH] first commit --- conf/nginx.conf | 7 +++++++ manifest.json | 40 ++++++++++++++++++++++++++++++++++++++++ scripts/install | 44 ++++++++++++++++++++++++++++++++++++++++++++ scripts/remove | 6 ++++++ scripts/upgrade | 5 +++++ 5 files changed, 102 insertions(+) create mode 100644 conf/nginx.conf create mode 100644 manifest.json create mode 100644 scripts/install create mode 100644 scripts/remove create mode 100644 scripts/upgrade diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 0000000..416af6f --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,7 @@ +location PATHTOCHANGE { + proxy_pass http://127.0.0.1:10000; + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; + more_clear_input_headers 'Accept-Encoding'; +} \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..d771e92 --- /dev/null +++ b/manifest.json @@ -0,0 +1,40 @@ +{ + "name": "Webmin", + "id": "webmin", + "description": { + "en": "Webmin", + "fr": "Webmin" + }, + "developer": { + "name": "", + "email": "", + "url": "http://www.webmin.com" + }, + "multi_instance": "false", + "arguments": { + "install" : [ + { + "name": "domain", + "ask": { + "en": "Choose a domain for Webmin" + }, + "example": "domain.org" + }, + { + "name": "path", + "ask": { + "en": "Choose a path for Webmin" + }, + "example": "/webmin", + "default": "/webmin" + }, + { + "name": "admin", + "ask": { + "en": "Choose the Webmin administrator (must be an existing YunoHost user)" + }, + "example": "homer" + } + ] + } +} \ No newline at end of file diff --git a/scripts/install b/scripts/install new file mode 100644 index 0000000..63400a9 --- /dev/null +++ b/scripts/install @@ -0,0 +1,44 @@ +#!/bin/bash + +# Retrieve arguments +domain=$1 +path=$2 +user=$3 + +# Remove trailing "/" for next commands +path=${path%/} + +# Check user parameter +sudo yunohost user list --json | grep -q "\"username\": \"$user\"" +if [[ ! $? -eq 0 ]]; then + echo "Wrong user" + exit 1 +fi +sudo yunohost app setting webmin admin_user -v $user + +# Check domain/path availability +sudo yunohost app checkurl $domain$path -a webmin +if [[ ! $? -eq 0 ]]; then + exit 1 +fi +sudo sh -c "echo 'deb http://download.webmin.com/download/repository sarge contrib' > s" +sudo sh -c "echo 'deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib' >> /etc/apt/sources.list.d/webmin.conf" + +cd /root +sudo wget http://www.webmin.com/jcameron-key.asc +sudo apt-key add jcameron-key.asc + +sudo apt-get update +sudo apt-get install webmin + +sudo addgroup tifred root + + + +sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf +sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/webmin.conf + + +# Reload Nginx and regenerate SSOwat conf +sudo service nginx reload +sudo yunohost app ssowatconf diff --git a/scripts/remove b/scripts/remove new file mode 100644 index 0000000..c69c9c8 --- /dev/null +++ b/scripts/remove @@ -0,0 +1,6 @@ +#!/bin/bash + +sudo delgroup tifred root +sudo apt-get remove --purge webmin +sudo rm -r /etc/apt/sources.list.d/webmin.conf + diff --git a/scripts/upgrade b/scripts/upgrade new file mode 100644 index 0000000..7ea9f44 --- /dev/null +++ b/scripts/upgrade @@ -0,0 +1,5 @@ +#!/bin/bash + +sudo service nginx reload +sudo yunohost app ssowatconf +